Solução de problemas relacionados aos balanceadores de carga de serviço no Amazon ECS - Amazon Elastic Container Service

Solução de problemas relacionados aos balanceadores de carga de serviço no Amazon ECS

Os serviços do Amazon ECS podem registrar tarefas com um balanceador de carga do Elastic Load Balancing. Erros de configuração do load balancer são causas comuns de tarefas interrompidas. Caso as tarefas interrompidas tenham sido iniciadas por serviços que usam um load balancer, leve em consideração as possíveis causas a seguir.

O perfil vinculado ao serviço do Amazon ECS não existe

A função vinculada ao serviço do Amazon ECS permite que os serviços do Amazon ECS registrem instâncias de contêiner com balanceadores de carga do Elastic Load Balancing. A função vinculada ao serviço deve ser criada na sua conta. Para ter mais informações, consulte Uso de perfis vinculados ao serviço para o Amazon ECS.

Grupo de segurança da instância de contêiner

Caso o contêiner seja mapeado para a porta 80 na instância de contêiner, o grupo de segurança da instância de contêiner deve permitir o tráfego de entrada na porta 80 para que as verificações de integridade do load balancer sejam aprovadas.

O balanceador de carga do Elastic Load Balancing não está configurado em todas as zonas de disponibilidade

O load balancer deve ser configurado para usar todas as zonas de disponibilidade em uma região, ou pelo menos todas as zonas de disponibilidade em que as instâncias de contêiner residem. Se um serviço usar um balanceador de carga e iniciar uma tarefa em uma instância de contêiner que resida em uma zona de disponibilidade que o balanceador de carga não está configurado para usar, a tarefa jamais será aprovada na verificação de integridade. Isso resulta na eliminação da tarefa.

Verificação de integridade do balanceador de carga do Elastic Load Balancing com configuração incorreta

Os parâmetros de verificação de integridade do balanceador de carga podem ser excessivamente restritivos ou apontar para recursos que não existem. Caso não seja considerada íntegra, a instância de contêiner é removida do balanceador de carga. Não se esqueça de verificar se os parâmetros a seguir estão configurados corretamente para o load balancer de serviço.

Ping Port

O valor Ping Port de uma verificação de integridade do load balancer é a porta nas instâncias de contêiner que o load balancer verifica para determinar se ela é íntegra. Se essa porta estiver mal configurada, o balanceador de carga provavelmente cancelará o registro da instância de contêiner. Essa porta deve ser configurada para usar o valor hostPort para o contêiner na definição de tarefa do serviço que você está usando com a verificação de integridade.

Ping Path

Isso faz parte da verificação de integridade do balanceador de carga. É um endpoint na aplicação que pode retornar um código de status de bem-sucedido (por exemplo, 200) quando a aplicação está íntegra. Esse valor costuma ser definido como index.html. Porém, caso o serviço não responda a essa solicitação, a verificação de integridade apresentará falha. Se o contêiner não tiver um arquivo index.html, será possível defini-lo como / para direcionar o URL base da instância de contêiner.

Tempo limite de resposta

Este é o tempo que o contêiner tem para retornar uma resposta para o ping de verificação de integridade. Caso o valor seja menor que o tempo necessário a uma resposta, a verificação de integridade falhará.

Intervalo de verificação de integridade

Este é o tempo entre os pings de verificação de integridade. Quanto menor for o intervalo de verificação de integridade, mais rapidamente a instância de contêiner poderá atingir Unhealthy Threshold (Limite não íntegro).

Limite não íntegro

Este é o número de vezes em que a verificação de integridade pode falhar até a instância de contêiner ser considerada não íntegra. Caso você tenha um limite não íntegro de 2 e um intervalo de verificação de integridade de 30 segundos, a tarefa tem 60 segundos para responder ao ping de verificação de integridade antes de ser considerada não íntegra. É possível aumentar o limite não íntegro ou o intervalo de verificação de integridade para dar às tarefas mais tempo para responder.

Não foi possível atualizar o serviço servicename: o nome do contêiner do balanceador de carga ou a porta sofreu alteração na definição da tarefa

Se seu serviço usa um balanceador de carga, será possível usar a AWS CLI ou o SDK para modificar a configuração do balanceador de carga. Para obter informações sobre como modificar a configuração, consulte UpdateService na Referência da API do Amazon Elastic Container Service. Se você atualizar a definição de tarefa para o serviço, o nome do contêiner e a porta do contêiner especificados na configuração do balanceador de carga deverão permanecer na definição da tarefa.

Você atingiu o limite do número de tarefas que podem ser executadas simultaneamente.

Para uma nova conta, suas cotas podem ser menores que as cotas de serviço. A cota de serviço da conta pode ser visualizada no console do Service Quotas. Para solicitar um aumento da cota, consulte Requesting a quota increase no Guia do usuário do Service Quotas.