Como solucionar falhas na verificação de integridade de tarefas do Amazon ECS no Fargate?

4 minuto de leitura
0

Estou recebendo falhas na verificação de integridade em tarefas do Amazon Elastic Container Service (Amazon ECS) no AWS Fargate.

Resolução

Solucionar os erros mais comuns do balanceador de carga

Se você receber um dos seguintes erros:

  • (service AWS-service) (port 8080) is unhealthy in (target-grouparn:uxyztargetgroup/aws-targetgroup/123456789) due to (reason Health checks failed with these codes: [502]) or [request timeout]
  • (service AWS-Service) (port 8080) is unhealthy in target-group tf-20190411170 due to (reason Health checks failed)

Experimente estas etapas de solução de problemas:

  • Se seu contêiner estiver mapeado para a porta 80, confirme se o grupo de segurança do contêiner permite tráfego de entrada na porta 80 para o balanceador de carga.
  • Confirme se o valor da porta de ping para a integridade do balanceador de carga está configurado corretamente. Se essa porta não estiver configurada corretamente, o balanceador de carga poderá cancelar o registro do contêiner de si mesmo.
  • Defina um período mínimo de carência da verificação de integridade. Essa configuração instrui o agendador de serviços a ignorar as verificações de integridade do Elastic Load Balancing por um período de tempo predefinido após a instanciação de uma tarefa.
  • Monitore as métricas de CPU e memória do serviço. Por exemplo, uma CPU elevada pode fazer com que sua aplicação pare de responder e resultar em um erro 502.
  • Verifique os logs da aplicação em busca de erros da aplicação.
  • Verifique se a porta de ping e o caminho da verificação de integridade estão configurados corretamente.
  • Certifique-se de que seu banco de dados de back-end esteja conectado com êxito. Isso pressupõe que sua aplicação está sendo executada como um conjunto de tarefas iniciadas pelo Amazon Elastic Container Service (Amazon ECS) em instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Isso também pressupõe que sua aplicação não consegue se comunicar com o banco de dados do Amazon Relational Database Service (Amazon RDS).

Solucionar erros 504

Você pode receber um erro 504 por qualquer um dos motivos a seguir:

  • Seu balanceador de carga falhou em estabelecer uma conexão com o destino antes que o tempo limite de conexão expirasse (10 segundos).
  • Seu balanceador de carga estabeleceu uma conexão com o destino, mas o destino não respondeu antes que o tempo limite de inatividade terminasse.
  • A lista de controle de acesso à rede da sua sub-rede não permitiu tráfego dos destinos para os nós do balanceador de carga nas portas efêmeras (1024-65535)

Se você receber um erro 504, como o seguinte:

  • (service AWS-Service) (port 8080) is unhealthy in target-group due to (reason Health checks failed with these codes:[504]

Experimente estas etapas de solução de problemas:

  • Confirme se há uma resposta bem-sucedida do back-end sem atraso.
  • Defina o valor de tempo limite de resposta corretamente.
    Observação: o tempo limite de resposta é o tempo que seu contêiner tem para retornar uma resposta ao ping de verificação de integridade. Caso o valor seja menor que o tempo necessário para uma resposta, a verificação de integridade falhará.
  • Verifique os logs de acesso do balanceador de carga para obter mais informações sobre erros.

Solucione problemas de falhas em verificações de integridade do contêiner

Se você receber o erro a seguir, seu serviço não está integrado ao balanceador de carga, mas os contêineres de sua tarefa estão usando verificações de integridade que o serviço não consegue passar:

  • (service AWS-Service) (task ff3e71a4-d7e5-428b-9232-2345657889) failed container health checks

Experimente as etapas de solução de problemas a seguir:

  • Confirme se o comando que você está passando para o contêiner está correto e tem a sintaxe correta.
  • Verifique os logs da aplicação e os logs do Amazon CloudWatch se a tarefa estiver em execução há algum tempo.

Observação: não é possível acessar o host subjacente porque o Fargate é gerenciado pela AWS. Para solução de problemas adicionais, inicie suas tarefas do Amazon ECS no Amazon EC2. Em seguida, conecte-se às suas instâncias do EC2 usando SSH.


Informações relacionadas

Parâmetros de definição de serviço

Parâmetros avançados de definição de contêiner

Ativar registro de acesso

Solucionar problemas do Application Load Balancer

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos