Como posso solucionar falhas na verificação de integridade dos meus Application Load Balancers?
Quero descobrir por que os destinos registrados no meu Application Load Balancer não estão íntegros.
Resolução
Para solucionar problemas em falhas nas verificações de integridade do seu Application Load Balancer, é possível executar o runbook AWSSupport-TroubleshootELBHealthChecks. O runbook automatiza a análise das métricas de verificação de integridade do seu painel do Amazon CloudWatch. O runbook também valida as configurações de rede no Application Load Balancer e em seus destinos. Nos destinos gerenciados pelo AWS Systems Manager, o runbook fornece comandos avançados de diagnóstico com retenção opcional de logs no Amazon S3. A solução runbook se aplica ao tipo de destino da instância.
Também é possível usar o mapa de recursos do Application Load Balancer para visualizar os recursos do balanceador de carga e identificar destinos não íntegros. O mapa de recursos mostra todos os recursos do Application Load Balancer em uma única página.
Observação: se a resposta HTTP de destino do Application Load Balancer não for a resposta esperada, verifique a resposta da sua aplicação. Certifique-se de que a aplicação envia a resposta correta ao balanceador de carga.
Com base no código do motivo da verificação de integridade encontrado, execute as seguintes ações de solução de problemas.
Elb.InitialHealthChecking
Antes que um destino possa receber solicitações do balanceador de carga, ele deve passar por verificações de integridade iniciais. Espere o destino passar pelas verificações de integridade iniciais e, em seguida, verifique novamente seu status de integridade.
Elb.RegistrationInProgress
O destino está sendo registrado. Aguarde a conclusão do registro e a aprovação das verificações de integridade iniciais do destino. O balanceador de carga roteia automaticamente as solicitações para o destino depois de registrar o destino.
Target.DeregistrationInProgress
O grupo de destino remove o destino. O balanceador de carga interrompe novas solicitações para o destino ao concluir as solicitações em andamento. O atraso padrão de cancelamento do registro dura 300 segundos. Para verificar ou modificar o valor do atraso, consulte Atraso do cancelamento do registro.
Target.FailedHealthChecks
Execute ou use uma instância disponível do Amazon Elastic Compute Cloud (Amazon EC2) na mesma nuvem privada virtual (VPC) da instância de destino. Verifique se você tem acesso a essa instância. Em destinos acessíveis ao público, execute o comando a seguir para enviar uma solicitação de verificação de integridade diretamente para o endereço IP público da instância de destino:
curl -vkso /dev/null HealthCheck_protocol://Target_IP:HealthCheck_port/HealthCheck_path
Observação: substitua Target_IP pelo endereço IP da instância de destino, HealthCheck_port pela porta de verificação de integridade e HealthCheck_path pelo caminho da verificação de integridade. O comando anterior ignora o balanceador de carga para testar a resposta do destino
Para verificar como sua aplicação responde às solicitações de verificação de integridade do balanceador de carga, execute o comando a seguir para simular uma solicitação de verificação de integridade:
curl -H "User-Agent: ELB-HealthChecker/2.0" -I http://localhost:PORT/HEALTH_CHECK_PATH
Observação: substitua PORT pelo número da porta da sua aplicação e HEALTH_CHECK_PATH pelo caminho da sua verificação de integridade.
Verifique se a resposta inclui um código de status HTTP que corresponda ao seu código de sucesso configurado. O código de sucesso padrão é 200. Se não for possível usar o curl, verifique os logs da sua aplicação em busca de solicitações do agente de usuário ELB-HealthChecker/2.0.
O exemplo a seguir é uma solicitação típica de verificação de integridade do Application Load Balancer com uma resposta HTTP válida:
GET / HTTP/1.1 Host: 10.0.0.1:80 Connection: close User-Agent: ELB-HealthChecker/2.0 Accept-Encoding: gzip, compressed
Observação: no exemplo anterior, o valor do cabeçalho Host contém o endereço IP privado do destino, seguido pela porta de verificação de integridade. O Agente de usuário está definido como ELB-HealthChecker/2.0. Se sua aplicação não receber as solicitações de verificação de integridade, adicione uma entrada padrão de host virtual que corresponda à porta de verificação de integridade.
Se você conectou várias interfaces de rede elástica ao seu destino, confirme se sua aplicação está recebendo na interface de rede correta. Para verificar a interface que sua aplicação usa, execute o seguinte comando:
netstat -an | grep LISTEN
Verifique se a porta da sua aplicação usa o endereço IP correto da interface. Para obter mais informações sobre como as interfaces de rede funcionam com diferentes tipos de destino e como configurá-las corretamente, consulte Target type (Tipo de destino).
Confirme se o destino fornece um certificado de servidor e uma chave no formato que você especificou na política de segurança do Elastic Load Balancing. Verifique se o destino oferece suporte às cifras correspondentes e o protocolo que o balanceador de carga fornece para estabelecer o handshake SSL/TLS.
Para verificar o suporte à cifra SSL/TLS, execute o seguinte comando no seu destino:
openssl s_client -connect your_target:443 -servername your_target
Observação: substitua your_target pelo seu destino.
Compare as cifras suportadas na saída com as cifras listadas na política de segurança do seu balanceador de carga.
Destinos do Linux
Em destinos do Linux, execute o seguinte comando para verificar se o serviço está ativo e em execução:
service httpd status
Observação: substitua httpd pelo nome do serviço.
Procure active na saída.
Exemplo de saída:
Redirecting to /bin/systemctl status httpd.service httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled) Active: active (running) since Fri 2025-06-13 07:00:35 UTC; 16s ago ------------------------------------------------> server status Docs: man:httpd.service(8) Main PID: 10146 (httpd) Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec" Tasks: 177 (limit: 9486) Memory: 17.9M CPU: 90ms CGroup: /system.slice/httpd.service ├─10146 /usr/sbin/httpd -DFOREGROUND ├─10147 /usr/sbin/httpd -DFOREGROUND ├─10148 /usr/sbin/httpd -DFOREGROUND ├─10149 /usr/sbin/httpd -DFOREGROUND └─10150 /usr/sbin/httpd -DFOREGROUND Jun 13 07:00:35 ip-172-16-1-59.ec2.internal systemd[1]: Starting httpd.service - The Apache HTTP Server... Jun 13 07:00:35 ip-172-16-1-59.ec2.internal systemd[1]: Started httpd.service - The Apache HTTP Server. Jun 13 07:00:35 ip-172-16-1-59.ec2.internal httpd[10146]: Server configured, listening on: port 80 ---------------->listening port
Se o serviço for exibido como inativo ou com falha, execute o seguinte comando para iniciá-lo:
service httpd start
Observação: substitua httpd pelo nome do serviço.
Para confirmar se os destinos do Linux estão recebendo o tráfego na porta de verificação de integridade, execute o seguinte comando:
ss -nral | grep PORT_NUMBER
Observação: substitua PORT_NUMBER pela sua porta de verificação de integridade. Por exemplo, use 80 para HTTP.
Exemplo de saída:
tcp LISTEN 0 511 * :80 * :*
Destinos do Windows
Nos destinos do Windows, verifique a aba Serviços no Gerenciador de tarefas do Windows. Inicie o serviço se ele estiver interrompido. Se o Windows não reconhecer o serviço, verifique se você o instalou.
Para verificar se os destinos do Windows estão recebendo o tráfego na porta de verificação de integridade, execute o seguinte comando:
netstat -an | findstr LISTEN | findstr :PORT_NUMBER
Observação: substitua PORT_NUMBER pela sua porta de verificação de integridade.
Target.InvalidState
Se o destino for uma instância do Amazon EC2, use o console do Amazon EC2 para verificar se a instância está em execução. Se a instância não estiver em execução, execute-a manualmente. Se o destino não for uma instância do EC2, verifique o status do seu destino no Console de gerenciamento da AWS do serviço.
Target.IpUnusable
Se seu tipo de destino for ip, não selecione um endereço IP que um balanceador de carga já esteja usando. Para atualizar seu endereço IP, conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, selecione Instâncias.
- Clique em Ação e, em seguida, selecione Rede.
- Clique em Gerenciar endereços IP.
- Modifique o endereço IP privado primário.
- Clique em Salvar.
- Reinicialize a instância.
Target.NotInUse
Para verificar se você configurou o grupo de destino para receber tráfego do balanceador de carga, conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, clique em Balanceadores de carga.
- Selecione seu balanceador de carga.
- Clique em Ação e selecione Gerenciar receptores.
- Confirme se você associou seu grupo de destino a pelo menos um receptor ativo.
Para atualizar uma Zona de disponibilidade em seu balanceador de carga, consulte Update the Availability Zones for your Application Load Balancer (Atualizar zonas de disponibilidade em seu Application Load Balancer).
Target.NotRegistered
Certifique-se de registrar o destino no grupo de destino.
Target.ResponseCodeMismatch
Para verificar os códigos de sucesso, analise sua configuração de verificação de integridade para identificar os códigos de sucesso que seu balanceador de carga espera. Em seguida, abra os logs de acesso do seu servidor web e verifique os códigos de status HTTP que sua aplicação retorna ao balanceador de carga. Certifique-se de que os códigos correspondam aos códigos de sucesso configurados. O código de sucesso padrão é 200, mas é possível configurar um código de sucesso personalizado na faixa de 200 a 499.
Além disso, confirme se seu caminho de ping existe e usa um URI válido. O padrão é /.
Se os códigos não corresponderem ou se o caminho de ping for inválido, atualize as configurações da sua aplicação ou da verificação de integridade com as informações corretas.
Target.Timeout
Se for possível se conectar, pode ser que a página de destino não esteja respondendo antes de atingir o tempo limite da verificação de integridade. Em servidores web como NGINX e Internet Information Services (IIS), é possível registrar em log quanto tempo o servidor leva para responder. Para obter mais informações, consulte Configuring logging (Configuração de registro em log) no site do NGINX e Configure logging in IIS (Configure o registro em log no IIS) no site da Microsoft.
Se suas solicitações de verificação de integridade demorarem mais do que o tempo limite configurado, use uma página de destino que contenha o mínimo de conteúdo dinâmico. Para modificar seu caminho de verificação de integridade, consulte Atualizar as configurações de verificação de integridade de um grupo de destino do Application Load Balancer.
Se não for possível se conectar, realize as seguintes ações:
- Use a porta de verificação de integridade e o protocolo de verificação de integridade para verificar se o grupo de segurança da instância de destino permite tráfego do balanceador de carga. É possível adicionar uma regra ao grupo de segurança para permitir todo o tráfego que vem do grupo de segurança do balanceador de carga.
- Certifique-se de que o grupo de segurança do seu Application Load Balancer permita o tráfego para a instância de destino.
- Verifique se a lista de controle de acesso à rede (ACL da rede) da instância de destino permite tráfego de entrada na porta de verificação de integridade e tráfego de saída nas portas temporárias (1024-65535).
- Verifique se a ACL de rede da sub-rede do nó permite tráfego de entrada nas portas temporárias e tráfego de saída nas portas temporárias e de verificação de integridade.
- Verifique se os firewalls do sistema operacional (SO) no destino permitem a entrada e saída do tráfego de verificação de integridade.
- Verifique se a tabela de rotas das sub‑redes do destino contém uma entrada permitindo que o tráfego de verificação de integridade retorne ao balanceador de carga.
- Verifique a memória e o uso da CPU do seu destino. Se o uso da memória ou da CPU for muito alto, adicione destinos ou aumente a capacidade do seu grupo do Amazon EC2 Auto Scaling. Se seu destino for uma instância do Amazon EC2, altere a instância para um tipo de instância maior.
Informações relacionadas
- Idioma
- Português
Vídeos relacionados


Conteúdo relevante
feita há um ano