Группа безопасности формирования облаков не создает правила доступа - PullRequest
0 голосов
/ 24 сентября 2019

Я создал шаблон облачной информации для группы безопасности с 3 входными правилами, одно для SSH, одно для HTTP и другое для HTTP (порт8080)

Перво-наперво, когда я включаю SourceSecurityGroupOwnerId,группа не создает вообще.Когда я удаляю это, группа создает, но только с одним правилом (правило ssh).

Вот полный шаблон:

AWSTemplateFormatVersion: 2010-09-09
Description: Provision security group to allow SSH access to instance
Parameters:
  EnvironmentName:
    Description: An environment name that will be prefixed to resource names
    Type: String
  SSHLocation:
    Description: The IP address range that can be used to SSH to the EC2 instances
    Type: String
    MinLength: '9'
    MaxLength: '18'
    Default: 0.0.0.0/0
    AllowedPattern: '(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})'
    ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x.

Resources:
  InstanceSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      VpcId: !ImportValue hvfVPC-Name
      Tags:
        - Key: Name
          Value: !Ref EnvironmentName
      GroupDescription: Enable SSH access and HTTP from the load balancer only
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '22'
          ToPort: '22'
          CidrIp: !Ref SSHLocation
        - IpProtocol: tcp
          FromPort: '80'
          ToPort: '80'
          SourceSecurityGroupOwnerId: !ImportValue wordpressELB-SG-Id
          SourceSecurityGroupName: !ImportValue wordpressELB-SG-Name
        - IpProtocol: tcp
          FromPort: '8080'
          ToPort: '8080'
          SourceSecurityGroupOwnerId: !ImportValue wordpressELB-SG-Id
          SourceSecurityGroupName: !ImportValue wordpressELB-SG-Name

Это заканчивается тем, что вы просто работаете в течение длительного времени без фактического создания группы.Когда я удаляю SourceSecurityGroupId и SourceSecurityGroupName, шаблон запускается, однако он создает только одно правило входа.

Я трижды проверил, чтобы убедиться, что экспорт правильный, но по какой-то причине, если я не удалю эти две строки, Cloudformation просто повесит

Изображения, прикрепленные для пояснения CloudFormation говоритгруппа создана Фактически создано только входное правило SSH

Экспорт из шаблона ELB, который я пытаюсь использовать в шаблоне SG

1 Ответ

0 голосов
/ 24 сентября 2019

Я предполагаю, что вы должны просто указать SourceSecurityGroupId вместо SourceSecurityGroupOwnerId и SourceSecurityGroupName.Что-то в этом роде:

    - IpProtocol: tcp
      FromPort: 80
      ToPort: 80
      SourceSecurityGroupId: !ImportValue wordpressELB-SG-Id

Подобная конфигурация успешно работает для меня.

Документация по SourceSecurityGroupOwnerId гласит:

Этот параметр нельзя указывать в сочетании со следующими параметрами: диапазон IP-адресов CIDR, протокол IP, начало диапазона портов и конец диапазона портов.

Что можетбыть причиной того, что правило не было создано.

Далее, похоже, вы указали идентификатор исходной группы безопасности wordpressELB-SG-Id в SourceSecurityGroupOwnerId.SourceSecurityGroupOwnerId на самом деле является идентификатором учетной записи AWS для исходной группы безопасности, поэтому в любом случае это было неверно.

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