2016-03-05 26 views
0

我正嘗試使用雲形成(AWS)中的cfn-hup服務更新EC2實例上的源代碼。無法在aws中使用cfn-hup更新源代碼

當我用新的源代碼使用內部版本號更新堆棧時,源代碼在EC2處發生更改。

cfn-hup服務運行良好,所有配置都正常。

以下是日誌cfn-hup

2016-03-05 08:48:19,912 [INFO] Data has changed from previous state; action for cfn-auto-reloader-hook will be run 
2016-03-05 08:48:19,912 [INFO] Running action for cfn-auto-reloader-hook 
2016-03-05 08:48:20,191 [WARNING] Action for cfn-auto-reloader-hook exited with 1; will retry on next iteration 

任何人都可以幫我解決這個問題。

回答

0

這意味着你的一個cfn-init項目失敗。如果它第一次工作,很可能你有一個命令部分項目需要一個「測試」子句來確定它是否需要運行。

0

錯誤狀態Action for cfn-auto-reloader-hook exited with 1。這意味着您的cfn-auto-reloader-hook中指定的action已執行,但返回了指示故障狀態的錯誤代碼1。好消息是其他設置都正確(cfn-hup腳本已安裝並正在運行,它正確檢測到元數據更改,並且它找到了掛接點cfn-auto-reloader)。

看看您的cfn-hup條目中的action=行。一個典型的鉤子將是這個樣子:

[cfn-auto-reloader-hook] 
triggers=post.update 
path=Resources.WebServerInstance.Metadata.AWS::CloudFormation::Init 
action=some_shell_command_here 
runas=root 

要查找掛鉤,在實例上運行cat /etc/cfn/hooks.d/cfn-auto-reloader.conf,或追溯到當這些文件的內容在你的CloudFormation模板(如定義,在example LAMP stack,這個鉤子是由cfn-init助手腳本使用的AWS::CloudFormation::Init元數據資源的files部分創建)。嘗試在本地shell中手動執行該行。如果失敗,請使用相關輸出或錯誤日誌繼續調試。改變命令並且cfn-hup在下次運行時應該成功。

相關問題