AWS :: CloudFormation :: Init yum更新失败

时间:2015-01-06 13:28:29

标签: amazon-web-services amazon-cloudformation

有一点问题,所以我的json文件的一部分我想运行一个命令来更新以下命令所有的包:

        "commands" : {
          "update_yum_packages" : {
            "command" : "sudo yum update -y"
          }
        },

现在,如果我从我的json文件中删除它,堆栈将创建没有问题,但是当我添加命令时,我从 AWS :: CloudFormation :: WaitCondition 中收到错误。我已将超时设置为 1200 这里有明显错误吗?

一旦我ssh到新实例,我就可以运行命令了。

2 个答案:

答案 0 :(得分:2)

您可以查看/var/log/cloud-init-output.log中的日志文件。

你会看到它抱怨没有tty运行sudo命令:

cloud-init-output.log:sudo: sorry, you must have a tty to run sudo

用户数据以root身份运行,您不需要使用“sudo”。使用sudo会失败,并使cloud-init进程失败。

所以只需使用:

    "commands" : {
      "update_yum_packages" : {
        "command" : "yum update -y"
      }
    },

答案 1 :(得分:0)

这个yaml应该做同样的事情而不必直接调用sudo

#cloud-config
---
package_update: true
package_upgrade: true
package_reboot_if_required: true