Como solucionar problemas de load balancers de serviço - Serviço Amazon Elastic Container

Como solucionar problemas de load balancers de serviço

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.

Importante

As verificações de integridade de contêineres não são compatíveis com tarefas que fazem parte de um serviço configurado para usar um Classic Load Balancer. O programador de serviço do Amazon ECS ignora tarefas em estado UNHEALTHY que estão atrás de um Classic Load Balancer.

A função vinculada 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 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.

Balanceador de carga do Elastic Load Balancing não configurado para 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 para a qual o balanceador de carga não está configurado para ser usado, a tarefa jamais será aprovada na verificação de integridade e será encerrada.

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 load balancer. 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

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, você poderá 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 até ser considerada não íntegra. Você pode 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 load balancer ou a porta foi alterada na definição da tarefa

Caso o serviço use um load balancer, a configuração do load balancer definido para o serviço quando criado não pode ser alterada. Se você atualizar a definição de tarefa para o serviço, o contêiner e a porta de contêiner especificados quando o serviço foi criado deverão permanecer na definição da tarefa.

Para alterar o load balancer, o nome do contêiner, ou a porta do contêiner associada a uma configuração do load balancer de serviço, você deve criar um novo serviço.

Você atingiu o limite do número de tarefas que você pode executar 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 o aumento da cota, consulte Requesting a Quota Increase (Solicitar um aumento de cota) no Guia do usuário do Service Quotas.