您正在通过 CloudFormation 模板部署一个 Auto Scaling 组。启动模板运行一个用户数据脚本,该脚本在完成后调用 cfn-signal,但 CloudFormation 未能创建 Auto Scaling 组,因为等待条件未收到所需的信号。您应该如何修复此故障?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在实例初始化完成后,在用户数据脚本的末尾调用 cfn-signal。.
为什么这是答案
当 CloudFormation 模板使用等待条件 (WaitCondition) 或等待条件句柄 (WaitConditionHandle) 来等待来自实例的信号时,必须确保 cfn-signal 命令在实例上的所有必要配置和初始化完成后才被调用。如果 cfn-signal 过早调用,或者根本没有调用,CloudFormation 就会因为没有收到信号而超时失败。因此,将 cfn-signal 放在用户数据脚本的末尾,确保实例已准备就绪,是解决此问题的正确方法。更改安全组以允许端口 443 出站流量通常不是等待条件失败的原因,因为 cfn-signal 通过 HTTPS 与 CloudFormation 通信,如果完全没有出站连接,则根本无法通信,而不仅仅是信号未收到。降低 DesiredCapacity 不会解决信号未收到的问题。将 AssociatePublicIpAddress 设置为 True 仅影响实例是否获得公共 IP 地址,与 cfn-signal 的通信无关。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡