Каков наилучший способ создания планировщика для запуска экземпляров EC2?

Я хочу создать веб-приложение для своей организации, в котором пользователи могут заранее планировать, в какое время они хотят запускать и останавливать свои экземпляры EC2 (например, создавать события в календаре), и эти экземпляры будут автоматически запускаться или останавливаться в эти часы. раз. Я наткнулся на четыре разных варианта:

  1. Конвейер данных AWS
  2. Cron работает на экземпляре EC2
  3. Запланированное масштабирование группы автоматического масштабирования
  4. Запланированные мероприятия AWS Lambda

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

Изменить: кажется, что автоматическое масштабирование предназначено только для запуска и завершения экземпляров, поэтому я могу это исключить.


person D. Stri    schedule 07.08.2017    source источник


Ответы (2)


Простой!

  1. Попросите пользователей добавить к своим экземплярам тег(и), указывающий, когда они должны запускаться и останавливаться (придумайте какой-нибудь формат, чтобы они могли легко указать Пн-Пт или Каждый день)
  2. Создайте функцию AWS Lambda, которая сканирует экземпляры на наличие их тегов и запускает/останавливает их на основе содержимого тега.
  3. Создайте правило событий Amazon CloudWatch, которое запускает функцию Lambda каждые 15 минут (или любое другое разрешение).

Вы, вероятно, сможете найти пример кода, если будете искать AWS Stopinator.

person John Rotenstein    schedule 08.08.2017
comment
Использовать функцию Lambda с правилами Boto3 и cloudwatch очень просто: ec2 = boto3.client('ec2') ec2.stop_instances( InstanceIds = ['XXXXXXXXXX',XXXXXXXX] ) Вот полный пример: dbigcloud.com /облачные вычисления/ - person drsromero; 08.08.2017

Взгляните на ParkMyCloud, если вы ищете внешнее приложение SaaS, которое может помочь вашим пользователям легко планировать ( или отменить это расписание) ваши экземпляры EC2, RDS и ASG. Он также подключается к системе единого входа, предоставляет API и показывает все ваши ресурсы в разных регионах/аккаунтах/облаках. Есть бесплатная пробная версия, если вы хотите проверить это.

Раскрытие информации: я работаю в ParkMyCloud.

person cparlette    schedule 08.08.2017
comment
Это было помечено как спам. Вы как-то связаны с этой компанией? Если да, вы должны раскрыть свою принадлежность. - person Aaron Hall; 08.08.2017