AmazonAmazon DevOps Engineer Professional DOP-C02 Certification
·CN
·更新于 4 Aug 2026
一个静态网站托管在 S3 存储桶中,并通过 CloudFormation 部署。该模板创建 S3 存储桶和一个自定义资源,该自定义资源将网站内容从源复制到存储桶中。团队需要删除并重新创建堆栈以移动网站,但 CloudFormation 未能干净地删除堆栈。最可能的原因是什么?工程师应如何防止当前和未来版本的网站出现这种情况?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 删除失败,因为 S3 存储桶不为空。更新支持自定义资源的 Lambda,使其在 RequestType 为 Delete 时递归清空存储桶。.
为什么这是答案
当 CloudFormation 删除堆栈时,如果 S3 存储桶包含对象,则默认情况下无法删除该存储桶。本例中,自定义资源将网站内容复制到 S3 存储桶,导致存储桶不为空。因此,删除堆栈时会失败。正确的解决方案是修改支持自定义资源的 Lambda 函数,使其在接收到删除请求(RequestType 为 Delete)时,先递归清空 S3 存储桶中的所有内容,然后再允许 CloudFormation 删除存储桶。
其他选项错误的原因:
S3 存储桶的网站配置不会阻止存储桶删除。
自定义资源通常不需要 DeletionPolicy 属性来删除自身,因为其生命周期由 CloudFormation 管理。
为 S3 存储桶添加 Empty 的 DeletionPolicy 属性是不存在的,CloudFormation 中没有这样的策略来自动清空存储桶。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 →
无需银行卡