2014-02-12 84 views
0

我花了很多時間來找出爲什麼我的CloudFormation模板使用WaitCondition失敗。模板出錯:WaitCondition timed out. Received 0 conditions when expecting 1。請注意,我的確確保我的AMI在我的AMI中具有cfn-signal命令預安裝。CloudFormation錯誤:WaitCondition超時。收到0條件時期待1

我重視以下我的模板的截圖:

enter image description here

我用Google搜索,發現了一些人有這樣同一個問題:http://virtuallyhyper.com/2013/02/cloudformation-waitcondition-timed-out-error/。但是,就我而言,cfn-signal命令確實存在。所以直到現在我仍然不知道如何解決這個問題。

謝謝

+0

請注意,即使我使用:sudo cfn-signal也會失敗。 –

+0

不是「爲什麼會發生錯誤」的真正組成部分,但是您在這種等待條件下試圖達到什麼目的? –

回答

3

好的,問題是因爲您正在使用自動縮放啓動配置。等待信號只有在創建真實實例時纔有效。否則,雲形成會創建伸縮組,並且正在等待只在縮放組決定需要放大一個或多個實例之後創建的實例。不幸的是,因爲縮放組的其他部分正在等待信號發送(具體實例),所以縮放組從不註冊,因此從不創建實例。一種僵局 - 或者在列表中 - 很長一段時間迫使超時。

  • 雲的形成將縮放組無法完成註冊,直到等待發出信號
  • 等待只會縮放組登記後信號,並創建一個實例。

如果刪除啓動配置,並將它創建一個具體的實例 - 那麼你的等待狀態會發出信號。

+0

這看起來對我來說是正確的答案。我不知道@Nan Nguyen在這裏試圖達到什麼樣的用例。讓CFN等待ASG中的實例是沒有意義的。 –

1

實例是否在EC2上啓動?如果是的話,您的實例能否到達正在運行雲陣列的節點?我遇到了這些問題,發現由於我在防火牆後面,AWS實例無法訪問我的節點,並且節點超時等待實例重新連接。

+0

嗨@johhny,我不認爲在這種情況下防火牆是問題。 –

0

你不應該在UserData腳本中使用sudo。 They are run as root

我有一對夫婦的想法:

在所有的例子我見過,在我自己的模板,我用的完整路徑CFN-INIT:

  • 的/ opt/AWS /斌/ CFN-INIT
  • 的/ opt/AWS /斌/ CFN信號

您是否嘗試過使用CFN-init命令沒有 「-C安裝」?

+0

謝謝@Edwin,我會試試這些。 –

+0

我嘗試了所有建議:'cfn-init'&'cfn-signal'的絕對路徑,取出'sudo',取出'-c install',但仍然不起作用。你有任何其他想法導致錯誤?謝謝 –

+0

它看起來像你所能做的就是檢查日誌。 SSH模板回滾之前的實例,並檢查/var/log/cfn-init.log – Edwin

0

我遇到了同樣的問題,並嘗試了上述所有內容。我將等待超時更改爲3000,並且成功。

相關問題