我正在使用AWS上的云形成来创建一个基本的安全组,但是却收到 Property IpProtocol不能为空。错误。以下是我正在运行的yml代码:
Resources:
testsecuritygroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: test-group
GroupDescription: test security group
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
- SourceSecurityGroupId: sg-xxxxxxxxxx
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0
Tags:
- Key: group
Value: test
VpcId: !ImportValue VPC
当我运行create-stack命令时,它已成功运行,但是堆栈回滚并显示 CREATE_FAILED 状态,并且 Property IpProtocol不能为空错误。我在这里做错了什么?
答案 0 :(得分:1)
您的cidr无效。应该是0.0.0.0/0
答案 1 :(得分:1)
我解决了这个问题。要添加安全组,我们必须创建一个Ingress规则并将其附加到安全组,而不是在安全组中进行定义。
Resources:
test:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: !ImportValue VPC
GroupName: test-group
GroupDescription: test security group
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
Tags:
- Key: group
Value: test
TestInboundRule:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: !GetAtt test.GroupId
IpProtocol: tcp
FromPort: 80
ToPort: 80
SourceSecurityGroupId: sg-xxxxxxxxx