Доступ к IPv4 CIDR su bnet передается как параметр в шаблоне CloudFormation - PullRequest
0 голосов
/ 02 мая 2020

Я передаю в качестве параметра «Su bnet ID»

  VPCPrivateSubnet1:
    Description: VPCPrivateSubnet1
    Type: String
    Default: 'subnet-83733e21'

Затем я создаю «Группу безопасности»

  SecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: !Ref VPCid
      GroupDescription: Security Group
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: 10
        ToPort: 10
        CidrIp: ???

И для CidrIp Я хотел бы иметь возможность ссылаться на него, не вводя его. Что-то вроде VPCPrivateSubnet1.CidrIp. У меня нет экспортируемого Su bnet (поэтому я могу его импортировать). Я не создаю его в шаблоне, поэтому я не могу использовать Ref.

Я буду признателен за помощь.

1 Ответ

1 голос
/ 02 мая 2020

К сожалению, это не легко достижимо. Но даже если ваш su bnet определен в том же шаблоне, что и ваша группа безопасности, или экспортирован из другого стека, AWS :: EC2 :: Su bnet не может вернуть его CIDR .

Однако вы можете создать Пользовательский ресурс в CloudFormation, который даст вам CIDR требуемой суммы bnet.

Для этого вам нужно будет написать свой Собственная пользовательская лямбда-функция, которая принимает идентификатор su bnet и, используя, например, boto3 SDK, возвращает CIDR в CloudFormation.

Имея это, вы можете сделать !GetAtt CustomGetSubnetInfoResource.CidrIp, где CustomGetSubnetInfoResource может быть именем вашего пользовательского ресурса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...