【发布时间】:2019-11-02 16:35:59
【问题描述】:
我想为公共子网中的单个 Linux EC2 实例编写完整的 CloudFormation 模板。我使用AWS CloudFormation template for creating an EC2 Instance with a Security Group 作为我的起点。此模板会在您的默认 VPC 中启动一个实例。
我的目标是拥有一个独立的模板,该模板可以在新堆栈中创建所需的所有内容,但不会在默认 VPC 中创建。我想要一个新的 VPC、安全组、路由表、互联网网关、子网并启动一个新的 Linux EC2 实例。
所以我使用上面的模板并添加了所需的资源并使用Ref s 链接它们。一切都创建得很好:VPC、子网、安全组、Internet GW、RouteTables 等。但是我的 EC2 会出错并且堆栈会回滚。
状态原因是:
Value () for parameter groupId is invalid. The value cannot be empty (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx)
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" ] } ] }
}
}
错误信息不清楚该怎么做。
【问题讨论】:
标签: amazon-cloudformation amazon-vpc aws-security-group