Почему новый экземпляр отсутствует в списке экземпляров балансировщика нагрузки?

#amazon-web-services #amazon-elastic-beanstalk #aws-load-balancer

Вопрос:

В моей электронной среде используется балансировщик laod (мин: 1, макс: 4) и группа автоматического масштабирования. Автоматическое масштабирование запускается, когда загрузка процессора превышает 20%.

Автоматическое масштабирование работает хорошо, новый экземпляр автоматически создается при превышении порогового значения. Но для вновь созданного экземпляра всегда существует ошибка проверки работоспособности. Я проверил балансировщик нагрузки, связанный с моей электронной средой, и обнаружил, что новый созданный экземпляр отсутствует на instances вкладке.Я должен вручную добавить экземпляр в instances . После добавления экземпляра вручную результат проверки работоспособности становится нормальным.

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

введите описание изображения здесь

файл конфигурации для AWSEBLoadBalancer в .ebextensions выглядит следующим образом:

 Resources:
  AWSEBLoadBalancer:
    Properties:
      Listeners:
        - InstancePort: 80
          InstanceProtocol: HTTP
          LoadBalancerPort: 80
          Protocol: HTTP
      AccessLoggingPolicy:
        EmitInterval: 5
        Enabled: true
        S3BucketName:
          Ref: LogsBucket
    Type: "AWS::ElasticLoadBalancing::LoadBalancer"
    DependsOn: "LogsBucketPolicy" 
LogsBucket:
    DeletionPolicy: Retain
    Type: "AWS::S3::Bucket"
...
 

Конфигурация емкости среды является:

введите описание изображения здесь
введите описание изображения здесь
введите описание изображения здесь

Комментарии:

1. Перейдите на консоль EC2 и проверьте там параметры LB и ASG. Может быть, вам нужно увеличить HealthCheckGracePeriod ?

2. @Marcin Я увеличиваю значение, но это не работает.

3. Можете ли вы добавить код для создания/настройки EB?

4. @Музаффаршайх, спасибо. Я добавил конфигурацию в вопрос.

5. @leilei Можете ли вы поделиться конфигурацией создания группы автоматического масштабирования?

Ответ №1:

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

Смотрите этот ответ: https://serverfault.com/questions/1000783/application-load-balancer-with-aws-elastic-beanstalk-target-group

«Итак, перейдите в консоль EC2, затем в самом низу левого меню (в любом случае, в настоящее время для меня) есть группы автоматического масштабирования. Выберите группу автоматического масштабирования из списка и на вкладке Сведения нажмите кнопку Изменить, а затем добавьте соответствующую целевую группу.»