Recebo um erro HTTP 503 (Serviço indisponível) ao usar um Application Load Balancer (ALB). Como posso solucionar esse erro?
Breve descrição
Para determinar se o Application Load Balancer está gerando os erros 503, siga um destes procedimentos:
- Acesse suas métricas do CloudWatch e localize uma métrica rotulada HTTPCode_ELB_503_Count.
- Execute este comando CURL. Se a resposta contiver “503 Service Temporarily Unavailable” (Serviço temporariamente indisponível), o erro é proveniente do Application Load Balancer.
Certifique-se de substituir MY_URL pelo URL usado para acessar o Application Load Balancer:
$ curl -IkL MY_URL
- Verifique os logs de acesso do Application Load Balancer. Confirme se há um elb_status_code = 503 nos logs.
Se você vir erros 503 em qualquer um desses locais, o erro é gerado pelo Application Load Balancer. Use as etapas de solução de problemas a seguir para resolver o erro.
Resolução
Verifique se o grupo de destino tem alvos registrados
Verificar usando o Console do EC2
- Acesse o console do Amazon EC2.
- No painel de navegação, em Load Balancing (Balanceamento de carga), escolha Target Groups (Grupos de destino).
- Escolha o nome do grupo de destino para abrir sua página de detalhes.
- Escolha a guia Targets (Destinos).
- Verifique se há destinos listados. Se eles estiverem listados, eles estão registrados.
Verificar usando a AWS CLI
Observação: se você receber erros ao executar os comandos da AWS CLI, utilize a versão mais recente da AWS CLI.
Para verificar destinos usando a AWS CLI, use o comando describe-target-health.
Registrar destinos
Se você não vir nenhum alvo registrado, registre-os por meio do console ou da AWS CLI.
Verifique se o grupo de destino está associado a um grupo de Auto Scaling (se você estiver usando o Auto Scaling)
Se o seu grupo de destino fizer parte de um grupo de Auto Scaling, confirme se os dois estão associados corretamente. Se não estiverem, anexe os grupos.
Verificar usando o console do EC2:
- Abra o console do Amazon EC2.
- No painel de navegação, em Auto Scaling, escolha Auto Scaling Groups (Grupos de Auto Scaling).
- Escolha o grupo de Auto Scaling que você deseja verificar.
- Em Load balancing (Balanceamento de carga), confirme se o grupo de destino do Application Load Balancer está associado ao grupo de Auto Scaling.
Verificar usando a AWS CLI
Execute o comando describe-auto-scaling. Certifique-se de substituir MY-ASG pelo nome do seu grupo de Auto Scaling. Substitua AWS-REGION pela sua região específica da AWS.
$ aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name MY-ASG --region AWS-REGION
Na saída do comando, confirme se o grupo de destino está listado em TargetGroupARNs.
Anexar o grupo de destino
Se os grupos-alvo não estiverem anexados ao grupo Auto Scaling, associe-os por meio do console ouda CLI.
Verificar a saúde do destino
Depois de confirmar que seus destinos estão registrados, confirme se eles estão em um estado íntegro. Para saber mais, consulte
Como identifico e corrijo verificações de integridade com falha para Application Load Balancers?
Informações relacionadas
DeregisterTargets
AttachLoadBalancerTargetGroups