我可以在云形成中使用公共安全组来进行ec2发射配置吗?

时间:2015-01-01 14:23:22

标签: amazon-web-services amazon-ec2 amazon-cloudformation

我可以在云形成中使用公共安全组来进行ec2启动配置吗? 我试图简单地指导cloudformation堆栈使用现有的集合,但它无法创建这些资源。 我尝试将这些安全组创建为每个堆栈的滚动集(ssh1,ssh2 ...),但也没有这样的运气。

如果您的答案中包含有关如何准确执行此操作的代码段,那将会非常酷。感谢。

1 个答案:

答案 0 :(得分:1)

您可以参考示例模板以获得深刻理解。

Amazon EC2 instance in a security group

这是你感兴趣的部分。

  "Resources" : {
    "EC2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "InstanceType" : { "Ref" : "InstanceType" },
        "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],    # <--Here is the refer
        "KeyName" : { "Ref" : "KeyName" },
        "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
                          { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] }
      }
    },

    "InstanceSecurityGroup" : {
      "Type" : "AWS::EC2::SecurityGroup",
      "Properties" : {
        "GroupDescription" : "Enable SSH access via port 22",
        "SecurityGroupIngress" : [ {
          "IpProtocol" : "tcp",
          "FromPort" : "22",
          "ToPort" : "22",
          "CidrIp" : { "Ref" : "SSHLocation"}
        } ]
      }
    }
  },

以上示例创建一个新的安全组,并将其分配给新的ec2实例。如果您已存在安全组,则不需要部分InstanceSecurityGroup,并将实际安全组名称分配给ec2实例:

"SecurityGroups" : "REAL Security Group Name",