gpt4 book ai didi

amazon-web-services - 无法使用 aws cli 通过 CloudFormation 创建堆栈,但可以在门户中

转载 作者:行者123 更新时间:2023-12-03 07:38:48 26 4
gpt4 key购买 nike

我有一个可用的 cloudFormation yaml 模板。我知道它的工作原理,因为当我转到 aws 门户并通过单击创建堆栈时,就会创建堆栈。

但是,当我尝试在命令行上使用 cloudformation 时,会出现相同的 yaml 错误。

我不知道是什么导致了这个问题。有谁知道可能导致失败的原因是什么?

这是我正在调用的命令

aws cloudformation create-stack --stack-name ${stack_name} --template-body file://template.yaml --region ${region}

其中区域与我在 aws 门户中所在的区域相同。这是 template.yaml

---
AWSTemplateFormatVersion: 2010-09-09
Description: EC2 example instance
Resources:
TestEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-01ec0fa63b2042232
InstanceType: t3.medium
SubnetId: subnet-*********
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
echo "Running apt install -y git nfs-common binutils jq"
apt-get install -y git nfs-common binutils jq

当我运行命令时,我看到堆栈开始在门户上创建,并发生以下事件

ec2-boilerplate ROLLBACK_COMPLETE   -
TestEC2Instance DELETE_COMPLETE -
TestEC2Instance DELETE_IN_PROGRESS -
ec2-boilerplate ROLLBACK_IN_PROGRESS The following resource(s) failed to create: [TestEC2Instance]. Rollback requested by user.
TestEC2Instance CREATE_FAILED Instance i-0bdd3e7ee34edf1ef failed to stabilize. Current state: shutting-down. Reason: Client.InternalError: Client error on launch
TestEC2Instance CREATE_IN_PROGRESS Resource creation Initiated
TestEC2Instance CREATE_IN_PROGRESS -
ec2-boilerplate CREATE_IN_PROGRESS User Initiated

是关于我的 template.yaml 的吗?关于我的命令行调用?一些环境变量?

最佳答案

这可能与创建实例所需的时间长度有关,但您的“userdata”脚本似乎很简单,很难想象情况会如此。 AWS 文档指出此错误与the resource creation time exceeding the CloudFormation timeout相关。 :

A resource didn't respond because the operation exceeded the AWSCloudFormation timeout period or an AWS service was interrupted. Forservice interruptions, check that the relevant AWS service is running,and then retry the stack operation.

我要检查的一件事是 -e option to bash用户数据脚本中的 不会导致它以某种方式失败,从而阻碍实例创建。

根据 AWS 建议,另一个可能的解决方案是确保您的 CloudFormation 堆栈为 provided a service role when it is created 。这将允许它在使用创建用户的 IAM 权限时施加的超时之外创建基础设施。

关于amazon-web-services - 无法使用 aws cli 通过 CloudFormation 创建堆栈,但可以在门户中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75233349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com