Я создаю JSON Cloud Formation для определения экземпляров EC2 и групп безопасности.
Мне нужно создать группу безопасности, которая позволяет каждому принадлежащему ей экземпляру обмениваться любыми данными друг с другом.
Мой JSON был таким:
"InternalSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"VpcId" : {"Ref" : "myVPC"},
"GroupDescription" : "Allow the machines in this group to share all kinds of traffic between each other",
"SecurityGroupIngress" : [
{
"IpProtocol" : "-1",
"FromPort": "-1",
"ToPort": "-1",
"SourceSecurityGroupId" : { "Ref" : "InternalSecurityGroup" }
}
],
"SecurityGroupEgress" : [
{
"IpProtocol" : "-1",
"FromPort": "-1",
"ToPort": "-1",
"DestinationSecurityGroupId" : { "Ref" : "InternalSecurityGroup" }
}
]
}
},
Но это показывает мне следующую ошибку:
Ошибка клиента (ValidationError) при вызове операции CreateStack: Циклическая зависимость между ресурсами
Чтобы исправить это, я изменил свой код на CidrIp вместо SourceSecurityGroupId, определяя подсеть, в которой находятся экземпляры.
Можно ли ссылаться на одну и ту же группу безопасности? Каков наилучший (или правильный) способ добиться того, чего я хочу?