2016-03-05 58 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在下次运行时应该成功。