【问题标题】:S3 bucket is not removed by CDK destroyCDK 销毁不会删除 S3 存储桶
【发布时间】:2022-02-02 21:03:12
【问题描述】:

例如,我的 CDK 项目有 S3 存储桶、IAM 角色和 Lambda 函数。

$ cdk bootstrap
$ cdk deploy 

这将创建一个 S3 存储桶、IAM 角色和 Lambda 函数。

$ cdk destroy

它删除了 IAM 角色和 Lambda 函数,但保留了 S3 存储桶。

当然,S3 存储桶是空的。

这是正确的行为吗?如果是,除了 S3 存储桶之外,还会保留哪些资源?

【问题讨论】:

标签: amazon-web-services aws-cdk


【解决方案1】:

存储桶因其 RetentionPolicy 而被保留。来自RetentionPolicy 上的 CDK 文档:

移除策略控制资源在停止时会发生什么 由 CloudFormation 管理。

Name Description
DESTROY This is the default removal policy.
RETAIN This uses the 'Retain' DeletionPolicy, which will cause the resource to be retained in the account, but orphaned from the stack.
SNAPSHOT This retention policy deletes the resource, but saves a snapshot of its data before deleting, so that it can be re-created later.

关于您将保留哪些资源的问题:

AWS Construct 库中的许多有状态资源将接受removingPolicy 作为属性,通常将其默认为RETAIN。

通常,这包括 S3 存储桶、数据库资源等资源。

来自S3 Buckets 的 AWS CDK 文档:

removalPolicy?

类型:RemovalPolicy(可选,默认:桶将被孤立。)

overview page 也有更多详细信息。

【讨论】:

  • 非常感谢您的解释!我为我的S3 bucket 设置了RemovalPolicy.DESTROYcdk destroy删除桶!!
猜你喜欢
  • 2012-05-16
  • 1970-01-01
  • 2021-02-04
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 2021-10-01
  • 2017-11-16
相关资源
最近更新 更多