Назад | Перейти на главную страницу

Как сочетаются политики завершения автомасштабирования групп?

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

Вы можете использовать эти политики по отдельности или объединить их в список политик, которые Auto Scaling использует при завершении экземпляров.

Но он замалчивает особенности того, как эти политики комбинируются и когда «провал» происходит со следующей политикой в ​​списке, то есть при каких условиях каждая политика терпит неудачу и переходит к следующей политике в списке.

Например, у меня есть список политик ["OldestInstance", "Default"] в моей группе, но после увеличения, а затем и уменьшения, группа масштабирования завершилась новейший (и здоровый) экземпляр (новее с большим отрывом), и я не могу понять почему.

Кроме того, согласно тому же документу, политика по умолчанию на самом деле представляет собой комбинацию политик и включает OldestLaunchConfiguration и ClosestToNextInstanceHour как два его шага. Если у меня есть список, включающий ["OldestLaunchConfiguration", "ClosestToNextInstanceHour", "Default"], оценивает ли он OldestLaunchConfiguration и ClosestToNextInstanceHour дважды?

Наконец, учитывает ли завершение балансировщик нагрузки? Например, если мой новый экземпляр не удалось правильно инициализировать и не работает с балансировщиком нагрузки, и OldestInstance действует, убьет ли сначала нездоровый экземпляр, даже если он новее?

Разделение этого на отдельные вопросы: 1) Когда существует несколько политик завершения, как они применяются - сначала будет предпринята попытка выполнить первую политику, а если будет ничья, перейти к следующей. Если он прошел через все выбранные вами политики, но по-прежнему сохраняется ничья, он выберет один из экземпляров, которые связаны случайным образом.

2) Как он мог завершить работу самого нового экземпляра, если первая политика завершения была «самым старым экземпляром» - из документа политики завершения, AutoScaling Group (ASG) всегда будет пытаться сначала сбалансировать зону доступности, а затем применять вашу политику завершения в пределах АЗ с наибольшим количеством экземпляров. Таким образом, если у вас есть 2 зоны доступности, первая с 2 экземплярами, а вторая с 1 экземпляром, ASG завершит работу самого старого экземпляра в первой зоне доступности. - Это не применялось бы в то время, когда вы задавали вопрос, но если вы используете ASG с новой опцией для смешивания типов инстансов и вариантов покупки, она попытается сохранить ваш баланс спотового / по требованию, прежде чем принять ваше прекращение политика также во внимание. https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html

3) Учитывает ли завершение состояние работоспособности Elastic Load Balancer (ELB)? - Нет, замена проверки работоспособности выполняется отдельно от масштабирования. Если балансировщик нагрузки пометил экземпляр как неисправный, ASG заменит его, ЕСЛИ: A) для типа проверки работоспособности ASG задано значение ELB B) Экземпляр находится в эксплуатации дольше, чем период отсрочки проверки работоспособности ASG C) Экземпляр в этот ASG когда-либо был отмечен как работоспособный этим ELB / целевой группой - https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-add-elb-healthcheck.html - https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html