我正在尝试使用云形成(AWS)中的cfn-hup
服务更新EC2实例上的源代码。
当我使用内部版本号更新带有新源代码的堆栈时,源代码会在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 :(得分:1)
错误说明Action for cfn-auto-reloader-hook exited with 1
。这意味着action
中指定的cfn-auto-reloader-hook
已执行,但返回错误代码1
,表示失败状态。好消息是其他所有内容都已正确设置(cfn-hup
脚本已安装并正在运行,它正确检测到元数据更改,并找到了cfn-auto-reloader
挂钩。
查看此action=
条目中的cfn-hup
行。典型的钩子看起来像这样:
[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中,此钩子由{{{ 3}} files
元数据资源的一部分,由AWS::CloudFormation::Init帮助程序脚本使用。尝试在本地shell中手动执行该行。如果失败,请使用相关的输出或错误日志继续调试。更改命令,cfn-hup应在下次运行时成功。
答案 1 :(得分:0)
这意味着您的某个cfn-init项目失败。如果它第一次运行,那么你可能有一个命令部分项需要"测试"确定是否需要运行的子句。