amazon-web-services - 使用子网时 AWS Cloudformation 出现错误
问题描述
你能检查一下我创建的代码吗?YAML
出于Cloudformation
某种奇怪的原因,我收到了以下错误。抱歉代码对齐。
Error: CREATE_FAILED AWS::EC2::Instance Ec2InstanceOne The parameter groupName cannot be used with the parameter subnet (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: a4018f68-7454-4f1f-ba81-6ec3b3c78d98)
Resources:
Ec2InstanceOne:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: eu-west-1a
ImageId: ami-466768ac
InstanceInitiatedShutdownBehavior: terminate #stop or Terminate
InstanceType: t2.micro
KeyName: Resources # If we are mentioning in Parameters we have to mention
AWS::EC2::KeyPair::KeyName
SecurityGroups:
- !Ref Ec2SecurityGroup
SubnetId: !Ref MySubnet
Ec2SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: This is to allow HTTP site access
VpcId: !Ref MyVpc
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
MyVpc:
Type: "AWS::EC2::VPC"
Properties:
CidrBlock: 192.168.0.0/16
MyRoute:
Type: AWS::EC2::Route
Properties:
RouteTableId: 10.120.0.0/16
DestinationCidrBlock: 0.0.0.0/0
InstanceId: !Ref Ec2InstanceOne
MySubnet:
Type: AWS::EC2::Subnet
Properties:
AvailabilityZone: eu-west-1a
CidrBlock: 192.168.1.0/24
VpcId: !Ref MyVpc
解决方案
我在处理系统管理器文档时遇到了同样的问题。我们需要使用安全组 ID 而不是安全组名称。
替换这个
SecurityGroups:
- !Ref Ec2SecurityGroup
有了这个,然后尝试。它将解决问题。
SecurityGroupIds:
- !Ref Ec2SecurityGroupID
安全组名称仅适用于默认 VPC 或 EC2-classic。对于非默认 VPC 子网,我们必须使用安全组 ID。
推荐阅读
- regex - 需要帮助来构建正则表达式
- mysql - 将textinput函数中写入的数据保存到mysql数据库中
- google-apps-script - 如何为我的未经验证的 Google 应用关闭 Google 安全警报
- swift - WKWebView 未检测到 URL 不同
- sendmail - Sendmail:如何拒绝特定的加号地址
- c - 如何在 if 条件中使用一些预定义的数组元素
- c# - 仅在弹出窗口外部单击而不使弹出窗口隐藏时如何检测弹出窗口 LostFocus
- ios - 有没有机会做对?
- mysql - 如何修复 MySQL #1932 中的此错误 - 引擎中不存在表 'rowater.wp_postmeta'
- python - 数据分析问题的最佳解决方案