Eu tenho um ambiente de elasticbeanstalk que usa o nginx como um servidor de frontend para um aplicativo node.js.
O ambiente usa um balanceador de carga elástico configurado para aceitar conexões no TCP: 80 / SSL: 443 e encaminhar ambas para a instância nginx no TCP: 8080. Estou usando TCP / SSL + ProxyProtocol, em vez de HTTP / HTTPS, para suportar websockets.
O AWS ELB não me permite usar um URL para verificações de integridade do balanceador de carga ao usar o TCP. Eu preciso usar um, caso contrário, ele só verifica se o nginx está escutando no 8080, e não se o meu aplicativo node.js estiver em execução.
Estou procurando ideias para fazer isso funcionar. O objetivo é obter o URL de verificação de integridade do aplicativo node.js e fazer com que o AWS ELB marque a instância como não íntegra se o status da URL de verificação de integridade não for 200.
Minha idéia atual é tentar usar o suporte do nginx para verificações de saúde, então ele vai contra o nodejs, e se ele detectar o aplicativo como não íntegro, pare de ouvir conexões no 8080, então o ELB marcará a instância como não íntegra. Talvez executar um comando quando o nginx detectar instâncias íntegras / não íntegras seja suficiente.
Isso é possível? Alguma outra ideia?