Q82 — AWS SOA-C02 第1章

第 82/100 题 | ← 返回第1章

一家公司创建了一个AWS CloudFormation模板,其中包含AWS::EC2::Instance资源和一个自定义CloudFormation资源。该自定义CloudFormation资源是一个AWS Lambda函数,尝试在Amazon EC2实例上运行自动化任务。在测试过程中,Lambda函数失败,原因是Lambda函数在EC2实例启动完成前即开始执行。 以下哪项解决方案可解决此问题?

正确答案: A. 为自定义资源添加DependsOn属性,并在DependsOn属性中指定EC2实例。

解析

AWS CloudFormation模板中资源的创建默认并行执行,若需确保特定顺序,需利用依赖关系。根据AWS官方文档,`DependsOn`属性可显式指定资源间的依赖,确保目标资源在依赖项创建完成后再执行。题目中自定义资源(Lambda)需在EC2实例启动后运行,添加`DependsOn`属性至自定义资源并指向EC2实例可解决时序问题。选项B涉及服务令牌配置,与资源启动顺序无关;选项C的`cfn-response`模块用于自定义资源响应处理,不直接影响依赖顺序;选项D的`Fn::If`适用于条件判断,无法确保资源创建顺序。选项A直接符合AWS推荐依赖管理方式。