Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Como posso corrigir falhas na verificação de integridade dos Application Load Balancers?
Quero descobrir por que os alvos registrados no meu Application Load Balancer não estão íntegros.
Resolução
Para solucionar falhas nas verificações de integridade do seu Application Load Balancer, encontre o código do motivo e a descrição do problema. Em seguida, conclua as tarefas a seguir para resolver seu problema.
Encontre o código do motivo e a descrição do seu problema
Use o mapa de recursos em vez do console do grupo-alvo para visualizar os recursos do balanceador de carga e identificar alvos 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 do seu aplicativo. Certifique-se de que o aplicativo envie a resposta correta ao balanceador de carga.
Resolva o problema com base no código do motivo
Com base no código do motivo da verificação de integridade encontrado, conclua as tarefas a seguir para resolver o problema.
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 balanceador de carga começará a encaminhar as solicitações para o destino assim que o processo de registro for concluído e que o destino passar pelas verificações de integridade iniciais.
Target.DeregistrationInProgress
Quando você cancela o registro de um destino, o balanceador de carga não envia mais solicitações ao destino. O Elastic Load Balancing espera 300 segundos antes de concluir o cancelamento do registro. No entanto, você pode usar o console do Amazon EC2 ou a AWS Command Line Interface (AWS CLI) para atualizar o valor do atraso. Para obter mais informações, consulte Atraso do cancelamento do registro.
Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Target.FailedHealthChecks
Para resolver esse problema, conclua as seguintes etapas:
-
Confirme se sua aplicação está em execução. Use o comando service para verificar o status dos serviços em destinos do Linux. 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 serviço não for reconhecido, verifique se o serviço está instalado.
-
Confira se o destino está escutando o tráfego na porta da verificação de integridade. Você pode executar o comando ss em destinos Linux para verificar as portas nas quais seu servidor está escutando. Para destinos do Windows, execute o comando netstat.
-
Inicie ou use uma instância existente na mesma Amazon Virtual Private Cloud (VPC) da instância de destino. Verifique se você tem acesso a essa instância. Ou, se o alvo estiver acessível ao público, envie uma solicitação de verificação de saúde diretamente para o endereço IP público do alvo.
Use o seguinte comando CURL:
$curl -vkso /dev/null <HealthCheck_protocol>://<Target_IP>:<HealthCheck_port>/<HealthCheck_path>
Observação: use esse método para ignorar o Application Load Balancer e verificar se o destino está respondendo corretamente às solicitações de verificação de integridade do balanceador de carga.
-
Verifique se seu aplicativo responde às solicitações de verificação de integridade do balanceador de carga. O exemplo a seguir mostra uma solicitação típica de verificação de integridade do Application Load Balancer, para a qual os destinos devem retornar uma resposta HTTP válida:
GET / HTTP/1.1Host: 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 User-agent está definido como ELB-HealthChecker/2.0. A sequência CRLF é usada para quebrar a linha entre cabeçalhos. O cabeçalho termina na primeira linha vazia seguida por um CRLF. Para receber as solicitações de verificação de integridade, talvez seja necessário adicionar um host virtual padrão à configuração do seu servidor web.
-
Verifique se seu aplicativo está escutando na interface de rede correta se você conectou várias interfaces ao seu destino. Para obter mais informações, consulte Target type.
-
Confirme se o destino fornece um certificado de servidor e uma chave no formato especificado na política de segurança do Elastic Load Balancing. Além disso, verifique se o destino aceita as cifras correspondentes e o protocolo que o balanceador de carga fornece para estabelecer o handshake TLS.
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, inicie-a manualmente.
Target.IpUnusable
Se seu tipo de destino for ip, não escolha um endereço IP que um balanceador de carga já esteja usando.
Target.NotInUse
Para resolver esse problema, conclua as seguintes etapas:
- Verifique o grupo de destino e confira se a configuração dele permite receber tráfego do balanceador de carga.
- Certifique-se de que a zona de disponibilidade do alvo esteja ativada para o balanceador de carga.
Target.NotRegistered
Verifique se o alvo está registrado no grupo-alvo.
Target.ResponseCodeMismatch
Para resolver esse problema, conclua as seguintes etapas:
- Revise sua configuração de verificação de integridade para verificar os códigos de sucesso que o balanceador de carga espera receber. Por padrão, o código de sucesso é 200, mas você pode especificar valores entre 200 e 499. Em seguida, inspecione os logs de acesso do servidor web para ver se os códigos de sucesso esperados estão sendo recebidos.
- Confira se o caminho do ping é válido. Certifique-se de especificar um URI válido. O padrão é /.
Para alterar o valor do código de sucesso ou o caminho do ping, consulte Modify the health check settings of a target group.
Target.Timeout
Se você consegue 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. A maioria dos servidores web, como o NGINX e o IIS, permite registrar quanto tempo o servidor leva para responder. Para obter mais informações, consulte Configuring logging no site do NGINX e Configure logging in IIS no site da Microsoft.
Se suas solicitações de verificação de saúde demorarem mais do que o tempo limite configurado, conclua as seguintes tarefas:
- Escolher uma página de destino mais simples para fazer a verificação de integridade.
- Modifique as configurações de verificação de integridade.
Se você não conseguir se conectar, conclua as seguintes tarefas:
- Use a porta de verificação de integridade e o protocolo de verificação de integridade para verificar se o grupo de segurança associado ao destino permite o tráfego do balanceador de carga. Você pode adicionar uma regra ao grupo de segurança para permitir todo o tráfego vindo do grupo de segurança do balanceador de carga. Além disso, o grupo de segurança do balanceador de carga deve permitir que os destinos recebam tráfego.
- Confirme se a lista de controle de acesso à rede (ACL de rede) associada às sub-redes do seu alvo permite tráfego de entrada na porta de verificação de integridade. A rede ACL também deve permitir tráfego de saída nas portas efêmeras (1024-65535).
- Verifique se a ACL de rede associada às sub-redes dos seus nós permite tráfego de entrada nas portas efêmeras. A rede ACL também deve permitir tráfego de saída nas portas efêmeras e de verificação de integridade.
- Verifique se os firewalls de nível de sistema operacional no alvo permitem que o tráfego de verificação de integridade entre e saia.
- Confira se a tabela de rotas das sub‑redes associadas ao destino contém uma entrada permitindo que o tráfego de verificação de integridade retorne ao balanceador de carga.
- Confirme se a memória e a utilização da CPU do seu alvo estão dentro da capacidade aceitável. Se a utilização da memória ou da CPU for muito alta, adicione metas ou aumente a capacidade do seu grupo do Auto Scaling. Se seu destino for uma instância do EC2, altere a instância para um tipo de instância maior.
Informações relacionadas
Vídeos relacionados


Conteúdo relevante
- feita há 2 meseslg...
- feita há 2 meseslg...
- feita há um mêslg...
- feita há 4 meseslg...