Verificação de integridade do AWS ELB ao usar nginx e TCP

1

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?

    
por saguiar 23.03.2016 / 21:38

1 resposta

3

A configuração da verificação de integridade do balanceador de carga é independente da configuração do terminal do ouvinte, para que você possa configurar a verificação de integridade do balanceador de carga com HTTP:8080/index.html sem problemas.

Não tenho certeza do que eu estava pensando ...

    
por 24.03.2016 / 03:16