AWS ECS: серьезная ошибка в шаблоне ECS Service Cloudformation - PullRequest
0 голосов
/ 11 сентября 2018

Попытка создать службу ECS с использованием облачной информации через следующий манифест с соответствующим импортом

 UIService:
        Type: AWS::ECS::Service
        Properties:
          Cluster: !ImportValue ECSClusterName
          DesiredCount: 1
          LaunchType: EC2
          LoadBalancers:
            - ContainerName: !ImportValue UIContainerName
              ContainerPort: '80'
              TargetGroupArn: !ImportValue UITGArn
          ServiceName: ui-service
          ServiceRegistries:
           - RegistryArn: arn:aws:servicediscovery:eu-west-1:944094092130:service/srv-oIclu40KCKM3esez7
          TaskDefinition: !ImportValue UITaskArn

Это происходит со следующим сообщением:

При указании 'host' или 'bridge' для networkMode, значения для 'containerName' и 'containerPort' должны быть указаны в определении задачи.

Однако, когда я добавляю требуемые значения (в свойстве serviceregistry, где он заставляет меня предположить, что они необходимы?)

  UIService:
    Type: AWS::ECS::Service
    Properties:
      Cluster: !ImportValue ECSClusterName
      DesiredCount: 1
      LaunchType: EC2
      LoadBalancers:
        - ContainerName: !ImportValue UIContainerName
          ContainerPort: '80'
          TargetGroupArn: !ImportValue UITGArn
      ServiceName: ui-service
      ServiceRegistries:
       - RegistryArn: arn:aws:servicediscovery:eu-west-1:944094092130:service/srv-oIclu40KCKM3esez7
         ContainerName: !ImportValue UIContainerName
         ContainerPort: '80'
      TaskDefinition: !ImportValue UITaskArn

... Я получаю следующую ошибку:

Обнаружено неподдерживаемое свойство ContainerName

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Согласно последней функции (представленной сегодня), теперь вы можете указывать имя контейнера и имя контейнера в ServiceRegistry .

Я быстро проверил, и, кажется, работает нормально.

0 голосов
/ 11 сентября 2018

Это ошибка от AWS, из-за которой облачная информация не поддерживает атрибуты containerName и containerPort .Вот официальные документы для ServiceRegistry , а вот документы для облачной информации.Если я не ошибаюсь, когда обнаружение службы было выпущено, он поддерживал только сетевой режим awsvpc , а позже был добавлен bridge / host .Это объясняет, почему мы имеем такое несоответствие.

В настоящее время вы можете создать базовую облачную информацию ECS и соответствующим образом обновить ее с помощью CLI / API / SDK, или вы можете иногда ждать, чтобы команда AWS добавилаподдержка же.

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