首页 > 解决方案 > 使用 AWS CDK 为 RDS 实例设置 cfn 删除策略

问题描述

我有一个包含 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;

但我不知道如何应用删除策略作为第二次备份。

标签: amazon-web-servicesaws-cdk

解决方案


您可以使用removingPolicy 属性来设置它。您还应该通过构造函数设置删除保护,如下所示。

this.database = new rds.DatabaseInstanceFromSnapshot(this, 'backendAPIDatabase', {
    ...,
    deletionProtection: true,
    removalPolicy: cdk.RemovalPolicy.RETAIN
});

推荐阅读