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

Спотовые инстансы часто прерываются в группе автоматического масштабирования AWS (сбой проверки работоспособности системы)

У нас есть 2 группы автоматического масштабирования (одна для инстансов по требованию и одна для спотовых инстансов), каждая из которых настроена на статическое количество экземпляров (минимальное, максимальное и желаемое одинаковы - в нашем случае 5). Экземпляры в группе по требованию продолжают работать, но экземпляры в спотовой группе часто прекращают работу из-за проверки работоспособности системы. Сообщение, отображаемое для завершенного экземпляра на вкладке истории масштабирования в консоли управления EC2, например:

«В 2014-05-07T18: 06: 45Z экземпляр был выведен из эксплуатации в ответ на проверку работоспособности системы».

Я не знаю, почему наши спотовые экземпляры не проходят проверку работоспособности. Наша цена предложения высока, и я не думаю, что инстансы должны были прекращаться из-за спотовой цены (на основе истории спотовых цен). Я настроил зоны доступности, в которых запускаются экземпляры, и не вижу разницы. Когда я проверяю системный журнал недавно отключенного экземпляра, я не вижу никаких подозрительных сообщений. Мы используем частный / настраиваемый AMI для обеих групп, но я вижу то же поведение, когда переключаюсь на более общий AMI (образ «Ubuntu 12.04 LTS Precise EBS boot», указанный на alestic.com - ami-5db4a934). Опять же, наши инстансы по требованию продолжают работать и не пропускают проверки работоспособности. Мы используем тип проверки работоспособности «EC2».

Вот команда, которую мы используем для создания нашей конфигурации запуска через интерфейс командной строки AWS:

aws autoscaling create-launch-configuration \
--launch-configuration-name [name] \
--image-id ami-5db4a934 \
--key-name [our key] \
--security-groups [our SGs] \
--instance-type m3.xlarge \
--block-device-mappings '[ { "DeviceName": "/dev/sda1", "Ebs": { "VolumeSize": 8 } } ]' \
--spot-price "1.00"

Кто-нибудь знает, что это может быть или как мы можем получить больше информации о том, почему спотовые экземпляры не проходят проверки работоспособности?

Обновить

Наша цена предложения высока, и я не думаю, что инстансы должны были прекращаться из-за спотовой цены (на основе истории спотовых цен)

Споры по спотовым ценам - не единственная возможная причина Спотовый инстанс Amazon EC2 прекращается AWS, другой заметной проблемой является нехватка ресурсов:

  • Емкость доступных спотовых инстансов зависит от спроса на обычные инстансы, и если нет никаких инстансов определенного типа, доступных для пользователей, запрашивающих обычные инстансы по запросу, AWS начнет завершать спотовые инстансы для выполнения этих запросов.
  • На самом деле я столкнулся с этим в us-east-1 чаще, чем где-либо еще, и гораздо чаще в последний месяц для новых семейств типов инстансов m3 / c3 / i3 (понятный эффект увеличения емкости с течением времени).

Вы можете проверить фактическую причину прекращения спотового запроса вручную в Консоль управления AWS или например через интерфейс командной строки AWS описать точечные запросы экземпляров. Для расширенного использования спотовых инстансов я бы рекомендовал начать Отслеживание спотовых запросов с кодами статуса ставок и соотнесите их с прекращением работы вашего экземпляра для лучшего понимания работы. Увидеть Жизненный цикл спотовых запросов и Ссылка на код статуса спотовой ставки для получения дополнительных сведений, в частности о следующих причинах спотового завершения AWS:

  • instance-terminated-by-price

    Спотовая цена превысила вашу цену предложения. Если ваш запрос является постоянной ставкой, процесс - или жизненный цикл - перезапускается, и ваша ставка снова будет ожидающей оценки.

  • instance-terminated-no-capacity

    Для экземпляра больше нет доступных спотовых ресурсов.

  • instance-terminated-capacity-oversubscribed

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

  • instance-terminated-launch-group-constraint

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


Первоначальный ответ

«В 2014-05-07T18: 06: 45Z экземпляр был выведен из эксплуатации в ответ на проверку работоспособности системы».

Это вводящее в заблуждение сообщение попросту появляется, когда Спотовый инстанс Amazon EC2 был прекращен из-за разногласий по спотовой цене, см., например, ответ команды AWS на Сообщение об автоматическом масштабировании и прекращение работы спотового инстанса:

Вы правы, экземпляр был прекращен из-за спотовой цены.

Экземпляр был остановлен непосредственно перед проверкой работоспособности, поэтому он был выведен из эксплуатации, поскольку он все еще был связан с группой AS.

Я не понимаю, почему AWS не удалось улучшить интеграцию между Автоматическое масштабирование и Amazon EC2 тем не менее, в этом отношении имеет больше смысла, если учесть, что на самом деле это две отдельные услуги, поэтому, если «внешний» бэкэнд спотового рынка завершит работу экземпляра EC2, он просто станет «нездоровым» с точки зрения автоматического масштабирования - это как бы задокументировано в Получение информации об экземплярах, запущенных с помощью автоматического масштабирования:

  • Причина: в 2012-06-01T00: 47: 51Z экземпляр был выведен из эксплуатации в ответ на проверку работоспособности системы. Описание: Завершение экземпляра EC2: i-88ce28f1

    Auto Scaling поддерживает необходимое количество экземпляров, отслеживая состояние работоспособности экземпляров в группе Auto Scaling. Когда Auto Scaling получает уведомление о том, что экземпляр неисправен или прекращен, Auto Scaling запускает другой экземпляр, который заменяет неисправный. [...]

    Заметка
    Автоматическое масштабирование обеспечивает причину завершения экземпляра, которая не является результатом действия масштабирования. Сюда входят экземпляры, которые были прекращены из-за того, что спотовая цена превысила цену предложения.. [курсив мой]

Ничего страшного - это была проблема с нашей стороны (ошибочная фоновая обработка убивает спотовые экземпляры). Стыдно!