時,我有這是CFN模板使用此類創建EC2實例:更新現有的安全組創建新的EC2 CloudFormation
參數:
"VPCId": {
"Type": "AWS::EC2::VPC::Id"
"Description": "The VPC Id to where this instance is being created"
}
"Subnet": {
"Description": "Subnet to put Instance",
"Type": "AWS::EC2::Subnet::Id",
},
有以下安全組:
"InstanceSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enables access to instance by port 80",
"VPCId": {
"Ref": "VPCId"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": {
"Ref": "ClientCIDR"
}
}
]
},
並且實例資源的一部分:
"WebServer": {
"Type": "AWS::EC2::Instance",
"Properties": {
"IamInstanceProfile": "access-profile",
"SecurityGroupIds": [
{ "Fn::GetAtt": [
"InstanceSecurityGroup",
"GroupId"
]
}
],
"SubnetId": {
"Ref": "Subnet"
},
我想使用另一個模板創建另外幾個實例。這個實例應該可以通過端口22訪問上面的實例,並在UserData中連接到它。
我不知道它是如何組織的,我看到的一種方法是在建立到第一個實例的ssh連接之前,通過UserData使用aws cli更新安全組。如何使用資源進行組織?我沒有找到任何有關這方面的信息或例子。請幫忙!謝謝!
您是否可以爲需要打開端口22的實例創建第二個安全組? – jbird
當我使用第二個模板創建實例時,它們每次都有隨機的公用IP。所以,我應該能夠以某種方式更新WebServer實例的規則 – BigBoss
啊,我明白了。西蒙 - 皮埃爾的回答如下。安全組可以引用其他安全組。 – jbird