Запланировать ли периодически запуск образа Docker на AWS ECS? - PullRequest
0 голосов
/ 11 мая 2018

Как мне запланировать, чтобы образ докера запускался периодически (ежечасно) с использованием ECS и без необходимости постоянно использовать экземпляр EC2 + cron? У меня есть образ докера, содержащий сторонние двоичные файлы и проект Python.

Последний подход не является жизнеспособным в долгосрочной перспективе, так как экземпляр работает 24/7 дорого, хотя используется только в течение небольшой доли дня, если вызов сценария длится всего ~ 3 минуты.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

На самом деле можно запланировать запуск непосредственно в CloudWatch, определяя правило, как описано в

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduled_tasks.html

Это решение чище, потому что вам не нужно беспокоиться о времени выполнения: по завершении задача будет просто завершена, а в следующем цикле появится новая задача

0 голосов
/ 06 июля 2018

Для кластера AWS ECS рекомендуется иметь как минимум 1 сервер EC2, работающий 24x7.Вы смотрели на AWS Fargate, может ли он работать с вашим док-контейнером?Также AWS Batch ?.Если Fargate и AWS Batch невозможны, то по вашему требованию я бы порекомендовал что-то подобное без ECS.

  1. Создайте ECI AMI с предварительно встроенным докером и необходимыми программами и библиотеками.

  2. Имейте планировщик экземпляров AWS, чтобы каждый час запускать сервер EC2, и, как часть пользовательских данных, запустите контейнер докера с изображением, которое вы упомянули.https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/

  3. Если вы знаете, что время выполнения вашей задачи может быть 5 минут.Через 8 или 10 минут затем выключите сервер с помощью планировщика.

При вышеуказанном подходе EC2 вслепую запустится и остановит его, не зная, была ли ваша работа с Python выполнена успешно.Мы все еще можем улучшить выше с комбинацией шаблонов Lambda и CloudFormation.Дайте мне знать ваши мысли:)

...