我们有多个AWS账户。在创建用于安全组创建的CFTemplate时,我应从其他VPC添加SG作为入站规则。当我使用“ CidrIp”尝试相同的代码时,创建的堆栈没有错误,但是当我给出SourceSecurityGroupId和SourceSecurityGroupOwnerId时,由于给定的VPC不存在,我遇到了错误。这是我使用的代码。
"Resources" : {
"PrivateWindowsSg" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Ingress from AD & DC in CS",
"VpcId" : {
"Ref" : "VPCID"
}
}
},
"PrivateWindowsSgIngress" : {
"Type" : "AWS::EC2::SecurityGroupIngress",
"Properties" :{
"Description" : "Ingress from AD & DC in CS",
"GroupId" : {
"Ref" : "PrivateWindowsSg"
},
"IpProtocol" : "UDP",
"FromPort" : "49152",
"ToPort" : "65535",
"SourceSecurityGroupId" : "SG from Other VPC",
"SourceSecurityGroupOwnerId" :"AWSAccountID"
}
}
}
我每次遇到的错误是“默认VPC'none'中不存在安全组'sg-055f0xxxx'(Service:AmazonEC2; Status Code:400; Error Code:InvalidGroup.NotFound; Request ID:056cc269 -421d-4985-a15a-b672f20041c8)”。
有没有人帮助解决这个问题?
答案 0 :(得分:0)
您要添加的源安全组是否符合以下条件:
另一个安全组。这允许与指定安全组关联的实例访问与此安全组关联的实例。这不会将规则从源安全组添加到此安全组。您可以指定以下安全组之一:
- 当前的安全组
- 同一VPC的不同安全组
- VPC对等连接中对等VPC的不同安全组
如果没有,您将无法添加它。有关更多信息,请参见here。您也可以尝试通过管理控制台手动进行测试。如果它在那里工作,那么您应该可以使用CloudFormation进行操作,否则,您应该知道问题出在哪里。
答案 1 :(得分:-1)
我发现我的代码可以正常工作。问题不是来自代码,而是来自错误的VPC的测试模板,该VPC没有与目标VPC的对等连接。