Автоматическое масштабирование ECS: уменьшение масштаба

#amazon-web-services #amazon-ecs #autoscaling

Вопрос:

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

Любой ответ или указание на правильную документацию AWS действительно помогут.

Спасибо.

Комментарии:

1. Используете ли вы ECS с комбинацией AWS ALB/целевых групп? Если да, то проверьте задержку снятия с регистрации целевой группы . Вы можете настроить это время до того, как ваша задача будет остановлена. Во время снятия с регистрации в вашу задачу больше не будут добавлены новые подключения, это гарантирует, что у существующих запросов будет достаточно времени для обработки.

2. Большое вам спасибо @AlinAndrei, ваше предложение помогает мне проверить то же самое в реальном развертывании и вернуться к этому.

3. @AlinAndrei У меня есть дополнительный вопрос, который я получил при проверке. Поскольку я использую ECS в режиме размещения EC2 и также установил автоматическое масштабирование для EC2, я пытаюсь понять, что произойдет, если экземпляр EC2 масштабируется и на нем выполняется активная задача или этого не произойдет?

4. Из документации AWS: Автоматическое масштабирование кластера Amazon ECS позволяет вам лучше контролировать масштабирование инстансов Amazon EC2 в кластере. При создании поставщика мощности группы автоматического масштабирования с включенным управляемым масштабированием Amazon ECS управляет масштабированием и масштабированием действий группы автоматического масштабирования, используемых при создании поставщика мощности. От вашего имени Amazon ECS создает план автоматического масштабирования AWS с политикой масштабирования отслеживания целей на основе указанного вами значения целевой емкости.

5. До тех пор, пока вы будете следовать упомянутому выше, вам не придется беспокоиться о масштабировании операций ввода/вывода, поскольку ECS управляет группой автоматического масштабирования EC2 . Более подробная информация здесь

Ответ №1:

Проверьте это.

Когда задача остановлена, в процесс ввода каждого контейнера отправляется сигнал SIGTERM, обычно PID 1. По истечении тайм-аута процессу будет отправлен сигнал SIGKILL. По умолчанию существует 30 second delay разница между доставкой сигналов SIGTERM и SIGKILL. Это значение может быть скорректировано путем обновления параметра задачи ECS stopTimeout или с помощью экземпляров контейнера EC2 путем установки переменной среды агента ECS ECS_CONTAINER_STOP_TIMEOUT. Процессы, которые не завершатся до истечения тайм-аута, будут внезапно прекращены после получения сигнала SIGKILL.

По умолчанию он будет ждать завершения процесса до 30 секунд.

Комментарии:

1. Ладно, понял, у меня есть еще один вопрос по этому поводу. Поскольку я использую ECS в режиме размещения EC2 и также установил автоматическое масштабирование для EC2, я пытаюсь понять, что произойдет, если экземпляр EC2 масштабируется и на нем выполняется активная задача или этого не произойдет?

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