cdk-rds-dump is a Constructs library for AWS CDK that provides the functionality to dump the contents of Amazon RDS, generate it as an SQL file, and store it in Amazon S3.
Install from npm:
npm i cdk-rds-dump
Then write CDK code as below:
import { RdsDump, DbEngine } from 'cdk-rds-dump';
declare const rdsCluster: rds.DatabaseCluster;
new RdsDump(this, "RdsDump", {
dbEngine: DbEngine.MYSQL,
rdsCluster: cluster,
databaseName: "testDatabase",
schedule: events.Schedule.cron({ minute: "0", hour: "0" }),
lambdaEnv: {
ENV_VAR: "value",
},
createSecretsManagerVPCEndpoint: true,
createS3GatewayEndpoint: true,
// DB secret is obtained from rdsCluster.secret as default.
// If you want to use a different secret, you can specify it as follows.
// secretId: 'secretsmanager-secret-id',
});
This code creates a new RDS cluster and uses the RdsDump Construct to dump the data from that RDS cluster. The dumped data is generated as an SQL file and stored in Amazon S3.
For detailed usage and details of the parameters, refer to the API documentation.
AWS RDS is a very useful managed RDB service and includes, by default, the ability to create snapshots. However, in some cases, such as for development reasons, it is easier to handle SQL files dumped from the DB. Therefore, cdk-rds-dump was created as a construct to easily create SQL files on a regular basis.
Contributions to the project are welcome. Submit improvement proposals via pull requests or propose new features.
This project is licensed under the Apache-2.0 License.