Подтвердить что ты не робот

Amazon EC2 автомасштабирует вниз с изящным отключением?

Мы рассматриваем использование автомасштабирования EC2 для работы с шипами в нагрузке. В нашем случае мы хотим масштабировать экземпляры на основе размера очереди SQS, а затем вниз, при этом размер очереди возвращается под контроль. Каждое сообщение SQS определяет потенциально долго выполняемое задание (иногда до 20 минут для сообщения), которое должно быть завершено до того, как экземпляр может быть завершен.

Наше программное обеспечение обрабатывает процесс выключения изящно, поэтому выдача sudo service ourapp stop будет ждать завершения приложения перед возвратом.

Мой вопрос; когда автомасштабирование начинает уменьшаться, происходит выход из строя (который, по-видимому, похож на нажатие кнопки питания), будет ли ждать, пока наше приложение полностью выйдет до того, как экземпляр отключится?

https://forums.aws.amazon.com/message.jspa?messageID=180674 < - что и другие вещи, которые я нашел, похоже, предполагают, что это не

4b9b3361

Ответ 1

В середине 2014 года AWS представила "крючки жизненного цикла", который позволяет полностью контролировать процесс завершения.

Наш высокоуровневый процесс масштабирования:

  • Автоматическое масштабирование отправляет сообщение в очередь SQS с идентификатором экземпляра
  • Приложение-контроллер получает сообщение
  • Приложение Controller выдает запрос "stop instance"
  • Приложение контроллера повторно ставит в очередь сообщение SQS во время остановки экземпляра
  • Приложение Controller снова забирает сообщение, проверяет, прекратил ли экземпляр (или повторно отправил сообщение, чтобы повторить попытку позже)
  • Приложение Controller уведомляет об автоматическом масштабировании значение "PROCEED" с завершением
  • Приложение Controller удаляет сообщение из очереди SQS

Подробнее: http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html

Ответ 2

В большинстве новейших AMI машинам присваивается эквивалент "halt" (или "shutdown -h now" ), чтобы сервисы были изящно закрыты. Пока ваша программа отлично работает со сценариями запуска/выключения, вы должны быть в порядке, но если ваша программа занимает более 20 секунд, вы можете столкнуться с тем, что Amazon полностью уничтожит экземпляр.

Amazon документация в отношении их автомасштабирования не указывает процесс завершения, но AWS документация для ec2 вообще содержит информацию о том, что происходит во время процесса завершения, - что машинам предоставляется команда "shutdown", а время отключения по умолчанию для большинства систем составляет 30 секунд.