Как лучше автоматизировать программу с помощью лямбды, правил cloudwatch и заданий cron - PullRequest
0 голосов
/ 23 марта 2020

У меня есть программа, которую я автоматизировал с помощью правил lambda и cloudwatch (в основном, cron-заданий). Например, задание cron запускает лямбда-функцию, которая запускает серверы и БД для запуска в определенное время. После запуска серверов я получаю уведомление по электронной почте SNS о том, что серверы работают. Через пять минут другое задание cron запускает кластер ECS для запуска программы, и снова я получаю уведомление по электронной почте SNS о том, что программа запущена. Когда программа завершает работу в заданное время, задание cron на реальном сервере MongoDB запускает сценарий оболочки для резервного копирования базы данных на S3, я снова получаю уведомление. Затем задание cron запускает лямбда-функцию для отключения всех серверов.

Когда время изменилось, оно скинуло все. Мне пришлось вручную перенастроить все задания cron. Что заставило меня задуматься. Есть ли лучший способ автоматизировать эту программу с меньшим количеством рабочих мест и меньшим количеством ручного участия от меня?

Например, как только cron запускает запуск серверов, есть ли лучший способ запустить кластер / программу ECS? Можно ли использовать электронную почту SNS topi c для запуска программы?

Как только программа завершит работу, возможно ли запустить документ System Manager для резервного копирования базы данных на S3?

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

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

  1. 4 вечера - задание Cron запускает лямбда-функцию для включения ECS Кластер и Сервер MongoDB (уведомление отправлено по электронной почте SNS).
  2. 4: 17: - Задание Cron запускает задачу ECS для запуска программы и выполняется до ее завершения (уведомление отправляется по электронной почте SNS).
  3. 5: 10 - Задание Cron на сервере MongoDB запускает сценарий оболочки для резервного копирования базы данных на S3 (уведомление отправляется по электронной почте SNS).
  4. 5: 15 - Задание Cron запускает функцию Lambda для отключения всех серверов.

Я ищу лучший способ выяснить, сколько времени требуется программе для запуска от начала до конца sh. Работа Cron вызывает слишком много ручного участия. Мне нужны рекомендации / предложения о том, как сделать автоматизированный процесс лучше и эффективнее.

...