AmazonAmazon DevOps Engineer Professional DOP-C02 Certification
·CN
·更新于 4 Aug 2026
CloudFormation 模板创建了一个 EC2 实例(包含用于安装应用程序的用户数据)和一个 S3 存储桶,该存储桶由应用程序用于提供静态页面。当堆栈删除时,所有资源都必须被移除,但由于 S3 存储桶未被移除,堆栈删除失败。确保所有堆栈资源都能无错误删除的最有效方法是什么?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 添加一个由 AWS Lambda 函数(带 IAM 角色)支持的自定义资源,该资源依赖于 S3 存储桶。让 Lambda 处理程序在 RequestType 为 Delete 时删除存储桶中的所有对象。.
为什么这是答案
当 S3 存储桶包含对象时,CloudFormation 无法删除它,导致堆栈删除失败。手动清空和删除存储桶虽然可行,但不是自动化且最有效的方法。将 DeletionPolicy 设置为 Delete 不会解决问题,因为只有空桶才能被删除。OpsWorks Stacks 过于复杂,且不能直接解决 S3 桶非空的问题。
最有效的方法是使用自定义资源。自定义资源允许您在 CloudFormation 堆栈生命周期事件(如删除)期间调用 Lambda 函数。在 Lambda 函数中,您可以编写代码来遍历 S3 存储桶中的所有对象并将其删除,从而确保存储桶为空,然后 CloudFormation 就可以成功删除该存储桶。这种方法实现了自动化,并且是 CloudFormation 原生的解决方案。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 →
无需银行卡