AWS CloudWatch для запуска / остановки инстансов EC2

Просто ищу способ запустить / остановить инстанс AWS EC2 в случае увеличения или уменьшения загрузки ЦП на другом инстаке EC2. Я знаю, что в AWS есть сервис Auto Scaling, но у меня есть сценарий, при котором я не могу воспользоваться этим сервисом.

Так что просто ищу, возможно ли это, или кто-нибудь может мне в этом помочь.

Просто подробно излагаю проблему, например, предположим, что у меня есть 2 экземпляра EC2 в учетной записи AWS с именами EC21 и EC22. По умолчанию экземпляр EC22 остановлен.

Теперь мне нужно настроить CloudWatch или любую другую службу, чтобы проверить, увеличивается ли загрузка / использование ЦП на экземпляре EC21 на 70%, затем необходимо запустить сервер EC22, и аналогично, если нагрузка на экземпляр EC21 снизилась на 30%, остановите сервер EC22.

Пожалуйста посоветуй!


person mercury    schedule 19.07.2016    source источник
comment
Вам следует подумать об использовании групп автомасштабирования, если это вообще возможно. Группа с min = 1 и max = 2, установленными для соответствующего масштабирования, вероятно, будет работать лучше всего.   -  person jzonthemtn    schedule 19.07.2016
comment
Я не могу использовать групповую опцию автомасштабирования, как я уже упоминал в своем вопросе. просто для справки, что мне нужна поддержка MSDTC в среде балансировки нагрузки, которая вызывает проблемы с автомасштабированием. Пожалуйста, посмотрите мою другую ветку на stackoverflow по этой проблеме; stackoverflow .com / questions / 38452125 /   -  person mercury    schedule 20.07.2016
comment
Группа автомасштабирования не требует ELB.   -  person jzonthemtn    schedule 20.07.2016


Ответы (3)


Когда срабатывает будильник CloudWatch, он уведомляет тему в социальных сетях. Затем у вас может быть эта тема SNS для вызова лямбда-функции, которая затем может запустить ваш экземпляр EC2.

  1. Создайте функцию AWS Lambda, которая запускает ваш экземпляр EC2.
  2. Настройте тему SNS так, чтобы она вызывала вашу лямбда-функцию при получении сообщений. Вы можете прочитать об этом здесь: Вызов лямбда-функций с помощью уведомлений Amazon SNS < / а>
  3. Наконец, убедитесь, что ваше оповещение CloudWatch отправляет сообщения в тему SNS.
person Matt Houser    schedule 19.07.2016

Да, это возможно для определенных типов инстансов EC2. Ознакомьтесь с этим подробным руководством, с помощью которого вы можете настроить триггеры в своих инстансах EC2 на основе показателей AWS Cloud Watch.

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingAlarmActions.html

person error2007s    schedule 19.07.2016

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

Решение аналогично описанному Мэттом, но без SNS, с использованием триггеров AWS для запуска лямбда-функции для запуска экземпляра. Дополнительным преимуществом является то, что лямбда-функция может сама проверять, действительно ли требуется запуск EC2.

Как останавливать и запускать инстансы Amazon EC2 через регулярные промежутки времени, используя AWS Lambda?

Проблема

Я хочу сократить использование Amazon Elastic Cloud Compute (Amazon EC2), останавливая и запуская инстансы в заранее определенное время или пороговые значения использования. Могу ли я настроить AWS Lambda и Amazon CloudWatch, чтобы сделать это автоматически?

Краткое описание

Вы можете использовать событие CloudWatch для запуска функции Lambda для запуска и остановки ваших экземпляров EC2 через запланированные интервалы.

Источник: Центр знаний AWS

person Czechnology    schedule 26.03.2018