gpt4 book ai didi

aws-cloudformation - 启动 EC2 实例时 CloudFormation 抛出 "Value () for parameter groupId is invalid. The value cannot be empty"

转载 作者:行者123 更新时间:2023-12-01 10:19:12 26 4
gpt4 key购买 nike

我想为公共(public)子网中的单个 Linux EC2 实例编写完整的 CloudFormation 模板。我用过AWS CloudFormation template for creating an EC2 Instance with a Security Group作为我的起点。该模板将实例启动到您的默认 VPC 中。

我的目标是拥有一个独立的模板,可以创建新堆栈中所需的所有内容,但不会创建到默认 VPC 中。我想要一个新的 VPC、安全组、路由表、互联网网关、子网并启动一个新的 Linux EC2 实例。

因此,我使用了上面的模板并添加了所需的资源,并使用 Ref 链接它们。一切都创建得很好:VPC、子网、安全组、Internet GW、路由表等。但我的 EC2 会出错,堆栈会回滚。

状态原因是:

参数 groupId 的 Value () 无效。该值不能为空(服务:AmazonEC2;状态代码:400;错误代码:InvalidParameterValue;请求 ID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx)

CloudFormation 模板中的 EC2 资源如下所示:

"EC2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"InstanceType" : { "Ref" : "InstanceType" },
"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] }
}
}

错误消息并不清楚该怎么做。

最佳答案

搜索错误消息后,我发现很多人都在提示模糊的错误消息,但没有针对 CloudFormation 模板中的 EC2 资源进行具体修复。

有人提到,当您不在默认 VPC 中启动 EC2 时,您需要指定安全组 ID,而不是安全组名称。

检查reference for the EC2 CloudFormation Resource type ,有这样的:

SecurityGroups

[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

在页面顶部,为 EC2 指定安全组 ID,如下所示:

"SecurityGroupIds" : [ String, ... ],

因此,我将 EC2 资源更改为以下内容:

"EC2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"InstanceType" : { "Ref" : "InstanceType" },
"SecurityGroupIds" : [
{ "Fn::GetAtt" : [ "InstanceSecurityGroup", "GroupId" ] }
],
"SubnetId" : {"Ref":"TestSubnet"},
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] }
}
},

并且成功了。

关于aws-cloudformation - 启动 EC2 实例时 CloudFormation 抛出 "Value () for parameter groupId is invalid. The value cannot be empty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56676108/

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