Назад | Перейти на главную страницу

Проверка работоспособности AWS ELB при использовании nginx и TCP

У меня есть среда elasticbeanstalk, которая использует nginx в качестве внешнего сервера для приложения node.js.

Среда использует эластичный балансировщик нагрузки, настроенный для приема подключений по TCP: 80 / SSL: 443 и пересылки обоих экземпляру nginx по TCP: 8080. Я использую TCP / SSL + ProxyProtocol вместо HTTP / HTTPS для поддержки веб-сокетов.

AWS ELB не позволяет мне использовать URL-адрес для проверок работоспособности из балансировщика нагрузки при использовании TCP. Мне нужно использовать один, иначе он проверяет только, прослушивает ли nginx 8080, а не работает ли мое приложение node.js.

Я ищу идеи, как заставить его работать. Цель состоит в том, чтобы ПОЛУЧИТЬ мой URL-адрес проверки работоспособности приложения node.js и заставить AWS ELB пометить экземпляр как неработоспособный, если статус URL-адреса проверки работоспособности не равен 200.

Моя текущая идея состоит в том, чтобы попытаться использовать поддержку nginx для проверок работоспособности, чтобы он шел против nodejs, и если он обнаружит приложение как нездоровое, прекратите прослушивание соединений на 8080, чтобы ELB пометил экземпляр как нездоровый. Возможно, будет достаточно запустить команду, когда nginx обнаруживает здоровые / нездоровые экземпляры.

Это возможно? Есть другие идеи?

Конфигурация проверки работоспособности балансировщика нагрузки не зависит от конфигурации конечной точки прослушивателя, поэтому вы можете настроить проверку работоспособности балансировщика нагрузки с помощью HTTP:8080/index.html без проблем.

Не уверен, о чем я думал ...