Как AWS Autoscaling распределяет спотовые инстансы между зонами доступности?

Как AWS Autoscaling распределяет спотовые инстансы между зонами доступности?

Я использую группу AWS Autoscaling, которая распределяет инстансы по нескольким зонам доступности, при этом определены ставки на спотовые инстансы.

Что произойдет, если спотовая цена подскочит в одной из AZ, в результате чего инстансы в этой AZ станут ниже спотовой цены и прекратятся?

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

Я не могу найти никакой документации по этому поводу.

решение1

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

решение2

AutoScaling всегда будет пытаться поддерживать высокую доступность. Основной способ, которым он это делает, — равномерное распределение экземпляров по всем AZ (зонам доступности). Однако, если он не может запустить данный тип экземпляра в AZ, он перейдет на другой AZ (будь то из-за спотовой цены/доступности, сбоя или просто отсутствия доступности по требованию). После того, как он достигнет желаемой емкости, он будет периодически пытаться запустить новый экземпляр в недостаточно используемой AZ, чтобы перебалансировать группу. https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage

Если вы используете ASG с несколькими типами экземпляров и вариантами покупки, то он сначала выяснит, следует ли ему запускать спотовый или по требованию экземпляр на основе ваших настроек. Затем он попытается запустить один из выбранных вами типов экземпляров на основе вашей стратегии распределения. Если предпочтительный тип экземпляра недоступен, он попробует все типы экземпляров в этой AZ. Если ни один из них недоступен в этой AZ, он продолжит пробовать другие AZ. Таким образом, должно быть довольно много разных пулов емкости, которые не все могли бы запустить экземпляры, чтобы вы не получили экземпляр.

Если во всех ваших зонах доступности нет свободных ресурсов для любого из выбранных вами типов экземпляров, переключение со спотового на OnDemand НЕ будет выполнено.

https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html

Связанный контент