CloudFormation错误:WaitCondition超时。期待1时收到0条件

时间:2014-02-12 07:30:49

标签: amazon-web-services amazon-cloudformation

我花了很多时间来弄清楚为什么我的CloudFormation模板使用WaitCondition失败了。模板错误输出:WaitCondition timed out. Received 0 conditions when expecting 1。请注意,我确实确保我的AMI在我的AMI中具有cfn-signal命令预安装。

我附上了我的模板截图:

enter image description here

我用Google搜索,发现有些人遇到了同样的问题:http://virtuallyhyper.com/2013/02/cloudformation-waitcondition-timed-out-error/。但是,就我而言,cfn-signal命令确实存在。所以直到现在我仍然不知道如何解决这个问题。

由于

4 个答案:

答案 0 :(得分:4)

好的,问题是因为你正在使用自动缩放启动配置。等待信号仅在创建实例时才真正起作用。否则,云形成会创建扩展组,并且正在等待仅在扩展组决定需要扩展一个或多个实例后创建的实例。不幸的是,由于扩展组的其余部分正在等待信号发送(通过具体实例),因此扩展组永远不会注册,因此永远不会创建实例。一种僵局 - 或者在列表中 - 一段非常长的时间迫使超时。

  • 在发出等待信号之前,Cloud Formation不会完成扩展组的注册
  • 只有在注册扩展组并创建实例后,才会发出等待信号。

如果删除启动配置,并让它创建一个具体实例 - 那么您的等待条件将发出信号。

答案 1 :(得分:1)

实例是否在EC2上启动了?如果是,您的实例是否可以到达运行云形成的节点?我遇到了这些问题并发现由于我在防火墙后面,AWS实例无法到达我的节点,节点超时等待实例连接回来。

答案 2 :(得分:0)

您不应在UserData脚本中使用sudo。 They are run as root

我有几个想法:

在我看到的所有示例中,在我自己的模板中,我使用cfn-init的完整路径:

  • / opt / aws / bin / cfn-init
  • 的/ opt / AWS / bin中/ CFN信号

您是否尝试过不使用“-c install”的cfn-init命令?

答案 3 :(得分:0)

我遇到了同样的问题并尝试了上述所有内容。我将等待超时更改为3000并且成功。