【问题标题】:Set cfn deletion policy for RDS instance using AWS CDK使用 AWS CDK 为 RDS 实例设置 cfn 删除策略
【发布时间】:2020-05-08 03:24:52
【问题描述】:

我有一个包含 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-services aws-cdk


【解决方案1】:

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

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

【讨论】:

  • 谢谢。如果它是使用 fromDatabaseInstanceAttributes 设置的呢?是 (this.database.node.defaultChild as rds.CfnDBInstance).applyRemovalPolicy(cdk.RemovalPolicy.RETAIN);这样做的唯一方法
  • 我猜是这样,我看不到任何 API 来更改现有实例的属性,但是默认值已经是 RemovalPolicy=Retain 和 DeletionProtection=true。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-01
  • 2020-12-16
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
相关资源
最近更新 更多