Amazon web services AWS::CloudFormation::初始化yum更新失败
遇到了一个小问题,所以在我的json文件中,我想运行一个命令来更新所有包,下面的命令是:Amazon web services AWS::CloudFormation::初始化yum更新失败,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,遇到了一个小问题,所以在我的json文件中,我想运行一个命令来更新所有包,下面的命令是: "commands" : { "update_yum_packages" : { "command" : "sudo yum update -y" } }, 现在,如果我从json文件中删除它,堆栈将不会产生任何问题,但是当我添加命令时,我从AWS::CloudFormation::WaitCondition中
"commands" : {
"update_yum_packages" : {
"command" : "sudo yum update -y"
}
},
现在,如果我从json文件中删除它,堆栈将不会产生任何问题,但是当我添加命令时,我从AWS::CloudFormation::WaitCondition中得到一个错误。我已将超时设置为1200这里是否有明显的错误
在ssh到新实例上后,我可以很好地运行该命令。您可以查看/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将失败,并使cloudinit进程失败
所以只要使用:
"commands" : {
"update_yum_packages" : {
"command" : "yum update -y"
}
},
这个yaml应该做同样的事情,而不必直接给sudo打电话
#cloud-config
---
package_update: true
package_upgrade: true
package_reboot_if_required: true
尝试在没有
sudo
的情况下运行它。如果失败,请粘贴/var/log/cloud init*
@tedder42中的相关日志条目,您可以直接回答,我认为这也是问题所在。