CDK construct to create AWS Backup Plans
Project description
CDK Backup Plan
Provides an easy to use reusable CDK construct to create Backup Plans using AWS Backups. It allows to indicate how frequently and what resources to backup.
NOTE: More details on all the available arguments can be found here
Install
NPM install:
npm install cdk-backup-plan
PyPi install:
pip install cdk-backup-plan
Usage
// ...
import { Backup } from "cdk-backup-plan";
// ...
const vpc = new ec2.Vpc(stack, "TestVPC");
const engine = rds.DatabaseInstanceEngine.postgres({
version: rds.PostgresEngineVersion.VER_12_3,
});
// create rds DB
const db = new rds.DatabaseInstance(stack, "TestInstance", {
engine,
vpc,
credentials: rds.Credentials.fromGeneratedSecret("postgres"),
});
// create a backup plan for `db`
new Backup(stack, "TestBk", {
backupPlanName: "TestPkPlan",
backupRateHour: 3, // backup every 3 hours
backupCompletionWindow: cdk.Duration.hours(2), // backup should take up to 2 hours
resources: [bk.BackupResource.fromRdsDatabaseInstance(db)],
});
// ...
Python usage:
# ...
from cdk_backup_plan import Backup
# ...
vpc = ec2.Vpc(self, "TestVPC")
engine = rds.DatabaseInstanceEngine.postgres(
version=rds.PostgresEngineVersion.VER_12_3,
)
db = rds.DatabaseInstance(self, "TestInstance",
engine=engine,
vpc=vpc,
credentials=rds.Credentials.from_generated_secret("postgres"),
)
Backup(self, "TestBk",
backup_plan_name="TestPkPlan",
backup_rate_hour=3,
backup_completion_window=Duration.hours(2),
resources=[bk.BackupResource.from_rds_database_instance(db)],
)
# ...
NOTE: Tagging and/or ARN can be used to reference resources not directly available in the static methods section.