Как создать автоматический CloudWatch Alarm каждый раз, когда запускается экземпляр EC2 с каким-либо именем? - PullRequest
0 голосов
/ 05 апреля 2019

Фон:

  • У меня есть экземпляр EC2, который называется «Тестовый хост». Я хочу следить за здоровьем этого хозяина. Поэтому я использую метрику EC2 StatusCheckFailed для мониторинга работоспособности этого хоста.

Проблема, которую я пытаюсь решить:

  • При возникновении проблемы с «Тестовым хостом» я получу уведомление. Я мог бы прервать и повторно запустить новый хост с именем «Тестовый хост»

  • Чего я хочу добиться, так это как только я создаю новый хост с именем «Тестовый хост», я хочу, чтобы в CloudWatch автоматически создавался сигнал тревоги StatusCheckFailed.

То, что я до сих пор пробовал:

Мне удалось написать небольшой скрипт Lambda Python, который находит экземпляр EC2 с именем «Test Host» и создает StatusCheckFailed тревогу CloudWatch.

Я не могу найти подходящее событие CloudWatch, которое вызовет эту функцию Lambda. [Для установки события CloudWatch нам нужен идентификатор экземпляра. Если я завершу работу и перезапущу новый экземпляр, я не смогу это настроить]

Также, если есть какой-то альтернативный способ решить мою проблему, я бы с удовольствием это услышал.

1 Ответ

0 голосов
/ 06 апреля 2019

Вы можете создать правило Amazon CloudWatch Events , которое будет запускать функцию AWS Lambda, когда экземпляр входит в определенное состояние:

CloudWatch Events rule

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

CloudWatch Events rule

Я не уверен, достаточно ли RunInstances или должно быть ec2:RunInstances, поэтому вам, возможно, придется немного поэкспериментировать.

...