2017-01-25 4 views
1

Я пытаюсь найти способ, чтобы экземпляр Amazon EC2 автоматически останавливался, когда определенный пользовательский показатель на CloudWatch прошел ограничение. До сих пор, если я правильно понял на основе этих статей:Остановить экземпляр EC2, когда пользовательский предел пропускной способности в облачном режиме

Это будет работать только тогда, когда метрика определяется следующим образом:

  • Привязанный к определенный пример
  • С типом системы/Linux

Однако в моем случае у меня есть индивидуальная метрика, которая на самом деле не связана с экземпляром, а «глобальная», и если будет принят определенный предел, мне нужно будет остановить все экземпляры, независимо от того, из какого экземпляра ограничивается журнал получен.

Кто-нибудь знает, есть ли способ сделать эту работу? Мне нужно, чтобы CloudWatch работал следующим образом:

  • Если произвольное значение собственной метрики проходит определенное ограничение -> останавливать определенные экземпляры, не привязанные к самой метрике.

Основная проблема заключается в том, что опция EC2 неактивна, как метрика не привязана к определенной инстанции EC2, и я не уверен, есть ли способ сделать это без фактически делает метрику сами определенный экземпляр, связанную.

ответ

3

Имейте пользовательские уведомления о метрических сообщениях CloudWatch для темы SNS.

Попросите тему SNS включить функцию Lambda, которая отключает ваши экземпляры EC2 посредством вызова API AWS.

+0

Благодарим вас за идею, попробуем! – Michikawa

+1

Получил работу! Я закончил с системой, в которой экземпляры фактически не сбрасываются, но конфигурация балансировки нагрузки динамически изменяется, поэтому они перенаправляют трафик на статические ресурсы. Но ваша техника оказалась правильной, это было просто вопрос настройки темы SNS и ее привязки к соответствующей Lambda и настройке Lambda-кода. Я закончил использовать команды балансировки нагрузки boto3, которые позволяют мне настраивать слушателей. – Michikawa