Круговая зависимость при использовании AWSEBAutoScalingGroup с CreationPolicy - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь настроить свою среду Elastic Beanstalk на создание группы автоматического масштабирования с политикой создания и обновления, которая ожидает сигнала от любых новых экземпляров.К сожалению, у меня проблемы с тем, чтобы заставить это работать, и я полагаю, что это из-за круговой зависимости.У меня есть один файл конфигурации в .ebextensions с конфигурацией автоматического масштабирования:

Resources:
  AWSEBAutoScalingGroup:
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      HealthCheckType: ELB
      HealthCheckGracePeriod: 300
    UpdatePolicy:
      ResourceSignal:
        Timeout: PT30M
    CreationPolicy:
      ResourceSignal:
        Timeout: PT30M

У меня есть другой файл конфигурации, который должен запускать сценарий cfn-signal, который позволит группе автоматического масштабирования завершить создание или обновление:

commands:
  "01cfn-bootstrap-update":
    command: yum update -y aws-cfn-bootstrap
  "02cfn-signal":
    env:
      stackName:
        Ref: AWS::StackName
      region:
        Ref: AWS::Region
    command: /opt/aws/bin/cfn-signal -e $? --stack ${stackName} --resource AWSEBAutoScalingGroup --region ${region}

Когда я создаю среду, создается группа автоматического масштабирования, которая ждет сигнала.Однако сигнал никогда не отправляется экземпляром.Я ssh'd в экземпляр и, просматривая журналы, я увидел, что команда cfn-signal (или любые команды в .ebextensions) не выполнялась.

Я полагаю, что это потому, что процессы Elastic Beanstalk.ebextensions по одному, поэтому он никогда не обрабатывает файл конфигурации cfn-signal до тех пор, пока файл конфигурации автоматического масштабирования не будет завершен.Поскольку этот ресурс ожидает того же сигнала, он никогда не завершается, а команда сигнала никогда не выполняется.Я также попытался полностью удалить конфигурационный файл автоматического масштабирования, и команда cfn-signal была в состоянии выполнить в этом случае (хотя это не удалось, поскольку группа автоматического масштабирования не ожидала сигнала).Я также попытался переименовать файлы так, чтобы файл cfn-signal был до алфавитного файла автоматического масштабирования, но это не имело никакого значения.Верно ли мое понимание того, что здесь есть круговая зависимость?Есть ли какое-то решение для этого?

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