Amazon несколько экземпляров ELB с использованием одной и той же группы автоматического масштабирования

У меня есть 2 экземпляра Amazon ELB, использующие одну и ту же группу автоматического масштабирования.

У меня установлен тип проверки работоспособности ELB для группы автоматического масштабирования.

На каждом экземпляре EC2 из ASG у меня есть 2 веб-приложения (они размещены в IIS, но я не думаю, что это действительно актуально).

Как только у меня все настроено и запущено, я закрываю IIS на одном из этих экземпляров, чтобы проверки работоспособности обоих ELB не выполнялись для этого конкретного экземпляра EC2. (ASG по-прежнему считает экземпляры работоспособными, но ELB считает их не обслуживаемыми).

Моя ASG имеет

Desired instances: 2
Min: 2
Max: 4

Я ожидал, что экземпляр EC2 будет остановлен, а ASG создаст новый, но этого не произошло.

Любые идеи ? Спасибо

PS: он отлично работает для 1 экземпляра ELB и 1 ASG только с одним веб-приложением под IIS.


person Mihai    schedule 23.04.2014    source источник
comment
Похоже на угловой корпус. Есть ли причина, по которой вы используете два веб-приложения на одном сервере?   -  person Rico    schedule 23.04.2014


Ответы (2)


Из документация:

Если с вашей группой Auto Scaling связано несколько балансировщиков нагрузки, Auto Scaling будет проверять состояние работоспособности ваших экземпляров EC2, выполняя вызовы проверки работоспособности для каждого балансировщика нагрузки. Для каждого вызова, если действие Elastic Load Balancing возвращает любое состояние, отличное от InService, экземпляр будет помечен как неработоспособный. После того, как автоматическое масштабирование помечает экземпляр как неработоспособный, он останется в этом состоянии, даже если последующие вызовы от других балансировщиков нагрузки возвращают состояние InService для того же экземпляра.

Они не упоминают специальные действия по завершению, но, насколько я понимаю, это установит экземпляр как неработоспособный в конкретном ELB, где он не проходит проверки работоспособности, но поскольку другой ELB отмечает его как InService, нет причин для завершения.

Конечно, это AWS, вы всегда можете использовать API, чтобы написать код, чтобы обнаружить это и завершить (установить нездоровый) проблемный экземпляр, который работает для одного ELB, а не для другого.

Или более чистый подход - разделить это на отдельные ASG, каждая с одним ELB.

person Tom Feiner    schedule 23.04.2014
comment
Спасибо за ответ. У меня уже установлена ​​проверка работоспособности на ELB в группе автоматического масштабирования, и она отлично работает, если я использую эту ASG только с 1 экземпляром ELB. Но если я использую его с двумя экземплярами ELB и двумя отдельными веб-приложениями на каждом экземпляре EC2, ASG не будет отключать машины, которые не отвечают на проверки работоспособности. - person Mihai; 24.04.2014

Тип проверки работоспособности ASG по умолчанию - проверка состояния экземпляра EC2. Просто попробуйте установить его как ELB, чтобы он учитывал результат проверки работоспособности ELB для масштабирования. См. Ссылку: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html.

person ymchen    schedule 12.11.2014