This repo packages together a suite of utilities for AWS Lambda functions running on the Node.js runtime, to ease adopting best practices such as tracing, structured logging, custom metrics.'
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 { Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
import { ToolsLayer } from 'vaughntech-nodejs-powertools-lambdalayer';
// ...
const hello_world_lambda = new NodejsFunction(this, 'helloworldLambda', {
description: `Hello World Lambda`,
label: 'HelloFnc',
runtime: Runtime.NODEJS_16_X,
memorySize = 128,
timeout: Duration.seconds(10),
logRetention = 30,
tracing: Tracing.ACTIVE,
entry: path.join(__dirname, '../../src/lambda/hello/index.ts'),
functionProps: {
timeout: 5,
layers: [
toolsLayer,
]
});
// ...
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.