#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. Так же, как и раньше. Он будет ждать некоторое время, и если задача не будет завершена должным образом, то он убьет силой и завершит экземпляр, я думаю.