#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, затем в самом низу левого меню (в любом случае, в настоящее время для меня) есть группы автоматического масштабирования. Выберите группу автоматического масштабирования из списка и на вкладке Сведения нажмите кнопку Изменить, а затем добавьте соответствующую целевую группу.»