Я использую группу AWS Autoscaling, которая распределяет экземпляры по нескольким зонам доступности с определением ставок для спотовых экземпляров.
Что произойдет, когда спотовая цена перескочит в одну из зон доступности, в результате чего экземпляры в этой зоне доступности окажутся ниже цены спот и прекратят работу?
Пытается ли группа автомасштабирования равномерно сбалансировать экземпляры в зонах доступности? Будет ли он ждать, пока цена снова не совпадет в этой АЗ?
Я не могу найти никакой документации по этому поводу.
AutoScaling всегда будет пытаться поддерживать высокий уровень доступности. В основном это делается путем равномерного распределения экземпляров по зонам доступности (AZ). Однако, если он не может запустить данный тип инстанса в зоне доступности, он переключится на другую зону доступности (будь то из-за спотовой цены / доступности, сбоя или просто отсутствия доступности по запросу). После того, как он достигнет желаемой емкости, он будет периодически пытаться запустить новый экземпляр в недостаточно используемой зоне доступности, чтобы сбалансировать группу. https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage
Если вы используете ASG с несколькими типами инстансов и вариантами приобретения, тогда он сначала определит, следует ли запускать спотовый инстанс или инстанс по запросу, в зависимости от ваших настроек. Затем он попытается запустить один из типов инстансов, выбранных вами в соответствии с вашей стратегией распределения. Если предпочтительный тип инстанса недоступен, он будет пробовать все типы инстансов в этой зоне доступности. Если в этой зоне доступности нет доступных, он будет продолжать пробовать другие зоны доступности. Таким образом, должно быть довольно много разных пулов емкости, все из которых не могут запускать экземпляры, чтобы вы не получили экземпляр.
Он НЕ будет переключаться с места на OnDemand, если во всех зонах доступности нет спотовой емкости для любого из выбранных вами типов инстансов.
https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
По моему опыту, группа автомасштабирования всегда пытается запустить одинаковое количество экземпляров в каждой зоне доступности, которую она использует. Я по ошибке добавил зоны доступности, в которых нет экземпляров типа, указанного в конфигурации запуска, и ASG продолжала пытаться запускать экземпляры там, несмотря на то, что не запускала пропорционально больше экземпляров в другом месте.