мониторинг портов экземпляра aws ec2 - PullRequest
0 голосов
/ 13 мая 2018

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

Я читал о canwatch, но я не нашел будильник, который я мог бы настроить таким образом (делая запросы к портам). Возможно ли это сделать с помощью cloudwatch? я ищу направление для создания этого мониторинга с использованием внутренних служб aws или разработки нового решения (возможно, сценария sheel).

спасибо!

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Есть много способов сделать то, что вы просите.

  • Самое простое решение: я напишу скрипт boto3 / shell для мониторинга порта и вызову TerminateInstance API или использую AWS CLI для завершения текущего экземпляра. Само собой разумеется, вам нужно передать учетные данные AWS или присоединить профиль экземпляра с достаточными привилегиями для завершения экземпляра.
  • Использование Cloudwatch: есть скрипт для проверки состояния порта и отправки 1 или 0 (измерение: количество) в Cloudwatch. Установите пороговое значение в Cloudwatch, если есть последовательные 0 или NoData, затем завершите экземпляр. Или не отправляйте никакие данные в Cloudwatch, если порт недоступен, а NoData в Cloudwatch может вызвать TerminateInstance. См .: Cloudwatch - AddingTerminateActions
0 голосов
/ 13 мая 2018

Мне неизвестно о какой-либо предоставляемой AWS системе мониторинга работоспособности EC2 для пользовательских проверок.

Вы можете написать функцию AWS lambda , которая отправляет запросы на порты нужного вам экземпляра EC2. Затем вы можете запланировать, чтобы лямбда периодически запускалась с любой частотой, которую вы хотите с Cloudwatch Events. Лямбда-функция может публиковать в качестве метрики для облачных часов, что позволит вам использовать ее в тревоге и, таким образом, предпринимать действия, когда вы считаете целесообразным порог, чтобы ускорить новый экземпляр замены.

Одна из частей AWS, в которой действительно есть то, что вы ищете, - это ECS. Вместо экземпляра EC2 у вас будет экземпляр Docker (запущенный на экземпляре EC2 или Fargate), который может иметь проверок работоспособности, определенных .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...