UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

43 lines (36 loc) 1.28 kB
import * as ec2 from '../../aws-ec2'; import * as cdk from '../../core'; import * as rds from '../lib'; const app = new cdk.App(); const stack = new cdk.Stack(app, 'aws-cdk-rds-cluster-rotation'); const vpc = new ec2.Vpc(stack, 'VPC'); const securityGroup = new ec2.SecurityGroup(stack, 'SecurityGroup', { vpc }); const endpoint = new ec2.InterfaceVpcEndpoint(stack, 'Endpoint', { vpc, service: ec2.InterfaceVpcEndpointAwsService.SECRETS_MANAGER, }); /// !show const cluster = new rds.DatabaseCluster(stack, 'Database', { engine: rds.DatabaseClusterEngine.AURORA, instanceProps: { instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), vpc, }, }); cluster.addRotationSingleUser(); const clusterWithCustomRotationOptions = new rds.DatabaseCluster(stack, 'CustomRotationOptions', { engine: rds.DatabaseClusterEngine.AURORA, instanceProps: { instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), vpc, }, }); clusterWithCustomRotationOptions.addRotationSingleUser({ automaticallyAfter: cdk.Duration.days(7), excludeCharacters: '!@#$%^&*', securityGroup, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, endpoint: endpoint, }); /// !hide app.synth();