首页 > 解决方案 > AWS 云形成 - 使用安全组名称创建 EC2 实例

问题描述

我正在尝试创建一个云形成模板来创建 EC2 实例。我想使用安全组名称而不是安全组 ID。当我使用它时,我收到错误“遇到不受支持的属性 SecurityGroup”。通过 Cloud Formation 创建 EC2 实例时如何使用安全组名称

"Resources": 
{
    "EC2Instance":
    {
        "Type" : "AWS::EC2::Instance",
        "Properties":
        {
            "InstanceType": 
            {
                "Ref": "InstanceType"
            },
            "SecurityGroup":
            [
                {
                    "Ref" : "InstanceSecurityGroup"
                }
            ],
            "KeyName":
            {
                "Ref" : "AWS::Region"
            },
            "ImageId":
            {
                "Ref": "AMI"
            }
        }
    },
    "InstanceSecurityGroup":
    {
        "Type":"AWS::EC2::SecurityGroup",
        "Properties": 
        {
            "GroupDescription": "Enable SSH access via port 22",
            "GroupName": 
            {
                "Fn::FindInMap":
                [
                    "EnvironmentConfig",
                    {
                        "Ref": "Environment"
                    },
                    "SGGroupName"
                ]
            },
            "SecurityGroupIngress":
            [
                {
                    "IpProtocol": "tcp",
                    "FromPort": 22,
                    "ToPort": 22,
                    "CidrIp":"10.252.0.0/16"
                },
                {
                    "IpProtocol": "tcp",
                    "FromPort": 22,
                    "ToPort": 22,
                    "CidrIp":"10.251.0.0/16"
                }           
            ],
            "VpcId": 
            {
                "Fn::FindInMap":
                [
                    "EnvironmentConfig",
                    {
                        "Ref":"Environment"
                    },
                    "VPC"
                ]
            }
        }
    }

标签: amazon-web-servicesamazon-cloudformationaws-security-group

解决方案


应该是SecurityGroups而不是SecurityGroup,即

"SecurityGroups" : [{ "Ref" : "InstanceSecurityGroup" }]

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2.html


推荐阅读