如何在AWS云组建模板中从其他VPC添加安全组到SecurityGroupIngress?

问题描述 投票:0回答:2

我们有多个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”(服务:AmazonEC2;状态代码:400;错误代码:InvalidGroup.NotFound;请求 ID:056cc269-421d-4985-a15a-b672f20041c8)

谁能帮忙解决这个问题吗?

aws-cloudformation aws-security-group
2个回答
0
投票

您尝试添加的源安全组是否符合以下条件:

另一个安全组。这允许与指定安全组关联的实例访问与该安全组关联的实例。这不会将源安全组中的规则添加到此安全组。您可以指定以下安全组之一:

  • 当前安全组
  • 同一 VPC 的不同安全组
  • VPC 对等连接中对等 VPC 的不同安全组

如果没有,您将无法添加。请参阅此处了解更多信息。您还可以尝试通过管理控制台手动执行此操作来测试这一点。如果它在那里工作,那么你应该能够使用 CloudFormation 来完成它,如果没有,那么你就知道你的问题出在哪里。


0
投票

我发现我的代码可以工作。问题不在于代码,而在于来自错误 VPC 的测试模板,该 VPC 与目标 VPC 没有对等连接。

© www.soinside.com 2019 - 2024. All rights reserved.