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
NPM install:
npm install cdk-backup-plan
PyPi install:
pip install cdk-backup-plan
// ...
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.