rds-export-to-s3
binbashar/rds-export-to-s3/aws
Terraform module that deploys Lambda functions to trigger exports of RDS snapshots to S3
Terraform Module: RDS Snapshots Export To S3 Brief Terraform module that deploys Lambda functions that take care of triggering and monitoring exports of RDS snapshots to S3. Design A Lambda function takes care of triggering the RDS Start Export Task for the given database name. The snapshots will be exported to the given S3 bucket. Another Lambda function is only interested in RDS Export Task events that match a given database name. Whenever a match is detected, a message will be published in the given SNS topic which you can use to trigger other components. E.g. a Lambda function that sends notifications to Slack. A single CloudWatch Event Rule takes care of listening for RDS Snapshots Events in order to call the aforementioned Lambda functions. Important considerations Please note, that
| Name | Type | Description | Default |
|---|---|---|---|
| python_runtime_version | string | Runtime Version of Python to use. | "3.8" |
| prefix | string | Prefix that will be used for naming resources. '<prefix>resouce-name'. | null |
| database_names | string | The names of the databases whose snapshots we want to export to S3. Comma-separa | null |
| snapshots_bucket_name | string | The name of the bucket where the RDS snapshots will be exported to. | null |
| customer_kms_key_arn | string | The ARN of customer managed key used for RDS export encryption. Mandatory if 'cr | null |
| notifications_topic_arn | string | The ARN of an SNS Topic which will be used for publishing notifications messages | null |
| tags | map(string) | (Optional) A mapping of tags to assign to the bucket. | {} |
| rds_event_ids | string | RDS (CloudWatch) Event ID that will trigger the calling of RDS Start Export Task | "RDS-EVENT-0091, RDS-EVENT-0169" |
| log_level | string | The log level of the Lambda function. | "INFO" |
| postfix | string | Postfix that will be used for naming resources. 'resouce-name-<postfix>'. | null |
| snapshots_bucket_prefix | string | The Amazon S3 bucket prefix to use as the file name and path of the exported sna | null |
| create_customer_kms_key | bool | Create customer managed KMS key which is used for encrypting the exported snapsh | false |
| create_notifications_topic | bool | Create new SNS notifications topic which will be used for publishing notificatio | true |
snapshots_events_sns_topics_arn — RDS Snapshots Events SNS Topics ARNsnapshots_events_export_monitor_sns_topics_arn — RDS Snapshots Export Monitor Events SNS Topics ARNstart_export_task_lambda_function_arn — Start Export Task Lambda Function ARNstart_export_task_lambda_role_arn — Start Export Task Lambda Role ARNmonitor_export_task_lambda_function_arn — Start Export Task Monitor Lambda Function ARNmonitor_export_task_lambda_role_arn — Start Export Task Monitor Lambda Role ARNsnapshots_export_encryption_key_arn — Snapshots Export Encryption Key ARNAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,