2017-02-02 6 views
1

У меня есть несколько экземпляров EC2 в группе безопасности, и я хочу, чтобы все другие экземпляры EC2 могли обращаться к любому из других в той же группе безопасности.Унаследовав группу безопасности от себя

Если я пытаюсь сделать это, я получаю круговую эталонную ошибку:

"XYZSecurityGroup": { 
    "Type": "AWS::EC2::SecurityGroup", 
    "Properties": { 
    "VpcId": { 
     "Fn::ImportValue": { 
     "Fn::Sub": "${NetworkStackName}-VPCID" 
     } 
    }, 
    "SecurityGroupIngress": [ 
     { 
     "IpProtocol": "tcp", 
     "FromPort": "80", 
     "ToPort": "80" 
     }, 
     { 
     "IpProtocol": "tcp", 
     "FromPort": "27017", 
     "ToPort": "27017", 
     "SourceSecurityGroupId": {"Ref": "XYZSecurityGroup"} 
     } 

Создание отдельного SecurityGroupIngress элемент кажется перезаписать свои существующие настройки. Итак, как я могу разрешить всем экземплярам в одной группе безопасности видеть друг друга? Я также хочу, чтобы эта группа безопасности принимала трафик из другой группы безопасности.

+0

Возможного дубликат [Разрешить каждый экземпляр в одной группе безопасности, чтобы обмениваться любые данные между друг друга в Cloud Formation JSON?] (http://stackoverflow.com/questions/26781255/allow-every-instance-in-the-same-security-group-to-share-any-data-between -each-o) – wjordan

ответ

1

Как отмечались в AWS::EC2::SecurityGroup documentation, вы можете использовать AWS::EC2::SecurityGroupEgress и AWS::EC2::SecurityGroupIngress ресурсов для определения автореферентных групповых правил безопасности:

Important

If you want to cross-reference two security groups in the ingress and egress rules of those security groups, use the AWS::EC2::SecurityGroupEgress and AWS::EC2::SecurityGroupIngress resources to define your rules. Do not use the embedded ingress and egress rules in the AWS::EC2::SecurityGroup . If you do, it causes a circular dependency, which AWS CloudFormation doesn't allow.

 Смежные вопросы

  • Нет связанных вопросов^_^