AWS CloudFromation使用现有安全组

cfi*_*coo 6 amazon-web-services aws-cloudformation

我想在cloudformation模板上使用现有的安全组.现在我有模板创建2 SG,

 "InstanceMember1": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "SubnetId": {
          "Ref": "privateSubnetA"
        },
        "SecurityGroupIds": [
          {
            "Ref": "MongoSg"
          },
          {
            "Ref": "mongoTrafficSG"
          } 
        ],
    }
}

"MongoSg": {
      "Type": "AWS::EC2::SecurityGroup",
      "Properties": {
        "GroupDescription": "MongoDB security group",
        "SecurityGroupIngress": [
          {
            "IpProtocol": "tcp",
            "FromPort": "22",
            "ToPort": "22",
            "SourceSecurityGroupId": {
              "Ref": "bastionSG"
            }
          }
        ],
        "VpcId": "%%vpc-id%%",
      }
}
}
Run Code Online (Sandbox Code Playgroud)

现在我想添加实例存在的安全组ID,有什么建议吗?

Mir*_*cea 10

您可以直接指定安全组名称:http: //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups

 "InstanceMember1": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "SubnetId": {
          "Ref": "privateSubnetA"
        },
        "SecurityGroups": [ "mysuperawesomealreadyexistinggroup"],
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 不再可能与VPC. (3认同)
  • 仍然可以在 VPC 中以相同的方式完成:只需将 `SecurityGroups` 替换为 `SecurityGroupId` 并在数组中提供一个或多个安全组 ID。但在这种情况下,只有安全组 ID 有效,组名称无效。 (3认同)
  • 如果不明显,SecurityGroup也可以作为参数传入,也可以在与安全组相同的CloudFormation模板中创建.有几种方法可以解决这个问题. (2认同)