amazon-web-services - CDK 销毁不会删除 S3 存储桶

标签 amazon-web-services aws-cdk

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

$ cdk bootstrap
$ cdk deploy 

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

$ cdk destroy

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

当然,S3 桶是空的。

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

最佳答案

由于其 RetentionPolicy,存储桶被保留。来自 RetentionPolicy 上的 CDK 文档:

The removal policy controls what happens to the resource if it stops being managed by CloudFormation.

<表类="s-表"> <头> 姓名 描述 <正文> 销毁 这是默认的删除策略。 保留 这使用“保留”删除策略,这将导致资源保留在帐户中,但从堆栈中孤立出来。 快照 此保留策略会删除资源,但会在删除前保存其数据的快照,以便稍后重新创建。

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

Many stateful resources in the AWS Construct Library will accept a removalPolicy as a property, typically defaulting it to RETAIN.

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

来自 S3 Buckets 的 AWS CDK 文档:

removalPolicy?

Type: RemovalPolicy (optional, default: The bucket will be orphaned.)

overview page也有更多详细信息。

关于amazon-web-services - CDK 销毁不会删除 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70730645/

相关文章:

aws-cloudformation - CDK构造: passing values to constructors vs using the context values

amazon-web-services - 如何将配置传递到 AWS-CDK 堆栈中使用的 Web 应用程序

linux - 在不同平台的Amazon ec2中预留实例

amazon-web-services - AWS 免费套餐提醒

reactjs - 是否可以在 React 应用程序中单独使用 Amplify Auth?

amazon-web-services - 将 Elastic Beanstalk 配置更改为 Docker

c# - 如何在 AWS CDK PolicyStatement AddAction 方法中嵌套键值对?

amazon-web-services - 自定义授权方 AWS CDK

amazon-ecs - 如何在每次部署时不使用 TypeScript 中的 aws-cdk 重建 DockerImageAsset?

amazon-web-services - 在哪里添加 Route 53 子域的 NS 记录?