SecurityGroupで、「同じSecurityGroup」からのアクセスを許可する、という設定を書く時に。
"Resources":{
"DefaultSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"VpcId" : { "Ref" : "VpcId" },
"GroupDescription" : "Enable access to itself"
}
},
"DefaultSecurityGroupIngress" : {
"Type" : "AWS::EC2::SecurityGroupIngress",
"Properties" : {
"GroupId" : { "Ref" : "DefaultSecurityGroup" },
"IpProtocol" : "tcp",
"FromPort" : "0",
"ToPort" : "65535",
"SourceSecurityGroupId" : { "Ref" : "DefaultSecurityGroup" }
},
"DependsOn" : "DefaultSecurityGroup"
},
....
}
SecurityGroupを作るときに、同時にSecurityGroupのIDを取得することはできない(なぜならまだIDを発行していないから)。
従って、SecurityGroupの作成と同時に一発で目的のものを作ることはできない。
なので、一度空のSecurityGroupを作って(それによりSGのIDを発行して)、それを使って設定の追加のようなことを行う。
GUIのときだって同じような手順でしょと言われるとその通りでした。