Автоматическое масштабирование удаляет запущенную задачу в службе ECS (FARGATE) - PullRequest
0 голосов
/ 01 апреля 2019

Я запускаю службу ecs, используя Fargate на AWS. Каждая задача завершает одну операцию и умирает (извлекает сообщение из очереди SQS и декодирует / кодирует видеофайл). Теперь я разработал политику автоматического масштабирования, как показано ниже,

  1. Если размер очереди SQS больше 5, увеличить желаемое значение до 1 (повторять каждые 60 секунд).
  2. Если размер очереди SQS меньше 2, уменьшите желаемое количество до 1 (повторяйте каждые 60 секунд).

Но AWS делает то, что, когда размер очереди становится меньше 2, он убивает запущенные задачи, оставляя соответствующую операцию "неработающей". Я не хочу, чтобы AWS убивал запущенные задачи (потому что они автоматически умрут в течение некоторого времени после завершения команды), а просто установил желаемое значение 0, чтобы задачи не «возродились». Так что буквально я хочу, чтобы мои задачи не прекращались во время автоматического масштабирования.

Как мне этого добиться в сервисе ECS и aws_ecs_autoscaling_target. Обратите внимание, что я использую terraform для предоставления услуги.

Заранее спасибо.

1 Ответ

1 голос
/ 02 апреля 2019

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

...