为什么此AWS CloudFormation会继续回滚的任何建议?
{
"Description" : "Single Instance",
"Resources" : {
"EC2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "ami-b73b63a0",
"InstanceType" : "t2.micro",
"KeyName" : "aws-key-here",
"Tags" : [
{
"Key" : "Name",
"Value" : "test"
}
],
"SubnetId" : {
"Fn::Select" : [ "0", { "Ref" : "Subnets" } ]
}
}
}
},
"Parameters": {
"Subnets": {
"Type": "List<AWS::EC2::Subnet::Id>",
"Description": "The list of SubnetIds, for at least two Availability Zones in the region in your Virtual Private Cloud (VPC)"
}
}
}
特定错误似乎与Subnets Ref:
有关 Parameter validation failed: parameter value for parameter name Subnets does not exist. Rollback requested by user.
我已经在我的AWS管理控制台中创建了1个有效的子网,并测试了它在手动启动EC2实例时的工作原理。
或者有没有办法调试/获得更详细的输出?
答案 0 :(得分:1)
模板中的Subnets
Parameter类型为List<AWS::EC2::Subnet::Id>
,需要引用有效子网ID列表。您看到的错误意味着您将至少一个无效的子网ID传递给Subnet
参数。
如果您使用aws cloudformation create-stack
从AWS CLI部署堆栈,则需要使用--parameters ParameterKey=Subnets,ParameterValue=subnet-12345678
选项传递有效参数值。
如果您要从管理控制台进行部署,则需要使用提供的对话框specify stack parameters,然后从下拉列表中选择子网ID。
答案 1 :(得分:1)
我遇到了同样的问题。在我的情况下,我创建了名为&#34; mykey&#34;在孟买地区。但是当我真正开始创建云层基础设施时,我将该地区改为美国东部。现在在我的Cloud Formation Infrastructure中,我提供了Key的名称&#34; mykey&#34;。现在问题是关键&#34; mykey&#34;在孟买地区成立。 因此,我再次在&#34;美国东部&#34;地区和我的问题消失了。
此致 亚太区首席技术官Matt
答案 2 :(得分:0)
就我而言,这是凭证密钥和访问密钥的问题。我的默认值是另一个帐户,我试图在错误的帐户上创建堆栈。