我可以在云形成中使用公共安全组来进行ec2启动配置吗? 我试图简单地指导cloudformation堆栈使用现有的集合,但它无法创建这些资源。 我尝试将这些安全组创建为每个堆栈的滚动集(ssh1,ssh2 ...),但也没有这样的运气。
如果您的答案中包含有关如何准确执行此操作的代码段,那将会非常酷。感谢。
答案 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",