amazon-web-services - AWS::CloudFormation::Init yum 更新失败

标签 amazon-web-services aws-cloudformation

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

        "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会失败,并使cloud-init进程失败。

所以只需使用:

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

关于amazon-web-services - AWS::CloudFormation::Init yum 更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27799693/

相关文章:

amazon-web-services - 在我的 IaC 堆栈中收到自动存储桶策略的处理程序错误

amazon-web-services - AWS Lambda 内存与 CPU 配置

python - 如何将本地 .JPG 文件转换为 Base64 以使用 Boto3 和 Detect_Text?

amazon-web-services - 如何识别定义了IAM角色的CloudFormation模板?

amazon-web-services - AWS 步骤功能 - 以图形方式创建状态机的任何方式?

amazon-web-services - 使用 docker compose 在 Amazon ECS 上部署应用程序

amazon-web-services - 用于在 S3 事件上触发 Lambda 的 Cloudformation 模板

amazon-web-services - 安全组不属于VPC

amazon-web-services - 属性 Subscription 的值必须是对象列表

amazon-web-services - 如何通过 CLI 加密 Lambda 的环境变量?