Как узнать, прекратится ли мой экземпляр в ec2? - PullRequest
0 голосов
/ 04 января 2019

У меня есть автоскал в AWS, который в основном делает:

  1. Запустить процесс Python script.py
  2. Этот скрипт получает сообщения из очереди sqs для обработки

Мой автоматический вызов настроен на запуск / завершение экземпляра на основе количества доступных сообщений в очереди. Но иногда, когда я что-то обрабатываю на машинах и # моих сообщениях, мой автомасштабирующий триггер завершает работу экземпляров, поэтому я заканчиваю потерять сообщение в середине обработки.

Я начал пытаться обрабатывать сигналы, но, похоже, не работает.

Моя главная цель:

  • Если я знаю, что мой экземпляр будет скоро завершен, я буду ждать завершения моих текущих процессов (я не получу никакого нового сообщения), а затем я посылаю сигнал "ОК" в AWS, чтобы закрыть экземпляр.

Есть ли способ архивировать это? Я не использую балансировку нагрузки, потому что я вручную получаю сообщения из очереди.

1 Ответ

0 голосов
/ 04 января 2019

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

крючки жизненного цикла AWS с автоматическим масштабированием

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...