Ir para o conteúdo

Como uso o ELB para solucionar o motivo pelo qual os usuários finais não conseguem acessar meu site?

5 minuto de leitura
0

Quero usar o Elastic Load Balancing (ELB) para solucionar o motivo pelo qual os usuários finais não conseguem acessar meu site.

Resolução

Os usuários finais podem enfrentar os seguintes problemas:

  • O tempo limite da página expirou.
  • O site está enfrentando problemas intermitentes.
  • Há um atraso no carregamento da página.
  • Eles recebem um erro de código de status HTTP 5XX.

Faça uma pesquisa e comparação de DNS

Verifique se seu domínio está sendo resolvido corretamente para o endereço IP dos nós do balanceador de carga para que a conexão do cliente seja enviada para o endereço IP correto.

Execute um dos seguintes comandos para obter os registros DNS do domínio:

dig affected domain

-ou-

nslookup affected domain

Em seguida, execute o comando a seguir para obter os registros DNS do balanceador de carga:

dig lb-xxxxxxxxxx.us-east-1.elb.amazonaws.com

Compare os registros DNS do domínio com os registros DNS do balanceador de carga. A verificação é bem-sucedida quando a lista de endereços IP coincidir. Se o balanceador de carga estiver em um estado de escalonamento horizontal, talvez haja mais endereços IP do que a resposta do DNS pode mostrar. Para obter todos os endereços IP, execute várias consultas de DNS.

Verifique o status de integridade das instâncias ou destinos de back-end do balanceador de carga

Uma instância ou destino de back-end não íntegro do Amazon Elastic Compute Cloud (Amazon EC2) pode afetar o roteamento. Se os destinos não estiverem íntegros, o serviço poderá estar inativo na instância de destino ou de back-end. Ou os balanceadores de carga não conseguem obter uma resposta da instância de destino ou de back-end.

Analise as verificações de integridade do tipo do seu balanceador de carga para determinar o status da instância ou do destino de back-end:

Observação: ao desativar o balanceamento de carga entre zonas, você afeta a forma como as solicitações são roteadas com Network Load Balancers e Classic Load Balancers. É possível configurar verificações de integridade em portas que não sejam portas de tráfego. No entanto, mesmo quando a instância de destino ou de back-end está íntegra, o destino pode não responder ao tráfego de entrada.

Conecte-se aos nós do balanceador de carga

Conecte diretamente os nós do balanceador de carga para testar o seguinte:

  • É possível acessar os endereços IP do balanceador de carga que o DNS resolveu.
  • O problema ocorre somente com a sub-rede de uma zona de disponibilidade específica.

Observe os endereços IP do balanceador de carga. Em seguida, tente se conectar aos endereços IP, um de cada vez. É uma prática recomendada usar a ferramenta curl para realizar essa verificação. Se você usa um navegador, o teste pode não funcionar devido às validações do certificado e ao cabeçalho do host.

Execute o seguinte comando:

curl -lvk protocol://ELB IP Address:port/path -H "Host: domain name"

Observação: substitua o protocolo, endereço IP do ELB, porta, caminho e nome de domínio por seus valores.

Se você receber uma resposta, verifique se a resposta é esperada ou se é um erro. Se a resposta for esperada, verifique o próximo endereço IP.

Verifique o balanceador de carga em busca de problemas de instância de back-end ou destino

Verifique o status da comunicação do balanceador de carga com a instância de back-end ou destino.

Confirme se os grupos de segurança, a lista de controle de acesso à rede (ACL de rede) e o roteamento permitem o acesso. Em seguida, faça login na instância de back-end ou destino. Com base no seu sistema operacional (SO), execute um dos seguintes comandos para confirmar se o serviço da web está escutando na porta configurada:

Windows:

netstat -an | findstr "LISTEN" | findstr "port"

Linux:

netstat -an | grep LISTEN | grep "port"

Observação: substitua a porta pela porta de escuta da instância de back-end ou destino que é usada ao registrar a instância de back-end ou destino no balanceador de carga.

Se a porta de escuta não estiver listada, o serviço da web está inativo.

Se a resposta mostrar que a porta está escutando, execute o seguinte comando:

curl -lvk protocol://localhost:port

Observação: substitua o protocolo pelo serviço de aplicação de escuta e a porta pela porta localhost.

Se você receber uma resposta do comando anterior, seu serviço da web está funcionando.

Também é possível iniciar uma conexão a partir de outra instância na mesma Amazon Virtual Private Cloud (Amazon VPC). Verifique se a conexão alcança e recebe uma resposta do serviço da web. A resposta mostra o que o balanceador de carga recebe quando você tenta se conectar à instância de back-end ou destino.

Informações relacionadas

Por que não consigo me conectar a um site hospedado na minha instância do EC2?

AWS OFICIALAtualizada há um ano