Como soluciono problemas de agendamento de tarefas do Amazon ECS executadas em instâncias do EC2?

4 minuto de leitura
0

O Amazon Elastic Container Service (Amazon ECS) não coloca minhas tarefas nas minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) conforme o esperado.

Resolução

Se o Amazon ECS não conseguir colocar sua tarefa, ela permanecerá no estado EM PROVISIONAMENTO. Você recebe o seguinte erro em suas mensagens de evento de serviço:

“service ServiceName was unable to place a task because no container instance met all of its requirements.”

Para solucionar esse problema, verifique se há esse erro nas mensagens de eventos de serviço. Em seguida, conclua as etapas de solução de problemas com base no motivo do erro.

Nenhuma instância de contêiner foi encontrada em seu cluster

Se você não registrar instâncias do EC2 no cluster, receberá um erro. Verifique se há problemas de escalabilidade ou execução da instância com o provedor de capacidade ou o grupo do Amazon EC2 Auto Scaling que você configurou.

Se a instância foi iniciada, verifique por que ela não está conectada ao cluster.

A correspondência mais próxima (container-instance abcdexyz) tem unidades de CPU/memória/GPU insuficientes disponíveis

Esse problema ocorre quando as instâncias de contêiner disponíveis não têm a CPU, a memória ou a GPU que sua tarefa solicita. Para resolver esse problema, execute as seguintes ações:

Para solucionar outros problemas com a CPU, consulte Como resolvo o erro “the closest matching container-instance container-instance-id has insufficient CPU units available” no Amazon ECS?

A correspondência mais próxima (container-instance abcdexyz) já usa uma porta exigida pela tarefa

Esse problema ocorre quando a instância de contêiner já usa a porta necessária. Não é possível executar várias tarefas na mesma porta. Para resolver esse problema, adicione mais instâncias de contêiner ao seu cluster. É uma prática recomendada escalar automaticamente suas instâncias de contêiner. Crie um provedor de capacidade para seu cluster. Ou, para permitir que suas tarefas usem qualquer porta disponível em uma instância de contêiner, use o mapeamento dinâmico de portas.

A correspondência mais próxima (container-instance abcdexyz) não inclui um atributo exigido pela tarefa

Esse problema ocorre quando falta um atributo obrigatório definido na definição da tarefa em sua instância de contêiner. Para verificar se há atributos ausentes, execute o comando check-attributes da interface de linha de comandos do Amazon ECS (ECS CLI):

ecs-cli check-attributes --container-instances container-instance --cluster cluster-name --region region-code --task-def task-def-name

Observação: Substitua container-instance pelo nome da instância de contêiner, cluster-name pelo nome do cluster, region-code pela região da AWS e task-def-name pela definição da tarefa.

A saída do comando anterior mostra uma tabela com os atributos necessários ausentes. Para obter informações sobre como solucionar problemas de atributos ausentes, consulte Verificar atributos ausentes e depurar erros de atributos do motivo no site do GitHub.

A correspondência mais próxima (container-instance abcdexyz) não tem o agente conectado

Esse problema ocorre quando o agente do Amazon ECS se desconecta. Para solucionar esse problema, consulte os seguintes artigos:

A correspondência mais próxima (container-instance abcdexyz) encontrou o erro “MemberOf placement constraint unsatisfied”.

Se você usar restrições de posicionamento para colocar tarefas em instâncias específicas, certifique-se de que as instâncias do contêiner suportem os atributos ou restrições selecionados.

Para mais informações, consulte Como soluciono problemas com as restrições de posicionamento de tarefas do Amazon ECS?

Informações relacionadas

Solução de problemas do Amazon ECS

AWS OFICIAL
AWS OFICIALAtualizada há um ano