无法在aws中使用cfn-hup更新源代码

时间:2016-03-05 08:55:16

标签: amazon-web-services amazon-ec2 amazon-cloudformation

我正在尝试使用云形成(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

任何人都可以帮助我。

2 个答案:

答案 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项目失败。如果它第一次运行,那么你可能有一个命令部分项需要"测试"确定是否需要运行的子句。