На AWS ежедневно запускайте команду CLI AWS - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть вызов AWS CLI (в данном случае, чтобы запустить сконфигурированный кластер EMR, выполнить несколько шагов, а затем завершить работу), но я не уверен, как его запускать ежедневно.

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

Это не должно быть хорошим долгосрочным решением, подходящим до тех пор, пока яможет сделать это правильно (конвейеры данных) будет работать просто отлично.

Предложения?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Если использование AWI CLI не является строгим требованием, вы можете использовать один из AWS SDK для программного запуска Lambda.

  • Планирование правил CloudWatch с использованием cron
  • Когда настроено, правила CloudWatch будут запускать лямбда-функцию
  • Реализовать лямбда-функцию, которая вызывает EMR, используя один из поддерживаемых SDK (например, класс EMR вAWS JavaScript SDK)
  • Убедитесь, что у вас установлена ​​конфигурация IAM

Полный пример доступен в Расписание лямбда-функций AWS с использованием событий CloudWatch

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

0 голосов
/ 13 декабря 2018

Не уверен насчет всей задачи, которую вы выполняете, но чтобы избежать ее выполнения:

  1. Вручную
  2. Избегайте другой настройки ресурсов в AWS (так как вы

Я бы создал простую работу на сервере Continuous Integration (CI), например jenkins,bamboo,circleci ..... (список можно продолжить).Я бы предположил, что у вас уже может быть запущен сервер CI, почему бы не использовать его?

...