Skip to content

richardyzhang/cdk-backup-plan

 
 

Repository files navigation

CDK Backup Plan

Build Release

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.0%
  • JavaScript 9.0%