Mensagens de evento de serviço - Amazon Elastic Container Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Mensagens de evento de serviço

Se você estiver solucionando um problema em um serviço, o primeiro lugar em que você deverá procurar informações de diagnóstico é o log de eventos do serviço. Você pode visualizar eventos de serviço usando a DescribeServices API AWS CLI, o ou usando AWS Management Console o.

Ao visualizar mensagens de evento de serviço usando a API do Amazon ECS, somente os eventos do programador de serviço são retornados. Esses eventos incluem o posicionamento de tarefas e eventos de integridade da instância mais recentes. No entanto, o console do Amazon ECS exibe eventos de serviço das fontes a seguir.

  • Posicionamento de tarefas e eventos de integridade da instância do programador de serviço do Amazon ECS. Esses eventos têm um prefixo de serviço (nome do serviço). Para garantir que a visualização desse evento seja útil, mostramos somente os 100 eventos mais recentes e as mensagens de evento duplicadas são omitidas até que a causa seja resolvida ou decorram seis horas. Se a causa não for resolvida em seis horas, você receberá outra mensagem de evento de serviço referente a essa causa.

  • Eventos de Auto Scaling do serviço. Esses eventos têm um prefixo de Mensagem. Os 10 eventos de escalabilidade mais recentes são mostrados. Esses eventos só ocorrem quando um serviço é configurado com uma política de escalabilidade do Application Auto Scaling.

Use as etapas a seguir para visualizar as mensagens de evento de serviço atuais.

Console
  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. No painel de navegação, escolha Clusters.

  3. Na página Clusters, escolha o cluster.

  4. Escolha o serviço a ser inspecionado.

  5. Escolha Deployments and events (Implantações e eventos), em Events (Eventos), visualize as mensagens.

AWS CLI

Use o comando describe-serviços para visualizar as mensagens de evento de serviço para um serviço especificado.

O AWS CLI exemplo a seguir descreve o serviço service-name no cluster padrão, que fornecerá as mensagens de eventos de serviço mais recentes.

aws ecs describe-services \ --cluster default \ --services service-name \ --region us-west-2

Mensagens de evento de serviço

Veja a seguir exemplos de mensagens de eventos de serviço que você pode ver no console do Amazon ECS.

O agendador de serviços envia um evento service (service-name) has reached a steady state. de serviço quando o serviço está íntegro e com o número desejado de tarefas, atingindo assim um estado estável.

O programador de serviços relata o status periodicamente, portanto, você pode receber essa mensagem várias vezes.

O agendador de serviços envia essa mensagem de evento quando não consegue encontrar os recursos disponíveis para adicionar outra tarefa. As causas possíveis para isso são:

Não foram encontradas instâncias de contêiner no cluster

Se nenhuma instância de contêiner estiver registrada no cluster em que você tenta executar uma tarefa, você receberá esse erro. Você deve adicionar instâncias de contêiner ao seu cluster. Para ter mais informações, consulte Iniciar uma instância de contêiner do Linux do Amazon ECS.

Não há portas suficientes

Caso a tarefa use um mapeamento de porta host fixo (por exemplo, a tarefa usa a porta 80 no host para um servidor da web), você deve ter pelo menos uma instância de contêiner por tarefa, porque apenas um contêiner pode usar uma única porta host por vez. Você deve adicionar instâncias de contêiner ao cluster ou reduzir o número de tarefas desejadas.

Muitas portas registradas

A instância de contêiner correspondente mais próxima para colocação de tarefas não pode exceder o limite máximo permitido de portas reservadas de 100 portas de host por instância de contêiner. O uso do mapeamento de porta de host dinâmico pode corrigir o problema.

Porta já em uso

A definição dessa tarefa usa a mesma porta em seu mapeamento de portas que uma tarefa já em execução na instância do contêiner escolhida. A mensagem de evento de serviço teria o ID da instância de contêiner escolhido como parte da mensagem abaixo.

The closest matching container-instance is already using a port required by your task.
Não há memória suficiente

Caso a definição de tarefa especifique 1.000 MiB de memória e as instâncias de contêiner no cluster tenham 1.024 MiB de memória cada, você só pode executar uma cópia dessa tarefa por instância de contêiner. É possível experimentar com menos memória na definição de tarefa, de maneira que possa ativar mais de uma tarefa por instância de contêiner ou ativar mais instâncias de contêiner no cluster.

nota

Se você deseja maximizar a utilização de recursos fornecendo às tarefas o máximo de memória possível para um determinado tipo de instância, consulte Gerenciamento de memória de instâncias de contêiner.

Não há CPU suficiente

Uma instância de contêiner tem 1.024 unidades de CPU para cada núcleo de CPU. Caso a definição de tarefa especifique 1.000 unidades de CPU e as instâncias de contêiner no cluster tenham 1.024 unidades de CPU, você só pode executar uma cópia dessa tarefa por instância de contêiner. É possível experimentar com um número menor de unidades de CPU na definição de tarefa, de maneira que possa ativar mais de uma tarefa por instância de contêiner ou ativar mais instâncias de contêineres no cluster.

Não há número suficiente de pontos de conexão ENI disponíveis

Tarefas que usam o modo de rede awsvpc recebem cada uma sua própria interface de rede elástica (ENI), que é conectada à instância de contêiner que as hospeda. As instâncias do Amazon EC2 têm um limite para o número de ENIs que podem ser anexadas a elas e não há instâncias de contêiner no cluster que tenham capacidade de ENI disponível.

O limite de ENI para instâncias de contêiner individuais depende das seguintes condições:

  • Se você não tiver aceitado a configuração de conta awsvpcTrunking, o limite de ENI para cada instância de contêiner dependerá do tipo de instância. Para obter mais informações, consulte IP Addresses Per Network Interface Per Instance Type (Endereços IP por interface de rede por tipo de instância) no Guia do usuário do Amazon EC2 para instâncias do Linux.

  • Se você optou pela configuração da awsvpcTrunking conta, mas não iniciou novas instâncias de contêiner usando um tipo de instância compatível depois de se inscrever, o limite de ENI para cada instância de contêiner ainda está no valor padrão. Para obter mais informações, consulte IP Addresses Per Network Interface Per Instance Type (Endereços IP por interface de rede por tipo de instância) no Guia do usuário do Amazon EC2 para instâncias do Linux.

  • Se você aceitou a configuração de conta awsvpcTrunking e executou novas instâncias de contêiner usando um tipo suportado depois de aceitar a configuração, estarão disponíveis outras ENIs. Para ter mais informações, consulte Tipos de instância do Amazon EC2 compatíveis.

Para obter mais informações sobre como optar pela configuração de conta awsvpcTrunking, consulte Entroncamento da interface de rede elástica.

É possível adicionar instâncias de contêiner ao seu cluster para fornecer mais adaptadores de rede disponíveis.

Instância de contêiner sem o atributo obrigatório

Alguns parâmetros de definição de tarefa exigem uma versão de API remota do Docker específica a ser instalada na instância de contêiner. Outros, como as opções de driver de registro em log, exigem que as instâncias de contêiner registrem esses drivers de log com a variável de configuração do agente ECS_AVAILABLE_LOGGING_DRIVERS. Se sua definição de tarefa contiver um parâmetro que exija um atributo específico de instância de contêiner e você não tiver nenhuma instância de contêiner disponível que possa atender a esse requisito, a tarefa não poderá ser colocada.

Uma causa comum desse erro é se seu serviço estiver usando tarefas que usam o modo de awsvpc rede e o tipo de inicialização do EC2. O cluster que você especificou não tem uma instância de contêiner registrada na mesma sub-rede especificada em awsvpcConfiguration quando o serviço foi criado.

Para obter mais informações sobre quais atributos são obrigatórios para parâmetros de definição de tarefa específicos e variáveis de configuração do agente, consulte Parâmetros de definição de tarefa e Configuração do agente de contêiner do Amazon ECS.

A instância de contêiner correspondente mais próxima para posicionamento de tarefas não contém unidades de CPU suficientes para atender aos requisitos na definição da tarefa. Revise os requisitos de CPU nos parâmetros de definição de contêiner e tamanho de tarefa da definição de tarefa.

O agente de contêiner do Amazon ECS na instância de contêiner com correspondência mais próxima para a realização da tarefa está desconectado. Caso possa se conectar à instância de contêiner usando SSH, você pode examinar os logs de agente. Para obter mais informações, consulte Registro do Amazon ECS Container Agent. Você também deve verificar se o agente está em execução na instância. Se você estiver usando a AMI otimizada para Amazon ECS, poderá tentar interromper e reiniciar o agente com o comando a seguir.

  • Para a AMI Amazon Linux 2 otimizada para Amazon ECS e a AMI Amazon Linux 2023 otimizada para Amazon ECS

    sudo systemctl restart ecs
  • Para a AMI do Amazon Linux otimizada para o Amazon ECS

    sudo stop ecs && sudo start ecs

O serviço é registrado com um load balancer, e as verificações de integridade do load balancer apresentam falhas. Para ter mais informações, consulte Como solucionar problemas de load balancers de serviço.

Esse serviço contém tarefas que deixaram de ser iniciadas após tentativas consecutivas. Nesse ponto, o programador de serviço começa a aumentar incrementalmente o tempo entre as novas tentativas. Você deve solucionar o motivo pelo qual suas tarefas falham ao iniciar. Para ter mais informações, consulte Lógica de aceleração do serviço Amazon ECS.

Depois que o serviço estiver atualizado, por exemplo, com uma definição de tarefa atualizada, o programador de serviços retomará o comportamento normal.

Este serviço não consegue iniciar mais tarefas devido aos limites do controle de utilização da API. Como o programador de serviço é capaz de iniciar mais tarefas, ele é retomado.

Para solicitar um aumento na cota de limite da taxa de API, abra a página AWS Support Center, faça login, se necessário, e escolha Create case (Criar caso). Escolha Service limit increase (Aumento de limite do serviço). Preencha e envie o formulário.

Esse serviço não conseguiu interromper ou iniciar tarefas durante uma implantação de serviço devido à configuração da implantação. A configuração de implantação consiste nos maximumPercent valores minimumHealthyPercent e, que são definidos quando o serviço é criado. Esses valores também podem ser atualizados em um serviço existente.

minimumHealthyPercentRepresenta o limite inferior do número de tarefas que devem ser executadas para um serviço durante uma implantação ou quando uma instância de contêiner está sendo drenada. É uma porcentagem do número desejado de tarefas para o serviço. Esse valor é arredondado para cima. Por exemplo, se a porcentagem mínima de integridade for 50 e a contagem de tarefas desejada for quatro, o agendador poderá interromper duas tarefas existentes antes de iniciar duas novas tarefas. Da mesma forma, se a porcentagem mínima de integridade é 75% e a contagem de tarefas desejada é dois, o programador não pode parar quaisquer tarefas porque o valor resultante também é dois.

maximumPercentRepresenta o limite superior do número de tarefas que devem ser executadas para um serviço durante uma implantação ou quando uma instância de contêiner está sendo drenada. É uma porcentagem do número desejado de tarefas para um serviço. Esse valor é arredondado para baixo. Por exemplo, se a porcentagem máxima for 200 e a contagem de tarefas desejada for quatro, o agendador poderá iniciar quatro novas tarefas antes de interromper quatro tarefas existentes. Da mesma forma, se a porcentagem máxima de integridade é 125 e a contagem de tarefas desejada é três, o programador não pode iniciar quaisquer tarefas porque o valor resultante também é três.

Ao definir um percentual mínimo de integridade ou um percentual máximo, você deve garantir que o programador possa interromper ou iniciar pelo menos uma tarefa quando uma implantação é acionada.

É possível solicitar um aumento de cota para o recurso que causou o erro. Para ter mais informações, consulte Cotas de serviço do Amazon ECS. Para solicitar um aumento da cota, consulte Requesting a quota increase no Guia do usuário do Service Quotas.

Os possíveis motivos para esse erro são os seguintes:

  • O serviço não consegue iniciar uma tarefa devido a uma sub-rede estar em uma zona de disponibilidade sem suporte.

    Para obter mais informações sobre as regiões do Fargate e zonas de disponibilidade com suporte, consulte Regiões com suporte para Amazon ECS no AWS Fargate.

    Para obter informações sobre como visualizar a zona de disponibilidade de sub-rede, consulte Visualizar sua sub-rede no Guia do usuário da Amazon VPC.

  • Você está tentando executar uma definição de tarefa que usa a arquitetura ARM no Fargate Spot.

É possível solicitar um aumento de cota para o recurso que causou o erro. Para ter mais informações, consulte Cotas de serviço do Amazon ECS. Para solicitar um aumento da cota, consulte Requesting a quota increase no Guia do usuário do Service Quotas.

É possível solicitar um aumento de cota para o recurso que causou o erro. Para ter mais informações, consulte Cotas de serviço do Amazon ECS. Para solicitar um aumento da cota, consulte Requesting a quota increase no Guia do usuário do Service Quotas.

AWS Fargate está fazendo a transição de cotas baseadas em contagem de tarefas para cotas baseadas em vCPU.

É possível solicitar um aumento de cota para a cota baseada em vCPU do Fargate. Para ter mais informações, consulte Cotas de serviço do Amazon ECS. Para solicitar o aumento da cota do Fargate, consulte Requesting a Quota Increase (Solicitar um aumento de cota) no Guia do usuário do Service Quotas.

O serviço tem mais tarefas protegidas do que a contagem desejada de tarefas. É possível executar uma das ações a seguir:

  • Aguarde até que a proteção das tarefas atuais expire, permitindo que elas sejam encerradas.

  • Determine quais tarefas podem ser interrompidas e use a UpdateTaskProtection API com a protectionEnabled opção definida como false para cancelar a proteção para essas tarefas.

  • Aumente a contagem de tarefas desejada do serviço para mais do que o número de tarefas protegidas.

O agendador de serviços envia essa mensagem de evento quando não consegue encontrar os recursos disponíveis para adicionar outra tarefa. As causas possíveis para isso são:

Não foram encontradas instâncias de contêiner no cluster

Se nenhuma instância de contêiner estiver registrada no cluster em que você tenta executar uma tarefa, você receberá esse erro. Você deve adicionar instâncias de contêiner ao seu cluster. Para ter mais informações, consulte Iniciar uma instância de contêiner do Linux do Amazon ECS.

Não há portas suficientes

Se sua tarefa usa mapeamento fixo de portas de host (por exemplo, sua tarefa usa a porta 80 no host para um servidor web), você deve ter pelo menos uma instância de contêiner por tarefa. Somente um contêiner pode usar uma única porta de host por vez. Você deve adicionar instâncias de contêiner ao cluster ou reduzir o número de tarefas desejadas.

Muitas portas registradas

A instância de contêiner correspondente mais próxima para colocação de tarefas não pode exceder o limite máximo permitido de portas reservadas de 100 portas de host por instância de contêiner. O uso do mapeamento de porta de host dinâmico pode corrigir o problema.

Porta já em uso

A definição dessa tarefa usa a mesma porta em seu mapeamento de portas que uma tarefa já em execução na instância do contêiner escolhida. A mensagem de evento de serviço teria o ID da instância de contêiner escolhido como parte da mensagem abaixo.

The closest matching container-instance is already using a port required by your task.
Não há memória suficiente

Caso a definição de tarefa especifique 1.000 MiB de memória e as instâncias de contêiner no cluster tenham 1.024 MiB de memória cada, você só pode executar uma cópia dessa tarefa por instância de contêiner. É possível experimentar com menos memória na definição de tarefa, de maneira que possa ativar mais de uma tarefa por instância de contêiner ou ativar mais instâncias de contêiner no cluster.

nota

Se você deseja maximizar a utilização de recursos fornecendo às tarefas o máximo de memória possível para um determinado tipo de instância, consulte Gerenciamento de memória de instâncias de contêiner.

Não há número suficiente de pontos de conexão ENI disponíveis

Tarefas que usam o modo de rede awsvpc recebem cada uma sua própria interface de rede elástica (ENI), que é conectada à instância de contêiner que as hospeda. As instâncias do Amazon EC2 têm um limite para o número de ENIs que podem ser anexadas a elas, e não há instâncias de contêiner no cluster que tenham capacidade de ENI disponível.

O limite de ENI para instâncias de contêiner individuais depende das seguintes condições:

  • Se você não tiver aceitado a configuração de conta awsvpcTrunking, o limite de ENI para cada instância de contêiner dependerá do tipo de instância. Para obter mais informações, consulte IP Addresses Per Network Interface Per Instance Type (Endereços IP por interface de rede por tipo de instância) no Guia do usuário do Amazon EC2 para instâncias do Linux.

  • Se você optou pela configuração da awsvpcTrunking conta, mas não iniciou novas instâncias de contêiner usando um tipo de instância compatível depois de se inscrever, o limite de ENI para cada instância de contêiner ainda está no valor padrão. Para obter mais informações, consulte IP Addresses Per Network Interface Per Instance Type (Endereços IP por interface de rede por tipo de instância) no Guia do usuário do Amazon EC2 para instâncias do Linux.

  • Se você aceitou a configuração de conta awsvpcTrunking e executou novas instâncias de contêiner usando um tipo suportado depois de aceitar a configuração, estarão disponíveis outras ENIs. Para ter mais informações, consulte Tipos de instância do Amazon EC2 compatíveis.

Para obter mais informações sobre como optar pela configuração de conta awsvpcTrunking, consulte Entroncamento da interface de rede elástica.

É possível adicionar instâncias de contêiner ao seu cluster para fornecer mais adaptadores de rede disponíveis.

Instância de contêiner sem o atributo obrigatório

Alguns parâmetros de definição de tarefa exigem uma versão de API remota do Docker específica a ser instalada na instância de contêiner. Outros, como as opções de driver de registro em log, exigem que as instâncias de contêiner registrem esses drivers de log com a variável de configuração do agente ECS_AVAILABLE_LOGGING_DRIVERS. Se sua definição de tarefa contiver um parâmetro que exija um atributo específico de instância de contêiner e você não tiver nenhuma instância de contêiner disponível que possa atender a esse requisito, a tarefa não poderá ser colocada.

Uma causa comum desse erro é se seu serviço estiver usando tarefas que usam o modo de awsvpc rede e o tipo de execução do EC2 e o cluster que você especificou não tiver uma instância de contêiner registrada na mesma sub-rede especificada em awsvpcConfiguration quando o serviço foi criado.

Para obter mais informações sobre quais atributos são obrigatórios para parâmetros de definição de tarefa específicos e variáveis de configuração do agente, consulte Parâmetros de definição de tarefa e Configuração do agente de contêiner do Amazon ECS.

No momento, não há capacidade disponível para executar seu serviço.

É possível executar uma das ações a seguir:

  • Aguarde até que a capacidade do Fargate ou as instâncias de contêiner do EC2 estejam disponíveis.

  • Reinicie o serviço e especifique sub-redes adicionais.

As tarefas em seu serviço falharam ao iniciar.

Para obter informações sobre como depurar tarefas interrompidas, consulte. Códigos de erro de tarefas interrompidas

O agente de contêiner do Amazon ECS na instância de contêiner com correspondência mais próxima para a realização da tarefa está desconectado. Se você puder se conectar à instância do contêiner com SSH, poderá examinar os registros do agente. Para ter mais informações, consulte Registro do Amazon ECS Container Agent. Você também deve verificar se o agente está em execução na instância. Se você estiver usando a AMI otimizada para Amazon ECS, poderá tentar interromper e reiniciar o agente com o comando a seguir.

  • Para a AMI do Amazon Linux 2 otimizada para o Amazon ECS

    sudo systemctl restart ecs
  • Para a AMI do Amazon Linux otimizada para o Amazon ECS

    sudo stop ecs && sudo start ecs

O conjunto de tarefas para o serviço está falhando nas verificações de integridade porque o grupo-alvo não foi encontrado. Você deve excluir e recriar o serviço. Não exclua nenhum grupo-alvo do Elastic Load Balancing, a menos que o serviço Amazon ECS correspondente já tenha sido excluído.

O conjunto de tarefas para o serviço está falhando nas verificações de saúde porque o destino não foi encontrado.