使用 AWS CDK 为 RDS 实例设置 cfn 删除策略
Set cfn deletion policy for RDS instance using AWS CDK
我有一个包含 RDS 实例的 CDK 堆栈。我想确保数据库实例永远不会被删除。我不知道如何通过 CDK 设置删除策略。
看来我可以这样设置删除保护:
this.database = new rds.DatabaseInstanceFromSnapshot(this, 'backendAPIDatabase', {
snapshotIdentifier: this.props.snapshotIdentifier,
instanceIdentifier: this.props.environmentName,
engine: rds.DatabaseInstanceEngine.POSTGRES,
instanceClass: this.props.databaseInstanceSize,
vpc: this.vpc,
multiAz: this.props.databaseMultiAz,
enablePerformanceInsights: true,
parameterGroup,
allocatedStorage: this.props.allocatedDatabaseStorage
});
(this.database.node.defaultChild as rds.CfnDBInstance).deletionProtection = true;
但我不知道如何应用删除策略作为第二个备份。
您可以使用 removalPolicy 属性 进行设置。您还应该通过构造函数设置删除保护,如下所示。
this.database = new rds.DatabaseInstanceFromSnapshot(this, 'backendAPIDatabase', {
...,
deletionProtection: true,
removalPolicy: cdk.RemovalPolicy.RETAIN
});
我有一个包含 RDS 实例的 CDK 堆栈。我想确保数据库实例永远不会被删除。我不知道如何通过 CDK 设置删除策略。
看来我可以这样设置删除保护:
this.database = new rds.DatabaseInstanceFromSnapshot(this, 'backendAPIDatabase', {
snapshotIdentifier: this.props.snapshotIdentifier,
instanceIdentifier: this.props.environmentName,
engine: rds.DatabaseInstanceEngine.POSTGRES,
instanceClass: this.props.databaseInstanceSize,
vpc: this.vpc,
multiAz: this.props.databaseMultiAz,
enablePerformanceInsights: true,
parameterGroup,
allocatedStorage: this.props.allocatedDatabaseStorage
});
(this.database.node.defaultChild as rds.CfnDBInstance).deletionProtection = true;
但我不知道如何应用删除策略作为第二个备份。
您可以使用 removalPolicy 属性 进行设置。您还应该通过构造函数设置删除保护,如下所示。
this.database = new rds.DatabaseInstanceFromSnapshot(this, 'backendAPIDatabase', {
...,
deletionProtection: true,
removalPolicy: cdk.RemovalPolicy.RETAIN
});