参数验证失败:参数名称 <some parameter> 的参数值不存在。用户请求回滚
Parameter validation failed: parameter value for parameter name <some parameter> does not exist. Rollback requested by user
关于此 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)"
}
}
}
具体错误似乎与子网参考有关:
Parameter validation failed: parameter value for parameter name Subnets does not exist. Rollback requested by user.
我已经在我的 AWS 管理控制台中创建了 1 个有效的子网,并测试了它在手动启动 EC2 实例时是否有效。
或者有没有办法对此进行调试/获得更详细的输出?
您模板中的 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使用提供的对话框,并select下拉列表中的子网 ID。
我遇到了同样的问题。在我的例子中,我在孟买地区创建了名称为 "mykey" 的密钥。但是当我真正开始创建 Cloud Formation 基础架构时,我将区域更改为美国东部。现在,在我的 Cloud Formation Infrastructure 中,我将密钥名称提供为 "mykey"。现在的问题是密钥 "mykey" 是在孟买地区创建的。
因此,我在 "US-East" 区域再次创建密钥,我的问题就消失了。
问候
希特什
在我的例子中,这是凭证密钥和访问密钥的问题。我的默认值是另一个帐户,我试图在错误的帐户上创建堆栈。
关于此 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)"
}
}
}
具体错误似乎与子网参考有关:
Parameter validation failed: parameter value for parameter name Subnets does not exist. Rollback requested by user.
我已经在我的 AWS 管理控制台中创建了 1 个有效的子网,并测试了它在手动启动 EC2 实例时是否有效。
或者有没有办法对此进行调试/获得更详细的输出?
您模板中的 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使用提供的对话框,并select下拉列表中的子网 ID。
我遇到了同样的问题。在我的例子中,我在孟买地区创建了名称为 "mykey" 的密钥。但是当我真正开始创建 Cloud Formation 基础架构时,我将区域更改为美国东部。现在,在我的 Cloud Formation Infrastructure 中,我将密钥名称提供为 "mykey"。现在的问题是密钥 "mykey" 是在孟买地区创建的。 因此,我在 "US-East" 区域再次创建密钥,我的问题就消失了。
问候 希特什
在我的例子中,这是凭证密钥和访问密钥的问题。我的默认值是另一个帐户,我试图在错误的帐户上创建堆栈。