

# Solução de problemas do Amazon ECS
<a name="troubleshooting"></a>

Talvez você precise solucionar problemas dos balanceadores de carga, das tarefas, dos serviços ou das instâncias de contêiner. Este capítulo ajuda você a encontrar informações de diagnóstico do agente de contêiner do Amazon ECS, do daemon do Docker na instância de contêiner e do log de eventos de serviço no console do Amazon ECS.

Para obter informações sobre tarefas interrompidas, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Resolver erros de tarefa interrompida.  |  [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md)  | 
|  Visualizar erros de tarefa interrompida.  |  [Resolver erros de tarefa interrompida do Amazon ECS](resolve-stopped-errors.md)  | 
|  Revisar códigos de erro de tarefa interrompida.  |  [Mensagens de erro de tarefa interrompida do Amazon ECS](stopped-task-error-codes.md)  | 
|  Revisar erros de tarefa CannotPullContainer.  |  [Erros de tarefa CannotPullContainer no Amazon ECS](task_cannot_pull_image.md)  | 
| Visualizar solicitações de perfil do IAM de tarefas. | [Visualização de solicitações de perfil do IAM para tarefas do Amazon ECS](task_iam_roles-logs.md) | 
|  Solucione problemas usando eventos de tarefas.  |  [Captura de eventos do Amazon ECS no console](task-lifecycle-events.md)  | 

Para obter informações sobre erros de serviço, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Visualizar mensagens de eventos de serviço.  |  [Visualizar mensagens de eventos de serviço do Amazon ECS](service-event-messages.md)  | 
|  Revisar mensagens de eventos de serviço.  |  [Mensagens de eventos do serviço do Amazon ECS](service-event-messages-list.md)  | 
|  Revisar problemas de balanceador de carga.  |  [Solução de problemas relacionados aos balanceadores de carga de serviço no Amazon ECS](troubleshoot-service-load-balancers.md)  | 
|  Revisar problemas de ajuste de escala automático de serviço.  |  [Solução de problemas relacionados ao ajuste de escala automático de serviço no Amazon ECS](troubleshoot-service-auto-scaling.md)  | 

Para obter informações sobre erros de definição de tarefa, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Resolver erro de memória de definição de tarefa.  |  [Solucionar problemas causados por erros de CPU ou memória inválida na definição de tarefa do Amazon ECS](task-cpu-memory-error.md)  | 

Para obter informações sobre erros do agente do Amazon ECS, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Visualizar logs do agente de contêiner do Amazon ECS.  |  [Visualização de logs do agente de contêiner do Amazon ECS](logs.md)  | 
|  Saiba como coletar logs do Amazon ECS.  |  [Coleta de logs de contêiner com o coletor de logs do Amazon ECS](ecs-logs-collector.md)  | 
|  Recuperar detalhes de diagnóstico com o agente do Amazon ECS.  |  [Recuperar detalhes de diagnóstico do Amazon ECS com introspecção do agente](introspection-diag.md)  | 

Para obter informações sobre o Docker, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Usar diagnósticos do Docker.  |  [Diagnóstico do Docker no Amazon ECS](docker-diags.md)  | 
|  Ativar o modo de depuração do Docker.  |  [Configuração da saída detalhada do daemon do Docker no Amazon ECS](docker-debug-mode.md)  | 
|  Solucionar o erro 500 da API do Docker.  |  [Solução de problemas relacionados a `API error (500): devmapper` do Docker no Amazon ECS](CannotCreateContainerError.md)  | 

Para obter informações sobre erros do ECS Exec e do Amazon ECS Anywhere, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Solucionar problemas do ECS Exec.  |  [Solução de problemas do Amazon ECS Exec](ecs-exec-troubleshooting.md)  | 
|  Solucionar problemas do Amazon ECS Anywhere.  |  [Solução de problemas do Amazon ECS Anywhere](ecs-anywhere-troubleshooting.md)  | 

Para obter informações sobre problemas ao anexar volumes do Amazon EBS às tarefas do Amazon ECS, consulte:


| Ação | Saiba mais | 
| --- | --- | 
|  Solução de problemas de anexações de volumes do Amazon EBS às tarefas do Amazon ECS.  |  [Solução de problemas de anexações de volumes do Amazon EBS às tarefas do Amazon ECS](troubleshoot-ebs-volumes.md)  | 
|  Motivos do status para anexações de volumes do Amazon EBS às tarefas do Amazon ECS.  |  [Motivos do status para anexação do volume do Amazon EBS às tarefas do Amazon ECS](troubleshoot-ebs-volumes-scenarios.md)  | 

Para obter informações sobre problemas com o uso de namespaces compartilhados do AWS Cloud Map com o Amazon ECS Service Connect, consulte um dos tópicos a seguir:


| Ação | Saiba mais | 
| --- | --- | 
|  Solução de problemas do Amazon ECS Service Connect com namespaces compartilhados do AWS Cloud Map.  |  [Solução de problemas do Amazon ECS Service Connect com namespaces compartilhados do AWS Cloud Map](service-connect-shared-namespaces-troubleshooting.md)  | 

Para obter informações sobre problemas de controle de utilização, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Saiba mais sobre as cotas do controle de utilização do Fargate.  |  [Cotas de controle de utilização do AWS Fargate](throttling.md)  | 
|  Saiba mais sobre as práticas recomendadas para controle de utilização do Amazon ECS.  |  [Lidar com problemas de controle de utilização do Amazon ECS](operating-at-scale-dealing-with-throttles.md)  | 

Para obter informações sobre erros de API, consulte um dos tópicos a seguir.


| Ação | Saiba mais | 
| --- | --- | 
|  Resolver erros de API.  |  [Motivos de falha da API no Amazon ECS](api_failures_messages.md)  | 

Para obter informações sobre solução de problemas com tecnologia de IA, consulte:


| Ação | Saiba mais | 
| --- | --- | 
|  Solução de problemas com o Amazon Q Developer no console.  |  [Solucionar problemas do Amazon Q Developer](troubleshooting-with-Q.md)  | 
|  Solucione problemas com assistentes de IA usando o servidor MCP do Amazon ECS.  |  [Servidor MCP do Amazon ECS](ecs-mcp-introduction.md)  | 

# Resolver erros de tarefa interrompida do Amazon ECS
<a name="resolve-stopped-errors"></a>

Quando não for possível iniciar a tarefa, você verá uma mensagem de erro no console e nos parâmetros de saída de `describe-tasks` (`stoppedReason` e `stopCode`).

É possível visualizar tarefas interrompidas no console por uma hora. Para visualizar tarefas interrompidas, é necessário alterar a opção de filtro. Para obter mais informações, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

As páginas a seguir fornecem informações sobre tarefas interrompidas.
+ Saiba mais sobre mensagens de erros de tarefa interrompida.

  [Atualizações de mensagens de erro de tarefa interrompida do Amazon ECS](stopped-tasks-error-messages-updates.md)
+ Visualize as tarefas interrompidas para obter informações sobre a causa da interrupção.

  [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md)
+ Saiba mais sobre as mensagens de erro de tarefa interrompida e os possíveis motivos dos erros.

  [Mensagens de erro de tarefa interrompida do Amazon ECS](stopped-task-error-codes.md)
+ Saiba como verificar conectividade de tarefa interrompida e corrigir os erros.

  [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md)

# Atualizações de mensagens de erro de tarefa interrompida do Amazon ECS
<a name="stopped-tasks-error-messages-updates"></a>

A partir de 14 de junho de 2024, a equipe do Amazon ECS está alterando as mensagens de erro de tarefa interrompida conforme descrito nas tabelas a seguir. O `stopCode` não vai mudar. Se seus aplicativos dependerem de strings de mensagens de erro exatas, você deverá atualizar seus aplicativos com as novas strings de caracteres. Para obter ajuda com dúvidas ou problemas, entre em contato com AWS Support.

**nota**  
Recomendamos que você não confie nas mensagens de erro para a automação, pois elas estão sujeitas a alterações.

## CannotPullContainerError
<a name="cannot-pull-container-error-changes"></a>


| Mensagem de erro antiga | Nova mensagem de erro | 
| --- | --- | 
| CannotPullContainerError: resposta de erro do daemon: acesso para extração negado para o repositório, o repositório não existe ou pode exigir 'login do docker': negado: usuário: roleARN | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/stopped-tasks-error-messages-updates.html)  | 
|  CannotPullContainerError: resposta de erro do daemon: obter imageURI: net/http: solicitação cancelada enquanto aguardava conexão |  CannotPullContainerError: a tarefa não consegue extrair a imagem. Verifique a configuração da rede. Resposta de erro do daemon: obter imagem: net/http: solicitação cancelada enquanto aguardava conexão (Client.Timeout excedido enquanto aguardava cabeçalhos) | 
| CannotPullContainerError: ref pull foi tentado novamente 5 vezes: falha ao copiar: httpReadSeeker: falha ao abrir: falha ao fazer a solicitação: Get registry-uri: dial tcp <ip>:<port>: tempo limite de E/S excedido | CannotPullContainerError: a tarefa não pode extrair image-uri do registro registry-uri. Há um problema de conexão entre a tarefa e o registro. Verifique a configuração de rede da tarefa. : falha ao copiar: httpReadSeeker: falha ao abrir: falha ao fazer a solicitação: Obter registry-uri: dial tcp <ip>:<port>: tempo limite de E/S excedido | 

## ResourceNotFoundException
<a name="resourcenotfound-error-changes"></a>


| Mensagem de erro antiga | Nova mensagem de erro | 
| --- | --- | 
| Buscar dados secretos do AWS Secrets Manager na região região: sercretARN do segredo: ResourceNotFoundException: o Secrets Manager não consegue encontrar o segredo especificado. | ResourceNotFoundException: a tarefa não consegue recuperar o segredo com o ARN 'sercretARN' do AWS Secrets Manager. Verifique se o segredo existe na região especificada. ResourceNotFoundException: a busca de dados secretos do AWS Secrets Manager na região região: segredo sercretARN: ResourceNotFoundException: o Secrets Manager não consegue encontrar o segredo especificado. | 

## ResourceInitializationError
<a name="resourceinitialization-error-changes"></a>


| Mensagem de erro antiga | Nova mensagem de erro | 
| --- | --- | 
| ResourceInitializationError: não foi possível extrair segredos ou autenticação do registro: falha ao recuperar recurso de execução: não é possível recuperar a autenticação do registro ecr: a chamada de serviço foi repetida 3 vezes: RequestError: falha na solicitação de envio causada por: Post "https://api.ecr.us-east-1.amazonaws.com/": dial tcp <ip>:<port>: tempo limite de E/S excedido. Verifique sua configuração de rede da tarefa. | ResourceInitializationError: não é possível extrair segredos ou a autenticação do registro: a tarefa não consegue extrair a autenticação do registro do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa. RequestError: falha no envio da solicitação causada por: Post "https://api.ecr.us-east-1.amazonaws.com": dial tcp <ip>:<port>: tempo limite de E/S excedido | 
| ResourceInitializationError: não é possível extrair segredos ou autenticação do registro: falha na recuperação do recurso em execução: não é possível recuperar segredos do ssm: a chamada de serviço foi repetida 5 vezes: requestCanceled: contexto da solicitação cancelado causado por: prazo do contexto excedido | ResourceInitializationError: não é possível extrair segredos ou autenticação do registro: não é possível recuperar segredos do ssm: A tarefa não pode extrair segredos de AWS Systems Manager. Há um problema de conexão entre a tarefa e o AWS Systems Manager Parameter Store. Verifique a configuração de rede da tarefa. RequestCanceled: solicitação de contexto cancelada devido a: prazo de contexto excedido | 
| ResourceInitializationError: falha ao baixar arquivos env: comando de download de arquivo: fluxo de erro não vazio: RequestCanceled: solicitação de contexto cancelada devido a: prazo de contexto excedido | ResourceInitializationError: falha ao baixar arquivos env: a tarefa não consegue baixar os arquivos de variáveis de ambiente do Amazon S3. Há um problema de conexão entre a tarefa e o Amazon S3. Verifique a configuração de rede da sua tarefa. A chamada de serviço foi repetida 5 vezes: RequestCanceled: solicitação de contexto cancelada devido a: prazo do contexto excedido | 
| ResourceInitializationError: falha ao validar os argumentos do logger::signal:killed | ResourceInitializationError: falha ao validar os argumentos do logger::signal:killed: a tarefa não consegue encontrar o grupo de logs do Amazon CloudWatch definido na tarefa. Há um problema de conexão entre a tarefa e o Amazon CloudWatch. Verifique a configuração da rede. : signal: killed | 
| ResourceInitializationError: não é possível extrair segredos ou autenticação do registro: falha do comando pull: : signal: killed | ResourceInitializationError: não é possível extrair segredos ou autenticação do registro: Verifique a configuração de rede da tarefa. : signal: killed | 

# Visualizar erros de tarefa interrompida do Amazon ECS
<a name="stopped-task-errors"></a>

Se você tiver problemas ao iniciar uma tarefa, sua tarefa poderá ser interrompida devido a erros na aplicação ou na configuração. Por exemplo, você executa a tarefa, ela exibe um status `PENDING` e, em seguida, desaparece.

 Se sua tarefa tiver sido criada por um serviço do Amazon ECS, as ações que o Amazon ECS executará para manter o serviço serão publicadas nos eventos do serviço. É possível visualizar os eventos no Console de gerenciamento da AWS, na AWS CLI, em AWS SDKs, na API do Amazon ECS ou nas ferramentas que usam os SDKs e a API. Esses eventos incluem a interrupção e a substituição de uma tarefa pelo Amazon ECS porque os contêineres da tarefa interromperam a execução ou apresentaram falha em muitas verificações de integridade do Elastic Load Balancing.

Caso a tarefa tenha sido executada em uma instância de contêiner no Amazon EC2 ou em computadores externos, você também pode verificar os logs do runtime do contêiner e do agente do Amazon ECS. Esses logs estão na instância do Amazon EC2 do host ou no computador externo. Para obter mais informações, consulte [Visualização de logs do agente de contêiner do Amazon ECS](logs.md).

## Procedimento
<a name="view-stopped-errors-procedure"></a>

------
#### [ Console ]

**Console de gerenciamento da AWS**

As etapas a seguir podem ser usadas para verificar se há erros nas tarefas interrompidas usando o console. Para visualizar tarefas interrompidas, é necessário alterar a opção de filtro.

As tarefas interrompidas só aparecem no console por 1 hora.

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. No painel de navegação, escolha **Clusters**.

1. Na página **Clusters**, escolha o cluster.

1. Na página **Cluster : *name***, escolha a guia **Tasks** (Tarefas). 

1. Configure o filtro para exibir tarefas interrompidas. Em **Filtrar status desejado**, escolha **Interrompido**.

   A opção **Interrompida** exibe suas tarefas interrompidas e **Qualquer status desejado** exibe todas as suas tarefas.

1. Escolha a tarefa interrompida para inspecionar.

1. Na linha das suas tarefas interrompidas, na coluna **Último status**, escolha **Interrompida**.

   Uma janela pop-up exibe o motivo da interrupção.

------
#### [ AWS CLI ]

1. Liste as tarefas interrompidas no cluster. A saída contém o nome do recurso da Amazon (ARN) da tarefa, necessário para a descrição da tarefa. 

   ```
   aws ecs list-tasks \
        --cluster cluster_name \
        --desired-status STOPPED \
        --region region
   ```

1. Descreva a tarefa interrompida para recuperar as informações. Para obter mais informações, consulte [describe-tasks](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-tasks.html) na* AWS Command Line Interface Reference*.

   ```
   aws ecs describe-tasks \
        --cluster cluster_name \
        --tasks arn:aws:ecs:region:account_id:task/cluster_name/task_ID \
        --region region
   ```

Use os seguintes parâmetros de saída.
+ `stopCode`: o código de interrupção indica por que uma tarefa foi interrompida, por exemplo ResourceInitializationError
+ `StoppedReason`: o motivo pelo qual a tarefa foi interrompida.
+ `reason` (na estrutura de `containers`): o motivo fornece detalhes adicionais sobre o contêiner interrompido.

------

## Próximas etapas
<a name="additional-resources"></a>

Visualize as tarefas interrompidas para obter informações sobre a causa da interrupção. Para obter mais informações, consulte [Mensagens de erro de tarefa interrompida do Amazon ECS](stopped-task-error-codes.md).

# Mensagens de erro de tarefa interrompida do Amazon ECS
<a name="stopped-task-error-codes"></a>

A seguir estão as possíveis mensagens de erro que você pode receber quando sua tarefa é interrompida inesperadamente.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

**dica**  
Você pode usar o [Servidor MCP do Amazon ECS](ecs-mcp-introduction.md) com assistentes de IA para analisar falhas de tarefas e logs de contêineres usando linguagem natural.

Os códigos de erros de tarefa interrompida têm uma categoria associada a eles, por exemplo, "ResourceInitializationError". Para obter mais informações sobre cada categoria, consulte o seguinte:


| Categoria | Saiba mais | 
| --- | --- | 
|  TaskFailedToStart  |  [Solução de problemas causados por erros TaskFailedToStart do Amazon ECS](failed-to-start-error.md)  | 
|  ResourceInitializationError  |  [Solução de problemas causados por erros ResourceInitializationError do Amazon ECS](resource-initialization-error.md)  | 
| ResourceNotFoundException |  [Solução de problemas causados por erros ResourceNotFoundException do Amazon ECS](resource-not-found-error.md) | 
|  SpotInterruptionError  |  [Solução de problemas causados por erros SpotInterruption do Amazon ECS](spot-interruption-errors.md)  | 
|  InternalError  |  [Solução de problemas causados por erros InternalError do Amazon ECS](internal-error.md)  | 
|  OutOfMemoryError  |  [Solução de problemas causados por erros OutOfMemoryError do Amazon ECS](out-of-memory.md)  | 
|  ContainerRuntimeError  |  [Solução de problemas causados por erros ContainerRuntimeError do Amazon ECS](container-runtime-error.md)  | 
|  ContainerRuntimeTimeoutError  |  [Solução de problemas causados por erros ContainerRuntimeTimeoutError do Amazon ECS](container-runtime-timeout-error.md)  | 
|  CannotStartContainerError  |  [Solução de problemas causados por erros CannotStartContainerError do Amazon ECS](cannot-start-container.md)  | 
|  CannotStopContainerError  |  [Solução de problemas causados por erros CannotStopContainerError do Amazon ECS](cannot-stop-container.md)  | 
|  CannotInspectContainerError  |  [Solução de problemas causados por erros CannotInspectContainerError do Amazon ECS](cannot-inspect-container.md)  | 
|  CannotCreateVolumeError  |  [Solução de problemas causados por erros CannotCreateVolumeError do Amazon ECS](cannot-create-volume.md)  | 
| CannotPullContainer |  [Erros de tarefa CannotPullContainer no Amazon ECS](task_cannot_pull_image.md)  | 

# Solução de problemas causados por erros TaskFailedToStart do Amazon ECS
<a name="failed-to-start-error"></a>

A seguir estão algumas mensagens do erro `TaskFailedToStart` e ações que podem ser executadas para corrigi-lo. 

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## Erro inesperado do EC2 ao tentar criar interface de rede com atribuição de IP público habilitada na sub-rede '*subnet-id*'
<a name="subnet-error"></a>

Isso acontece quando uma tarefa do Fargate usa o modo de rede `awsvpc` e é executada em uma sub-rede com um endereço IP público, e a sub-rede não tem endereços IP suficientes.

O número de endereços IP disponíveis é fornecido na página de detalhes da sub-rede no console do Amazon EC2 ou usando `[describe-subnets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-subnets.html)`. Para obter mais informações, consulte [View your subnet](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#view-subnet) no *Guia do usuário da Amazon VPC*.

Para corrigir esse problema, você pode criar uma sub-rede para executar a tarefa.

## InternalError: *<motivo>*
<a name="internal-error-reason"></a>

Esse erro ocorre quando um anexo da ENI é solicitado. O Amazon EC2 gerencia o provisionamento da ENI de forma assíncrona. O processo de provisionamento leva tempo. O Amazon ECS tem um tempo limite, caso haja longos tempos de espera ou falhas não relatadas. Há momentos em que a ENI é provisionada, mas o relatório chega ao Amazon ECS após a falha exceder o tempo limite. Nesse caso, o Amazon ECS vê a falha relatada na tarefa com uma ENI em uso.

## A definição de tarefa selecionada não é compatível com a estratégia de computação selecionada
<a name="compute-compatibility"></a>

Esse erro ocorre quando você escolhe uma definição de tarefa com um tipo de execução que não corresponde ao tipo de capacidade do cluster. Você precisa selecionar uma definição de tarefa que corresponda ao provedor de capacidade atribuído ao cluster.

## Não é possível conectar a interface de rede ao índice de dispositivos não utilizados
<a name="compute-compatibility-cpu"></a>

Este erro ocorre ao usar o tipo de rede `awsvpc` e não há CPU/memória suficiente para a tarefa. Primeiro, verifique se há instâncias na CPU. Para obter mais informações, consulte as [especificações de tipo de instância do Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html) em *Tipos de instância do Amazon EC2*. Pegue o valor da CPU para a instância e multiplique-o pelo número de ENIs da instância. Use esse valor e na definição de tarefa.

## AGENT
<a name="agent-not-started"></a>

A instância de contêiner na qual você tentou iniciar uma tarefa tem um agente que está desconectado, no momento. Para evitar tempos de espera prolongados para a tarefa, a solicitação foi rejeitada.

Para saber mais sobre como solucionar um agente que está desconectado, consulte [Como solucionar problemas com um agente desconectado do Amazon ECS](https://repost.aws/knowledge-center/ecs-agent-disconnected-linux2-ami).

# Solução de problemas causados por erros ResourceInitializationError do Amazon ECS
<a name="resource-initialization-error"></a>

A seguir estão algumas mensagens do erro `ResourceInitialization` e ações que podem ser executadas para corrigi-lo.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

**Topics**
+ [

## A tarefa não pode extrair a autenticação do registro do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
](#unable-to-pull-secrets-ecr)
+ [

## A tarefa não consegue baixar os arquivos de variáveis de ambiente do Amazon S3. Há um problema de conexão entre a tarefa e o Amazon S3. Verifique a configuração de rede da tarefa.
](#failed-to-download-env-files)
+ [

## A tarefa consegue extrair segredos do AWS Systems Manager Parameter Store. Verifique a conexão de rede entre a tarefa e o AWS Systems Manager.
](#unable-to-pull-secrets-sys-manager)
+ [

## A tarefa não consegue extrair segredos do AWS Secrets Manager. Há um problema de conexão entre a tarefa e o Secrets Manager. Verifique a configuração de rede da tarefa.
](#unable-to-pull-secrets-asm-no-arn)
+ [

## A tarefa não consegue extrair o segredo do Secrets Manager. A tarefa não consegue recuperar o segredo com ARN "*secretARN'*" do Secrets Manager. Verifique se o segredo existe na região especificada.
](#unable-to-pull-secrets-asm)
+ [

## Falha do comando pull: não é possível extrair segredos ou autenticação do registro. Verifique a configuração de rede da sua tarefa.
](#pull-command-failed)
+ [

## A tarefa não consegue encontrar o grupo de logs do Amazon CloudWatch definido na tarefa. Há um problema de conexão entre a tarefa e o Amazon CloudWatch. Verifique a configuração da rede.
](#failed-to-initialize-logging-network)
+ [

## falha ao inicializar o driver de registro em log
](#failed-to-initialize-logging)
+ [

## falha ao invocar comandos do EFS utils para configurar volumes do EFS
](#efs-utils-failed)

## A tarefa não pode extrair a autenticação do registro do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
<a name="unable-to-pull-secrets-ecr"></a>

Esse erro indica que a tarefa não consegue se conectar ao Amazon ECR.

Verifique a conexão entre a tarefa e o Amazon ECR. Para mais informações, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa não consegue baixar os arquivos de variáveis de ambiente do Amazon S3. Há um problema de conexão entre a tarefa e o Amazon S3. Verifique a configuração de rede da tarefa.
<a name="failed-to-download-env-files"></a>

Esse erro ocorre quando a tarefa não consegue baixar o arquivo de ambiente do Amazon S3. 

Verifique a conexão entre a tarefa e o endpoint da VPC do Amazon S3. Para mais informações, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa consegue extrair segredos do AWS Systems Manager Parameter Store. Verifique a conexão de rede entre a tarefa e o AWS Systems Manager.
<a name="unable-to-pull-secrets-sys-manager"></a>

Esse erro ocorre quando a tarefa não consegue extrair a imagem definida na definição de tarefa usando as credenciais do Systems Manager.

Verifique a conexão entre a tarefa e o endpoint da VPC do Systems Manager. Para mais informações, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa não consegue extrair segredos do AWS Secrets Manager. Há um problema de conexão entre a tarefa e o Secrets Manager. Verifique a configuração de rede da tarefa.
<a name="unable-to-pull-secrets-asm-no-arn"></a>

Esse erro ocorre quando a tarefa não consegue extrair a imagem definida na definição de tarefa usando as credenciais do Secrets Manager. 

O erro indica que existe um problema de conectividade de rede entre o endpoint da VPC do Systems Manager e a tarefa.

Para obter informações sobre como verificar a conectividade entre a tarefa e o endpoint, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa não consegue extrair o segredo do Secrets Manager. A tarefa não consegue recuperar o segredo com ARN "*secretARN'*" do Secrets Manager. Verifique se o segredo existe na região especificada.
<a name="unable-to-pull-secrets-asm"></a>

Esse erro ocorre quando a tarefa não consegue extrair a imagem definida na definição de tarefa usando as credenciais do Secrets Manager. 

Esse problema é causado por um ou mais dos seguintes motivos:


| Causa do erro | Fazer isso... | 
| --- | --- | 
|   Problema de conectividade de rede entre o endpoint da VPC do Secrets Manager e a tarefa. Existe um problema de rede quando você vê uma das seguintes strings na mensagem de erro: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/resource-initialization-error.html)  |  Verifique a conectividade entre a tarefa e o endpoint do Secrets Manager. Para obter mais informações, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).  | 
| O perfil de execução de tarefa definido na definição de tarefa não tem as permissões para o Secrets Manager. |  Adicione as permissões necessárias do Secrets Manager ao perfil de execução de tarefa. Para obter mais informações, consulte [Permissões do Secrets Manager ou do Systems Manager](task_execution_IAM_role.md#task-execution-secrets).  | 
| O ARN do segredo não existe | Verifique se o ARN existe no Secrets Manager. Para obter informações sobre visualização de imagens, consulte [Find secrets in Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) no Secrets Manager Developer Guide. | 

## Falha do comando pull: não é possível extrair segredos ou autenticação do registro. Verifique a configuração de rede da sua tarefa.
<a name="pull-command-failed"></a>

Esse erro ocorre quando a tarefa não consegue se conectar ao Amazon ECR, Systems Manager ou Secrets Manager. Isso ocorre quando há uma configuração incorreta na rede.

Para corrigir o problema, verifique a conectividade entre a tarefa e o Amazon ECR. Também é necessário verificar a conectividade entre sua tarefa e o serviço que armazena seu segredo (Systems Manager ou Secrets Manager). Para obter mais informações, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa não consegue encontrar o grupo de logs do Amazon CloudWatch definido na tarefa. Há um problema de conexão entre a tarefa e o Amazon CloudWatch. Verifique a configuração da rede.
<a name="failed-to-initialize-logging-network"></a>

Esse erro ocorre quando a tarefa não consegue encontrar o grupo de logs do CloudWatch especificado na definição da tarefa.

O erro indica que existe um problema de conectividade de rede entre o endpoint da VPC do CloudWatch e a tarefa.

Para obter informações sobre como verificar a conectividade entre a tarefa e o endpoint, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## falha ao inicializar o driver de registro em log
<a name="failed-to-initialize-logging"></a>

Esse erro ocorre quando a tarefa não consegue encontrar o grupo de logs do CloudWatch especificado na definição da tarefa.

O erro indica que o grupo do CloudWatch da definição de tarefa não existe.

Use as etapas a seguir para encontrar o CloudWatch ausente.

1. Execute o comando a seguir para obter as informações de definição da tarefa.

   ```
   aws ecs describe-task-definition \ 
       --task-definition task-def-name
   ```

   Observe a saída de cada contêiner e anote o valor `awslogs-group`.

   ```
   "logConfiguration": {
                   "logDriver": "awslogs",
                   "options": {
                       "awslogs-group": "/ecs/example-group",
                       "awslogs-create-group": "true",
                       "awslogs-region": "us-east-1",
                       "awslogs-stream-prefix": "ecs"
                   },
   ```

1. Verifique se o grupo existe no CloudWatch. Para obter mais informações, consulte [Como trabalhar com grupos de logs e fluxos de logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) no *Guia do usuário do Amazon CloudWatch Logs*.

   O problema é que o grupo especificado na definição da tarefa está incorreto ou o grupo de logs não existe.

1. Corrija o problema.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/resource-initialization-error.html)

## falha ao invocar comandos do EFS utils para configurar volumes do EFS
<a name="efs-utils-failed"></a>

Os seguintes problemas podem impedir que você monte os volumes do Amazon EFS nas tarefas:
+ O sistema de arquivos do Amazon EFS não está configurado corretamente.
+ A tarefa não tem as permissões necessárias.
+ Há problemas relacionados às configurações de rede e VPC.

 Para obter informações sobre como depurar e corrigir esse problema, consulte [Por que não consigo montar meus volumes do Amazon EFS em minhas tarefas do AWS Fargate?](https://repost.aws/knowledge-center/fargate-unable-to-mount-efs) no AWS re:Post.

# Solução de problemas causados por erros ResourceNotFoundException do Amazon ECS
<a name="resource-not-found-error"></a>

A seguir estão algumas mensagens do erro ` ResourceNotFoundException` e ações que podem ser executadas para corrigi-lo.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## A tarefa não consegue recuperar o segredo com o ARN '*sercretARN*' do AWS Secrets Manager. Verifique se o segredo existe na região especificada.
<a name="unable-to-pull-secrets-ecr"></a>

Esse erro ocorre quando a tarefa não consegue recuperar o segredo do Secrets Manager. Isso significa que o segredo especificado na definição de tarefa (e contido na mensagem de erro) não existe no Secrets Manager. 

A região está na mensagem de erro.

Buscar dados secretos do AWS Secrets Manager na região *região*: *sercretARN* do segredo: ResourceNotFoundException: o Secrets Manager não consegue encontrar o segredo especificado.

Para obter informações sobre como encontrar um segredo, consulte [Find secrets in AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) no *AWS Secrets Manager User Guide*.

Use a tabela a seguir para determinar qual é o erro e resolvê-lo.


| Problema | Ações | 
| --- | --- | 
| O segredo está em uma região diferente da definição de tarefa. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/resource-not-found-error.html) | 
| A definição de tarefa tem o ARN do segredo incorreto. O segredo correto encontra-se no Secrets Manager. | Atualize a definição de tarefa com o segredo correto. Para obter mais informações, consulte [Atualizar uma definição de tarefa do Amazon ECS usando o console](update-task-definition-console-v2.md) ou [RegisterTaskDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html) na Referência da API do Amazon Elastic Container Service. | 
| O segredo não existe mais. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/resource-not-found-error.html)  | 

# Solução de problemas causados por erros SpotInterruption do Amazon ECS
<a name="spot-interruption-errors"></a>

O erro `SpotInterruption` tem motivos diferentes para o Fargate e os EC2s. 

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## Fargate
<a name="fargate-spot-error"></a>

O erro `SpotInterruption` ocorre quando não há capacidade spot do Fargate ou quando o Fargate recupera capacidade spot.

Você pode executar as tarefas em várias zonas de disponibilidade para permitir mais capacidade.

## EC2
<a name="ec2-spot-error"></a>

Esse erro ocorre quando não há instâncias spot disponíveis ou quando o EC2 recupera a capacidade spot. 

Você pode executar as instâncias em várias zonas de disponibilidade para permitir mais capacidade.

# Solução de problemas causados por erros InternalError do Amazon ECS
<a name="internal-error"></a>

**Aplica-se ao**: Fargate

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

O erro `InternalError` ocorre quando o agente encontra um erro interno inesperado não relacionado ao runtime.

Esse erro só ocorre se estiver sendo usada a versão `1.4` ou posterior da plataforma.

Para obter informações sobre como depurar e solucionar esse problema, consulte [Mensagens de erro de tarefa interrompida do Amazon ECS](stopped-task-error-codes.md).

# Solução de problemas causados por erros OutOfMemoryError do Amazon ECS
<a name="out-of-memory"></a>

A seguir estão algumas mensagens de erros OutOfMemoryError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## contêiner eliminado devido ao uso de memória
<a name="container-memory-usage"></a>

Esse erro ocorre quando um contêiner fecha devido a processos que consomem mais memória do que a alocada na definição de tarefa ou devido a restrições do host ou do sistema operacional.

# Solução de problemas causados por erros ContainerRuntimeError do Amazon ECS
<a name="container-runtime-error"></a>

A seguir estão algumas mensagens de erros ContainerRuntimeError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## ContainerRuntimeError
<a name="container-runtime-error-1"></a>

Esse erro ocorre quando o agente recebe um erro inesperado do `containerd` para uma operação específica do runtime. Esse erro geralmente é causado por uma falha interna no agente ou no runtime do `containerd`.

Esse erro ocorre somente se você usa a versão da plataforma `1.4.0` ou posterior (Linux) ou `1.0.0` ou posterior (Windows).

Para obter informações sobre como depurar e corrigir esse problema, consulte [Por que minha tarefa do Amazon ECS parou?](https://repost.aws/knowledge-center/ecs-task-stopped) no AWS re:Post.

# Solução de problemas causados por erros ContainerRuntimeTimeoutError do Amazon ECS
<a name="container-runtime-timeout-error"></a>

A seguir estão algumas mensagens de erros ContainerRuntimeTimeoutError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## Não foi possível passar para a execução; tempo limite esgotado esperando 1m ou erro de tempo limite esgotado do Docker
<a name="container-runtime-timeout-error-1"></a>

Esse erro ocorre quando um contêiner não consegue fazer a transição para um estado `RUNNING` ou `STOPPED` dentro no tempo limite. O motivo e o valor de tempo limite são fornecidos na mensagem de erro.

# Solução de problemas causados por erros CannotStartContainerError do Amazon ECS
<a name="cannot-start-container"></a>

A seguir estão algumas mensagens de erro CannotStartContainerError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## falha ao obter o status do contêiner: *<motivo>*
<a name="cannot-start-container-1"></a>

O erro ocorre quando não é possível iniciar um contêiner.

Caso seu contêiner tente exceder a memória especificada, o mesmo será interrompido. Aumente a memória apresentada ao contêiner. Esse é o parâmetro `memory` na definição da tarefa. Para obter mais informações, consulte [Memória](task_definition_parameters.md#container_definition_memory).

# Solução de problemas causados por erros CannotStopContainerError do Amazon ECS
<a name="cannot-stop-container"></a>

A seguir estão algumas mensagens de erro CannotStopContainerError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## CannotStopContainerError
<a name="cannot-stop-container-1"></a>

Este erro ocorre quando não é possível interromper um contêiner.

Para obter informações sobre como depurar e corrigir esse problema, consulte [Por que minha tarefa do Amazon ECS parou?](https://repost.aws/knowledge-center/ecs-task-stopped) no AWS re:Post.

# Solução de problemas causados por erros CannotInspectContainerError do Amazon ECS
<a name="cannot-inspect-container"></a>

A seguir estão algumas mensagens de erro CannotInspectContainerError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## CannotInspectContainerError
<a name="cannot-inspect-container-1"></a>

Esse erro ocorre quando o agente de contêiner não consegue descrever o contêiner no runtime do contêiner.

Ao usar a versão `1.3` da plataforma ou anterior, o agente do Amazon ECS retorna o motivo do Docker.

Ao usar a versão `1.4.0` da plataforma ou posterior (Linux) ou `1.0.0` ou posterior (Windows), o agente do Fargate retorna o motivo do `containerd`.

Para obter informações sobre como depurar e corrigir esse problema, consulte [Por que minha tarefa do Amazon ECS parou?](https://repost.aws/knowledge-center/ecs-task-stopped) no AWS re:Post.

# Solução de problemas causados por erros CannotCreateVolumeError do Amazon ECS
<a name="cannot-create-volume"></a>

A seguir estão algumas mensagens de erro CannotCreateVolumeError e medidas que podem ser tomadas para corrigi-los.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

## CannotCreateVolumeError
<a name="cannot-create-volume-1"></a>

Esse erro ocorre quando o agente não consegue criar a montagem de volume especificada na definição de tarefa.

Esse erro ocorre somente se você usa a versão da plataforma `1.4.0` ou posterior (Linux) ou `1.0.0` ou posterior (Windows).

Para obter informações sobre como depurar e corrigir esse problema, consulte [Por que minha tarefa do Amazon ECS parou?](https://repost.aws/knowledge-center/ecs-task-stopped) no AWS re:Post.

# Erros de tarefa CannotPullContainer no Amazon ECS
<a name="task_cannot_pull_image"></a>

Os erros a seguir indicam que a tarefa falhou ao iniciar porque o Amazon ECS não consegue recuperar a imagem do contêiner especificada.

**nota**  
A versão 1.4 da plataforma do Fargate trunca mensagens de erro longas.

Para verificar se há uma mensagem de erro nas tarefas interrompidas usando o Console de gerenciamento da AWS, consulte [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md).

**dica**  
Você pode usar o [Servidor MCP do Amazon ECS](ecs-mcp-introduction.md) com assistentes de IA para investigar erros de extração de imagens usando linguagem natural.

**Topics**
+ [

## A tarefa não consegue extrair a imagem. Verifique se o perfil tem as permissões para extrair imagens do registro.
](#pull-request-image-not-found)
+ [

## A tarefa não pode extrair "*image-name*" do repositório "*repository URI*" do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
](#pull-image-io-timeout)
+ [

## A tarefa não consegue extrair a imagem. Verificar a configuração da rede
](#pull-request-image-not-found-network)
+ [

## CannotPullContainerError: o manifesto de extração da imagem foi repetido 5 vez(es): falha ao resolver referência
](#pull-request-image-tag)
+ [

## Erro de API (500): obter https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitação cancelada enquanto aguardava conexão
](#request-canceled)
+ [

## Erro de API
](#pull-request-api-error)
+ [

## gravar /var/lib/docker/tmp/*GetImageBlob111111111*: nenhum espaço restante no dispositivo
](#pull-request-write-error)
+ [

## ERRO: toomanyrequests: excesso de solicitações ou você atingiu o limite de taxa de extração.
](#container-pull-too-many-requests)
+ [

## Resposta de erro do daemon: obter *url*: net/http: solicitação cancelada enquanto aguardava conexão
](#container-pull-request-canceled-connection)
+ [

## 1 nova tentativa de extração de ref.: falha ao copiar: httpReaderSeeker: falha ao abrir: código de status inesperado
](#container-pull-failed-open)
+ [

## acesso para extração negado
](#container-pull-access-denied.title)
+ [

## falha no comando pull: pânico: erro de runtime: endereço de memória inválido ou desreferência de ponteiro nulo
](#container-pull-runtime-error.title)
+ [

## erro ao extrair conf. de imagem/erro ao extrair configuração de imagem
](#container-pull-pulling-image.title)
+ [

## Contexto cancelado
](#container-pull-context-canceled)

## A tarefa não consegue extrair a imagem. Verifique se o perfil tem as permissões para extrair imagens do registro.
<a name="pull-request-image-not-found"></a>

Esse erro indica que a tarefa não consegue extrair a imagem especificada na definição de tarefa devido a problemas de permissão. 

Para resolver esse problema:

1. Verifique se a imagem existe no *repositório*. Para obter informações sobre visualização das imagens, consulte [Viewing image details in Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-info.html) no *Amazon Elastic Container Registry User Guide*.

1. Verifique se o *role-arn* tem as permissões corretas para extrair a imagem. 

   Para obter informações sobre como atualizar perfis, consulte [Atualizar permissões para um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) no *Guia do usuário do AWS Identity and Access Management*.

   A tarefa usa um dos seguintes perfis:
   + Para tarefas com o Fargate, esse é o perfil de execução de tarefa. Para obter informações sobre as permissões adicionais para o Amazon ECR, [Tarefas do Fargate que extraem imagens do Amazon ECR pelos endpoints da interface](task_execution_IAM_role.md#task-execution-ecr-conditionkeys).
   + Para tarefas com o EC2, esse é o perfil de instância de contêiner. Para obter informações sobre as permissões adicionais para o Amazon ECR, [Permissões do Amazon ECR](instance_IAM_role.md#container-instance-role-ecr).

## A tarefa não pode extrair "*image-name*" do repositório "*repository URI*" do Amazon ECR. Há um problema de conexão entre a tarefa e o Amazon ECR. Verifique a configuração de rede da tarefa.
<a name="pull-image-io-timeout"></a>

Esse erro indica que a tarefa não consegue se conectar ao Amazon ECR. Verifique a conexão com o repositório *repository URI*.

Para obter informações sobre como verificar e resolver o problema, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## A tarefa não consegue extrair a imagem. Verificar a configuração da rede
<a name="pull-request-image-not-found-network"></a>

Esse erro indica que a tarefa não consegue se conectar ao Amazon ECR.

Para obter informações sobre como verificar e resolver o problema, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## CannotPullContainerError: o manifesto de extração da imagem foi repetido 5 vez(es): falha ao resolver referência
<a name="pull-request-image-tag"></a>

Esse erro indica que a tarefa não consegue extrair a imagem.

Para resolver isso, você pode:
+ Verifique se a imagem especificada na definição de tarefa corresponde à imagem no repositório.
+ O Amazon ECS força a estabilidade da versão da imagem. Se a imagem original não estiver mais disponível, você receberá esse erro. A tag de imagem faz parte da imposição desse comportamento. Altere a imagem na definição da tarefa de usar :latest como tag para uma versão específica. Para obter mais informações, consulte [Resolução da imagem do contêiner](deployment-type-ecs.md#deployment-container-image-stability).

Para obter informações sobre como verificar e resolver o problema, consulte [Verificar conectividade de tarefa interrompida do Amazon ECS](verify-connectivity.md).

## Erro de API (500): obter https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitação cancelada enquanto aguardava conexão
<a name="request-canceled"></a>

Esse erro indica que a conexão atingiu o tempo limite porque não existe uma rota para a Internet.

Para resolver esse problema, você pode:
+ Para tarefas em sub-redes públicas, especifique **ENABLED (Habilitado)** para **Auto-assign public IP (Atribuir IP público automaticamente)** ao iniciar a tarefa. Para obter mais informações, consulte [Execução de uma aplicação como uma tarefa do Amazon ECS](standalone-task-create.md).
+ Para tarefas em sub-redes privadas, especifique **DISABLED** (DESABILITADO) em **Auto-assign public IP** (Atribuir IP público automaticamente) ao iniciar a tarefa e configure um Gateway NAT na VPC para encaminhar solicitações para a Internet. Para obter mais informações, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) no *Guia do usuário da Amazon VPC*. 

## Erro de API
<a name="pull-request-api-error"></a>

Esse erro indica que há um problema de conexão com o endpoint do Amazon ECR.

Para obter informações sobre como resolver esse problema, consulte [Como posso resolver o erro do Amazon ECR “CannotPullContainerError: API error” no Amazon ECS?](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/) no site do Suporte.

## gravar /var/lib/docker/tmp/*GetImageBlob111111111*: nenhum espaço restante no dispositivo
<a name="pull-request-write-error"></a>

Esse erro indica que não há espaço suficiente em disco.

Para resolver esse problema, libere espaço em disco.

Se você estiver usando a API otimizada para o Amazon ECS, utilize o seguinte comando para recuperar os 20 maiores arquivos do sistema de arquivos:

```
du -Sh / | sort -rh | head -20
```

Resultado do exemplo:

```
5.7G    /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2
1.2G    /var/log/ecs
594M    /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs
...
```

Em alguns casos, o volume raiz pode ser preenchido por um contêiner em execução. Se o contêiner estiver usando o driver de log `json-file` padrão sem um limite `max-size`, o arquivo de log poderá ser responsável pela maioria do espaço usado. É possível usar o comando `docker ps` para verificar qual contêiner está usando o espaço mapeando o nome do diretório da saída acima para o ID do contêiner. Por exemplo:

```
CONTAINER ID   IMAGE                            COMMAND             CREATED             STATUS              PORTS                            NAMES
50501b5f4cbf   amazon/amazon-ecs-agent:latest   "/agent"            4 days ago          Up 4 days                                            ecs-agent
```

Por padrão, ao usar o driver de log `json-file`, o Docker registra a saída padrão (e o erro padrão) de todos os contêineres e a grava em arquivos usando o formato JSON. É possível definir o `max-size` como uma opção de driver de log, que impede que o arquivo de log ocupe muito espaço. Para obter mais informações, consulte [Driver de registro em log de arquivo JSON](https://docs.docker.com/engine/logging/drivers/json-file/) na documentação do Docker.

Este é um trecho de definição de contêiner que mostra como usar essa opção:

```
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "256m"
    }
}
```

Uma alternativa caso os logs de contêiner estejam ocupando muito espaço em disco é usar o driver de log `awslogs`. O driver de log `awslogs` envia os logs para o CloudWatch, que libera o espaço em disco que seria usado para os logs de contêiner na instância de contêiner. Para obter mais informações, consulte [Envio de logs do Amazon ECS para o CloudWatch](using_awslogs.md).

Você pode precisar atualizar o tamanho do disco que o Docker pode acessar.

Para obter mais informações, consulte [CannotPullContainerError: no space left on device](https://repost.aws/questions/QUx6Ix1R1SSNisYSs1Sw8EBA/cannotpullcontainererror-no-space-left-on-device).

## ERRO: toomanyrequests: excesso de solicitações ou você atingiu o limite de taxa de extração.
<a name="container-pull-too-many-requests"></a>

Esse erro indica que há uma limitação de taxa do Docker Hub.

Se você receber um dos seguintes erros, você provavelmente está atingindo os limites de taxa do Docker Hub:

Para obter mais informações sobre os limites de taxa do Docker Hub, consulte [Entender a limitação de taxa do Docker Hub](https://www.docker.com/increase-rate-limits).

Se você tiver aumentado o limite da taxa do Docker Hub e precisar autenticar as extrações do Docker para as instâncias de contêiner, consulte [Autenticação de registro privado para instâncias de contêiner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth-container-instances.html).

## Resposta de erro do daemon: obter *url*: net/http: solicitação cancelada enquanto aguardava conexão
<a name="container-pull-request-canceled-connection"></a>

Esse erro indica que a conexão atingiu o tempo limite porque não existe uma rota para a Internet.

Para resolver esse problema, você pode:
+ Para tarefas em sub-redes públicas, especifique **ENABLED (Habilitado)** para **Auto-assign public IP (Atribuir IP público automaticamente)** ao iniciar a tarefa. Para obter mais informações, consulte [Execução de uma aplicação como uma tarefa do Amazon ECS](standalone-task-create.md).
+ Para tarefas em sub-redes privadas, especifique **DISABLED** (DESABILITADO) em **Auto-assign public IP** (Atribuir IP público automaticamente) ao iniciar a tarefa e configure um Gateway NAT na VPC para encaminhar solicitações para a Internet. Para obter mais informações, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) no *Guia do usuário da Amazon VPC*. 

## 1 nova tentativa de extração de ref.: falha ao copiar: httpReaderSeeker: falha ao abrir: código de status inesperado
<a name="container-pull-failed-open"></a>

Esse erro indica que houve uma falha ao copiar uma imagem.

Para resolver esse problema, consulte um dos seguintes artigos:
+ Para tarefas do Fargate, consulte [Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS no Fargate](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-pull-container-error/).
+ Para outras tarefas, consulte [Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-error/).

## acesso para extração negado
<a name="container-pull-access-denied.title"></a>

Esse erro indica que não há acesso à imagem.

Para resolver esse problema, talvez seja necessário autenticar o cliente Docker com o Amazon ECR. Para obter mais informações, consulte [Private registry authentication](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) no *Guia do usuário do Amazon ECR*.

## falha no comando pull: pânico: erro de runtime: endereço de memória inválido ou desreferência de ponteiro nulo
<a name="container-pull-runtime-error.title"></a>

Esse erro indica que não há acesso à imagem devido a um endereço de memória inválido ou à desreferência do ponteiro nulo.

Para resolver esse problema:
+ Verifique se você tem as regras do grupo de segurança para acessar o Amazon S3.
+ Ao usar endpoints de gateway, você deve adicionar uma rota na tabela de rotas para acessar o endpoint.

## erro ao extrair conf. de imagem/erro ao extrair configuração de imagem
<a name="container-pull-pulling-image.title"></a>

Este erro indica que um limite de taxa foi atingido ou que há um erro de rede:

Para resolver esse problema, consulte [Como posso resolver o erro “CannotPullContainerError” na minha tarefa de tipo de inicialização do EC2 do Amazon ECS](https://repost.aws/knowledge-center/ecs-pull-container-error).

## Contexto cancelado
<a name="container-pull-context-canceled"></a>

Esse erro indica que o contexto foi cancelado.

Esse erro comumente ocorre porque a VPC que sua tarefa está usando não tem uma rota para extrair a imagem de contêiner do Amazon ECR.

# Verificar conectividade de tarefa interrompida do Amazon ECS
<a name="verify-connectivity"></a>

Algumas vezes uma tarefa é interrompida devido a um problema de conectividade de rede. Esse problema pode ser intermitente, mas a causa mais provável é a tarefa não conseguir se conectar a um endpoint. 

## Testar a conectividade da tarefa
<a name="test-network"></a>

Você pode usar o runbook `AWSSupport-TroubleshootECSTaskFailedToStart` para testar a conectividade da tarefa. Para usar o runbook, você precisa das seguintes informações do recurso:
+ O ID da tarefa

  Use o ID da tarefa mais recente em que houve falha.
+ O cluster em que a tarefa estava

Para obter informações sobre como usar o runbook, consulte [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshootecstaskfailedtostart.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshootecstaskfailedtostart.html) na *Referência do runbook do AWS Systems Manager Automation*.

O runbook analisa a tarefa. Você pode visualizar os resultados na seção **Saída** para os seguintes problemas que podem impedir que uma tarefa seja iniciada: 
+ Conectividade de rede com o registro de contêiner configurado
+ Conectividade do serviço de endpoint da VPC
+ Configuração de regras do grupo de segurança

## Corrigir problemas de endpoint da VPC
<a name="fix-vpc-endpoints"></a>

Quando o resultado do runbook `AWSSupport-TroubleshootECSTaskFailedToStart` indicar um problema do endpoint da VPC, verifique a seguinte configuração:
+ A VPC em que você cria o endpoint e o endpoint da VPC precisam usar DNS privado.
+ Certifique-se de ter um endpoint AWS PrivateLink para o serviço ao qual a tarefa não consegue se conectar na mesma VPC da tarefa. Para obter mais informações, consulte um dos seguintes tópicos:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Configure uma regra de saída para a sub-rede da tarefa que permita HTTPS no tráfego DNS da porta 443 (TCP). Para obter mais informações, consulte [Configurar regras de grupo de segurança](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html#add-remove-security-group-rules) no *Guia do usuário da Amazon Elastic Compute Cloud*.
+ Se você usa um servidor de nome de domínio personalizado, confirme as configurações da consulta ao DNS. A consulta deve ter acesso de saída na porta 53 e usar os protocolos UDP e TCP. Além disso, ela deve ter acesso HTTPS na porta 443. Para obter mais informações, consulte [Configurar regras de grupo de segurança](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html#add-remove-security-group-rules) no *Guia do usuário da Amazon Elastic Compute Cloud*.
+ Se a sub-rede tiver uma ACL de rede, as seguintes regras de ACL serão necessárias:
  + Uma regra de saída que permita tráfego nas portas 1024-65535.
  + Adicione uma regra de entrada que permita o tráfego TCP na porta 443.

  Para obter informações sobre como configurar regras, consulte [Controlar o tráfego para sub-redes com ACLs de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

## Corrigir problemas de rede
<a name="fix-network-issues"></a>

Quando o resultado do runbook `AWSSupport-TroubleshootECSTaskFailedToStart` indicar um problema rede, verifique a seguinte configuração:

### Tarefas que usam o modo de rede awsvpc em uma sub-rede pública
<a name="fix-network-issues-fargate-public"></a>

Faça a configuração a seguir baseada no runbook:
+ Para tarefas em sub-redes públicas, especifique **ENABLED (Habilitado)** para **Auto-assign public IP (Atribuir IP público automaticamente)** ao iniciar a tarefa. Para obter mais informações, consulte [Execução de uma aplicação como uma tarefa do Amazon ECS](standalone-task-create.md).
+ Você precisa de um gateway para lidar com o tráfego da Internet. A tabela de rotas para a sub-rede da tarefa precisa ter uma rota para o tráfego destinado ao gateway.

  Para obter mais informações, consulte [Adicionar e remover rotas de uma tabela de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) no *Manual do usuário da Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Se a sub-rede da tarefa tiver uma ACL de rede, as seguintes regras de ACL serão necessárias:
  + Uma regra de saída que permite tráfego nas portas de 1024 a 65535.
  + Adicione uma regra de entrada que permita o tráfego TCP na porta 443.

  Para obter informações sobre como configurar regras, consulte [Controlar o tráfego para sub-redes com ACLs de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

### Tarefas que usam o modo de rede awsvpc em uma sub-rede privada
<a name="fix-network-issues-fargate-private"></a>

Faça a configuração a seguir baseada no runbook:
+ Escolha **DESABILITADO** para **atribuir automaticamente um IP público** ao iniciar a tarefa.
+  Configure um gateway NAT na VPC para rotear solicitações para a Internet. Para obter mais informações, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) no *Guia do usuário do Amazon Virtual Private Cloud*. 
+ A tabela de rotas para a sub-rede da tarefa precisa ter uma rota para o tráfego destinado ao gateway NAT.

  Para obter mais informações, consulte [Adicionar e remover rotas de uma tabela de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) no *Manual do usuário da Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Se a sub-rede da tarefa tiver uma ACL de rede, as seguintes regras de ACL serão necessárias:
  + Uma regra de saída que permite tráfego nas portas de 1024 a 65535.
  + Adicione uma regra de entrada que permita o tráfego TCP na porta 443.

  Para obter informações sobre como configurar regras, consulte [Controlar o tráfego para sub-redes com ACLs de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

### Tarefas que não usam o modo de rede awsvpc em uma sub-rede pública
<a name="fix-network-issues-ec2-public"></a>

Faça a configuração a seguir baseada no runbook:
+ Escolha **Ativar** para **Atribuir IP automaticamente** em **Rede para instâncias do Amazon EC2** ao criar o cluster.

  Essa opção atribui um endereço IP público à interface de rede primária da instância.
+ Você precisa de um gateway para lidar com o tráfego da Internet. A tabela de rotas para a sub-rede da instância precisa ter uma rota para o tráfego destinado ao gateway.

  Para obter mais informações, consulte [Adicionar e remover rotas de uma tabela de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) no *Manual do usuário da Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Se a sub-rede da instância tiver uma ACL de rede, as seguintes regras de ACL serão necessárias:
  + Uma regra de saída que permite tráfego nas portas de 1024 a 65535.
  + Adicione uma regra de entrada que permita o tráfego TCP na porta 443.

  Para obter informações sobre como configurar regras, consulte [Controlar o tráfego para sub-redes com ACLs de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

### Tarefas que não usam o modo de rede awsvpc em uma sub-rede privada
<a name="fix-network-issues-fargate-private"></a>

Faça a configuração a seguir baseada no runbook:
+ Escolha **Desativar** para **Atribuir IP automaticamente** em **Redes para instâncias do Amazon EC2** ao criar o cluster.
+  Configure um gateway NAT na VPC para rotear solicitações para a Internet. Para obter mais informações, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) no *Guia do usuário da Amazon VPC*. 
+ A tabela de rotas para a sub-rede da instância precisa ter uma rota para o tráfego destinado ao gateway NAT.

  Para obter mais informações, consulte [Adicionar e remover rotas de uma tabela de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) no *Manual do usuário da Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Se a sub-rede da tarefa tiver uma ACL de rede, as seguintes regras de ACL serão necessárias:
  + Uma regra de saída que permite tráfego nas portas de 1024 a 65535.
  + Adicione uma regra de entrada que permita o tráfego TCP na porta 443.

  Para obter informações sobre como configurar regras, consulte [Controlar o tráfego para sub-redes com ACLs de rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

# Visualização de solicitações de perfil do IAM para tarefas do Amazon ECS
<a name="task_iam_roles-logs"></a>

Quando você usa um provedor para as credenciais de tarefa em um perfil do IAM, as solicitações do provedor são salvas em um log de auditoria. O log de auditoria herda as mesmas configurações de rotação de log que o log do agente de contêiner. As variáveis de configuração do agente de contêiner `ECS_LOG_ROLLOVER_TYPE`, `ECS_LOG_MAX_FILE_SIZE_MB` e `ECS_LOG_MAX_ROLL_COUNT` podem ser definidas para afetar o comportamento do log de auditoria. Para obter mais informações, consulte [Parâmetros de configuração do log do agente de contêiner do Amazon ECS](ecs-agent-versions.md#agent-logs).

Para o agente de contêiner versão 1.36.0 e posteriores, o log de auditoria está localizado em `/var/log/ecs/audit.log`. Quando o log é girado, um timestamp no formato `YYYY-MM-DD-HH` é adicionado ao final do nome do arquivo de log.

Para o agente de contêiner versão 1.35.0 e anteriores, o log de auditoria está localizado em `/var/log/ecs/audit.log.YYYY-MM-DD-HH`.

O formato de entrada do log é o seguinte:
+ Timestamp
+ Código de resposta HTTP
+ Endereço IP e número de porta de origem da solicitação
+ URI relativo do provedor de credencial
+ O agente do usuário que fez a solicitação
+ O ARN da tarefa ao qual o contêiner solicitante pertence
+ O nome e o número da versão da API `GetCredentials`
+ O nome do cluster do Amazon ECS no qual a instância de contêiner é registrada
+ O ARN de instância do contêiner

É possível usar o comando a seguir para visualizar os arquivos de log.

```
cat /var/log/ecs/audit.log.2016-07-13-16
```

Resultado:

```
2016-07-13T16:11:53Z 200 172.17.0.5:52444 "/v1/credentials" "python-requests/2.7.0 CPython/2.7.6 Linux/4.4.14-24.50.amzn1.x86_64" TASK_ARN GetCredentials 1 CLUSTER_NAME CONTAINER_INSTANCE_ARN
```

# Visualizar mensagens de eventos de serviço do Amazon ECS
<a name="service-event-messages"></a>

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. É possível visualizar eventos de serviço usando a API `DescribeServices`, a AWS CLI a opção Console de gerenciamento da AWS. 

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 o prefixo **serviço *(service-name)***. Para garantir que esta visualização de eventos seja útil, mostramos somente os `100` eventos mais recentes. As mensagens de evento de serviço duplicadas são omitidas até que a causa seja resolvida ou depois de transcorridas seis horas. Se a causa não for resolvida em até seis horas, você receberá outra mensagem de evento do serviço referente a essa causa.
+ Eventos de Auto Scaling do serviço. Esses eventos têm um prefixo **Message** e ocorrem apenas quando um serviço é configurado com uma política de escalação do Application Auto Scaling.

**dica**  
Você pode usar o [Servidor MCP do Amazon ECS](ecs-mcp-introduction.md) com assistentes de IA para analisar eventos de serviço usando linguagem natural.

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](https://console.aws.amazon.com/ecs/v2).

1. No painel de navegação, escolha **Clusters**.

1. Na página **Clusters**, escolha o cluster.

1. Escolha o serviço a ser inspecionado.

1. Na guia **Eventos**, veja as mensagens.

------
#### [ AWS CLI ]

Use o comando [describe-serviços](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-services.html) para visualizar as mensagens de evento de serviço para um serviço especificado.

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

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

------

# Mensagens de eventos do serviço do Amazon ECS
<a name="service-event-messages-list"></a>

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

## O serviço (*service-name*) atingiu um estado estável.
<a name="service-event-messages-steady"></a>

O programador de serviços envia um evento de serviço `service (service-name) has reached a steady state.` quando o serviço está íntegro e no 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 serviço (*service-name*) não conseguiu fazer uma tarefa porque nenhuma instância de contêiner atendeu a todos os requisitos.
<a name="service-event-messages-1"></a>

O programador 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:

Use provedores de capacidade para escalar automaticamente suas instâncias do EC2. Para obter mais informações, consulte [Provedores de capacidade do Amazon ECS para workloads do EC2](asg-capacity-providers.md).  
Se você pretende usar um provedor de capacidade, certifique-se de estar passando uma estratégia de provedor de capacidade ou de ter uma estratégia de provedor de capacidade padrão associada ao seu cluster e não esteja passando o tipo de inicialização e a estratégia do provedor de capacidade como entrada

Não foram encontradas instâncias de contêiner no cluster  
Se não houver instâncias de contêiner registradas no cluster no qual tenta executar uma tarefa, você receberá esse erro. Você deve adicionar instâncias de contêiner ao seu cluster. Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

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 com maior correspondência para o posicionamento de tarefas não pode exceder o limite máximo permitido de porta reservada de cem 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 de tarefa dessa tarefa usa a mesma porta no mapeamento de porta que uma tarefa já em execução na instância de 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.  
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 [Reserva de memória da instância de contêiner do Linux no Amazon ECS](memory-management.md).

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 [Endereços IP por interface de rede por tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) no *Manual do usuário do Amazon EC2*.
+ Se você **aceitou** a configuração de conta `awsvpcTrunking`, mas **não** executou novas instâncias de contêiner usando um tipo de instância com suporte depois de aceitar a configuração, o limite de ENI para cada instância de contêiner ainda está no valor padrão. Para obter mais informações, consulte [Endereços IP por interface de rede por tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) no *Manual do usuário do Amazon EC2*.
+ 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 obter mais informações, consulte [Instâncias com suporte para o aumento de interfaces de rede de contêineres do Amazon ECS](eni-trunking-supported-instance-types.md).
Para obter mais informações sobre como optar pela configuração de conta `awsvpcTrunking`, consulte [Aumento das interfaces de rede de instâncias de contêiner do Linux no Amazon ECS](container-instance-eni.md).  
É 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`. Caso a definição de tarefa contenha um parâmetro que exija um atributo de instância de contêiner específico e você não tenha instâncias de contêiner disponíveis que possam atender a esse requisito, a tarefa não poderá ser realizada.  
Uma causa comum desse erro é o serviço estar usando tarefas que utilizam o modo de rede `awsvpc` e o EC2. O cluster especificado não tem uma instância de contêiner registrada na mesma sub-rede especificada em `awsvpcConfiguration` quando o serviço foi criado.  
É possível usar o runbook AWSSupport-TroubleshootecsContainerInstance para solucionar problemas. O runbook analisa se os dados do usuário da instância contêm as informações corretas do cluster, se o perfil de instância contém as permissões necessárias e problemas de configuração de rede. Para obter mais informações, consulte [AWSSupport-TroubleshootECSContainerInstance](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshoot-ecs-container-instance.html) no *Guia do usuário de referência do runbook do AWS Systems Manager Automation*.  
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 do Amazon ECS para o Fargate](task_definition_parameters.md) e [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).

## O serviço (*service-name*) não conseguiu fazer uma tarefa porque nenhuma instância de contêiner atendeu a todos os requisitos. O *container-instance-id* de instância de contêiner correspondente mais próximo tem unidades de CPU insuficientes disponíveis.
<a name="service-event-messages-2"></a>

A instância de contêiner com maior correspondência para o posicionamento de tarefas não contém unidades de CPU suficientes para atender aos requisitos na definição de 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 serviço (*service-name*) não conseguiu fazer uma tarefa porque nenhuma instância de contêiner atendeu a todos os requisitos. O container-instance mais próximo *container-instance-id* encontrou um erro "AGENT".
<a name="service-event-messages-3"></a>

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 [Parâmetros de configuração do log do agente de contêiner do Amazon ECS](ecs-agent-versions.md#agent-logs). 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 e a AMI do Amazon Linux 2023 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
  ```

## serviço (*service-name*) (tarefa *task-id*) (instância *instance-id*) está não íntegro em (elb *elb-name*) devido (motivo da falha na instância no mínimo no número de verificações de integridade UnhealthyThreshold consecutivas.)
<a name="service-event-messages-4"></a>

O serviço é registrado com um load balancer, e as verificações de integridade do load balancer apresentam falhas. A mensagem inclui o ID da tarefa para ajudar a identificar qual tarefa específica está falhando nas verificações de integridade. Para obter mais informações, consulte [Solução de problemas relacionados aos balanceadores de carga de serviço no Amazon ECS](troubleshoot-service-load-balancers.md).

## O serviço (*service-name*) não consegue iniciar tarefas com êxito de maneira consistente.
<a name="service-event-messages-5"></a>

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 obter mais informações, consulte [Lógica de controle de utilização do serviço do Amazon ECS](service-throttle-logic.md).

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.

## As operações do serviço (*service-name*) estão tendo a utilização controlada. Tentará novamente mais tarde.
<a name="service-event-messages-6"></a>

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](https://console.aws.amazon.com/support/home#/), 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.

## O serviço (*service-name*) não conseguiu interromper ou iniciar tarefas durante uma implantação devido à configuração de implantação do serviço. Atualize o valor minimumHealthyPercent ou maximumPercent e tente novamente.
<a name="service-event-messages-7"></a>

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 valores `minimumHealthyPercent` e `maximumPercent`, que são definidos quando o serviço é criado. Esses valores também podem ser atualizados em um serviço existente.

O valor `minimumHealthyPercent` representa o limite inferior do número de tarefas que devem estar sendo executadas em um serviço durante uma implantação ou quando uma instância de contêiner está sendo drenada. É uma porcentagem do número de tarefas desejadas 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 desejadas for quatro, o programador 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.

O valor `maximumPercent` representa o limite superior do número de tarefas que devem estar sendo executadas em um serviço durante uma implantação ou quando uma instância de contêiner está sendo drenada. É uma porcentagem do número de tarefas desejadas para um serviço. Esse valor é arredondado para baixo. Por exemplo, se a porcentagem máxima for `200` e a contagem de tarefas desejadas for quatro, o programador 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.

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: você atingiu o limite do número de tarefas que podem ser executadas simultaneamente
<a name="service-event-messages-8"></a>

É possível solicitar um aumento de cota para o recurso que causou o erro. Para obter mais informações, consulte [Cotas de serviço do Amazon ECS](service-quotas.md). Para solicitar um aumento da cota, consulte [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas*.

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: erro interno.
<a name="service-event-messages-9"></a>

O possível motivo para esse erro é o seguinte:

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](AWS_Fargate-Regions.md).

Para obter informações sobre como visualizar a zona de disponibilidade de sub-rede, consulte [Visualizar sua sub-rede](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#view-subnet) no *Guia do usuário da Amazon VPC*.

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: a configuração de CPU solicitada está acima do limite.
<a name="service-event-messages-10"></a>

É possível solicitar um aumento de cota para o recurso que causou o erro. Para obter mais informações, consulte [Cotas de serviço do Amazon ECS](service-quotas.md). Para solicitar um aumento da cota, consulte [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas*.

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: A configuração MEMORY solicitada está acima do limite.
<a name="service-event-messages-11"></a>

É possível solicitar um aumento de cota para o recurso que causou o erro. Para obter mais informações, consulte [Cotas de serviço do Amazon ECS](service-quotas.md). Para solicitar um aumento da cota, consulte [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas*.

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: você atingiu o limite do número de vCPUs que pode executar simultaneamente
<a name="service-event-messages-12"></a>

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

É possível solicitar um aumento para a cota baseada em vCPU do Fargate. Para obter mais informações, consulte [Cotas de serviço do Amazon ECS](service-quotas.md). Para solicitar o aumento da cota do Fargate, consulte [Requesting a Quota Increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) (Solicitar um aumento de cota) no *Guia do usuário do Service Quotas*.

## O serviço (*service-name*) não conseguiu atingir o estado estacionário porque o conjunto de tarefas (*taskSet-ID*) não conseguiu reduzir a escala horizontalmente. Motivo: o número de tarefas protegidas é maior do que a contagem desejada de tarefas
<a name="service-event-messages-13"></a>

O serviço tem mais tarefas protegidas do que o número desejado 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 API `UpdateTaskProtection` com a opção `protectionEnabled` definida como `false` para cancelar a proteção dessas tarefas.
+ Aumente a contagem de tarefas desejada do serviço para mais do que o número de tarefas protegidas.

## O serviço (*nome-do-serviço*) foi incapaz de atingir o estado estável. Motivo: nenhuma instância de contêiner foi encontrada em seu provedor de capacidade.
<a name="service-event-messages-14"></a>

O programador 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 há provedor de capacidade associado ao cluster  
Use `describe-services` para verificar se há um provedor de capacidade associado ao cluster. Você pode atualizar a estratégia do provedor de capacidade do serviço.  
Verifique se há capacidade disponível no provedor de capacidade. No caso do EC2, certifique-se de que as instâncias de contêiner atendam aos requisitos de definição de tarefa.

Não foram encontradas instâncias de contêiner no cluster  
Se não houver instâncias de contêiner registradas no cluster no qual tenta executar uma tarefa, você receberá esse erro. Você deve adicionar instâncias de contêiner ao seu cluster. Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

Não há portas suficientes  
Caso a tarefa use um mapeamento de porta de host fixo (por exemplo, a tarefa usa a porta 80 no host de 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 com maior correspondência para o posicionamento de tarefas não pode exceder o limite máximo permitido de porta reservada de cem 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 de tarefa dessa tarefa usa a mesma porta no mapeamento de porta que uma tarefa já em execução na instância de 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.  
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 [Reserva de memória da instância de contêiner do Linux no Amazon ECS](memory-management.md).

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 com 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 [Endereços IP por interface de rede por tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) no *Manual do usuário do Amazon EC2*.
+ Se você **aceitou** a configuração de conta `awsvpcTrunking`, mas **não** executou novas instâncias de contêiner usando um tipo de instância com suporte depois de aceitar a configuração, o limite de ENI para cada instância de contêiner ainda está no valor padrão. Para obter mais informações, consulte [Endereços IP por interface de rede por tipo de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) no *Manual do usuário do Amazon EC2*.
+ 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 obter mais informações, consulte [Instâncias com suporte para o aumento de interfaces de rede de contêineres do Amazon ECS](eni-trunking-supported-instance-types.md).
Para obter mais informações sobre como optar pela configuração de conta `awsvpcTrunking`, consulte [Aumento das interfaces de rede de instâncias de contêiner do Linux no Amazon ECS](container-instance-eni.md).  
É 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`. Caso a definição de tarefa contenha um parâmetro que exija um atributo de instância de contêiner específico e você não tenha instâncias de contêiner disponíveis que possam atender a esse requisito, a tarefa não poderá ser realizada.  
Uma causa comum desse erro é o serviço estar usando tarefas que utilizam o modo de rede `awsvpc` e o EC2, e o cluster especificado não ter uma instância de contêiner registrada nele na mesma sub-rede especificada na `awsvpcConfiguration` quando o serviço foi criado.  
É possível usar o runbook AWSSupport-TroubleshootecsContainerInstance para solucionar problemas. O runbook analisa se os dados do usuário da instância contêm as informações corretas do cluster, se o perfil de instância contém as permissões necessárias e problemas de configuração de rede. Para obter mais informações, consulte [AWSSupport-TroubleshootECSContainerInstance](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshoot-ecs-container-instance.html) no *Guia do usuário de referência do runbook do AWS Systems Manager Automation*.  
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 do Amazon ECS para o Fargate](task_definition_parameters.md) e [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).

## O serviço (*service-name*) não conseguiu posicionar uma tarefa. Motivo: a capacidade não está disponível no momento. Tente novamente mais tarde ou em uma zona de disponibilidade diferente.
<a name="service-event-messages-15"></a>

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.

## falha na implantação do serviço (*service-name*): houve falha nas tarefas ao iniciar.
<a name="service-event-messages-16"></a>

Houve falha ao iniciar as tarefas no serviço.

Para obter informações sobre como depurar tarefas interrompidas, consulte [Mensagens de erro de tarefa interrompida do Amazon ECS](stopped-task-error-codes.md).

## O serviço (*service-name*) atingiu o tempo limite aguardando o início do agente do Amazon ECS. Verifique os logs em /var/log/ecs/ecs-agent.log”.
<a name="service-event-messages-17"></a>

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 [Parâmetros de configuração do log do agente de contêiner do Amazon ECS](ecs-agent-versions.md#agent-logs). 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 (*taskSet-ID*) (tarefa *task-id*) do serviço (*service-name*) não está íntegro no grupo de destino (*targetGroup-ARN*) devido a `TARGET GROUP IS NOT FOUND`.
<a name="service-event-messages-18"></a>

A tarefa definida para o serviço está falhando nas verificações de integridade porque o grupo de destino não foi encontrado. A mensagem inclui o ID da tarefa para ajudar a identificar qual tarefa específica está falhando nas verificações de integridade. Você precisa excluir e recriar o serviço. Não exclua nenhum grupo de destino do Elastic Load Balancing, a menos que o serviço correspondente do Amazon ECS já tenha sido excluído.

## O conjunto de tarefas (*taskSet-ID*) (tarefa *task-id*) do serviço (*service-name*) não está íntegro no grupo de destino (*targetGroup-ARN*) devido a `TARGET IS NOT FOUND`.
<a name="service-event-messages-19"></a>

A tarefa definida para o serviço está falhando nas verificações de integridade porque o destino não foi encontrado. A mensagem inclui o ID da tarefa para ajudar a identificar qual tarefa específica está falhando nas verificações de integridade.

## As políticas de permissões do IAM foram configuradas incorretamente ou alteradas, e o ECS não pode mais manter seu serviço
<a name="service-event-messages-20"></a>

O serviço não consegue manter as tarefas devido a políticas de permissões do IAM configuradas incorretamente ou alteradas. O perfil do IAM associado ao seu serviço ou tarefas do ECS pode não ter as permissões necessárias.

Para resolver esse problema, adicione as permissões necessárias ao perfil do IAM. Para obter informações sobre gerenciamento de políticas de permissões do IAM, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

## O relacionamento de confiança do IAM foi configurado incorretamente ou alterado, e o ECS não pode mais manter seu serviço
<a name="service-event-messages-21"></a>

O serviço não consegue manter as tarefas devido a um relacionamento de confiança do IAM configurado incorretamente ou alterado. O perfil do IAM associado ao seu serviço ou tarefas do ECS pode ter uma política de confiança incorreta.

Para resolver esse problema, configure uma política de confiança para o perfil usado na definição da tarefa. Para obter mais informações sobre como criar políticas de confiança para perfis personalizados, consulte [Criar um perfil para um caso de uso personalizado](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

## o serviço (*service-name*) não pôde inicializar *número* tarefas para a implantação *id da implantação*.
<a name="service-event-messages-22"></a>

O programador de serviços envia essa mensagem de evento quando um fluxo de trabalho de implantação inicia com êxito algumas tarefas, mas não consegue iniciar todas as tarefas solicitadas por causa de erros de capacidade insuficientes. Isso geralmente ocorre quando o disjuntor está habilitado e fornece visibilidade sobre por que as implantações podem falhar ou ser revertidas.

A mensagem inclui o motivo específico da falha, como CPU e memória insuficientes ou outras restrições de recursos. Isso ajuda você a entender quais recursos precisam ser tratados para resolver o problema de implantação.

Para obter mais informações, consulte [O serviço (*service-name*) não conseguiu fazer uma tarefa porque nenhuma instância de contêiner atendeu a todos os requisitos.](#service-event-messages-1).

## o serviço (*service-name*) não conseguiu colocar tarefas no cluster porque o limite de capacidade de provisionamento de tarefas foi excedido.
<a name="service-event-messages-23"></a>

O programador de serviços envia essa mensagem de evento quando o cluster atinge o limite de 500 tarefas que podem estar no estado `PROVISIONING` simultaneamente. Esse é um limite no nível do cluster, não um problema específico do serviço.

Isso geralmente ocorre quando você inicia um serviço com um número alto de tarefas desejadas com capacidade pré-provisionada limitada ou quando vários serviços são iniciados simultaneamente, causando alta rotatividade de tarefas.

Para resolver esse problema:
+ Aguarde até que as tarefas existentes concluam o provisionamento e mudem para o estado `RUNNING`.
+ Considere escalar seus serviços de forma mais gradual para evitar atingir o limite de provisionamento.
+ Revise a configuração do provedor de capacidade do cluster para garantir que os recursos adequados estejam disponíveis.

Para obter informações sobre as cotas de serviço do Amazon ECS, consulte [Endpoints e cotas do Amazon Elastic Container Service](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html) na *Referência geral da Amazon Web Services*.

# Mensagens de evento não íntegro de serviço do Amazon ECS
<a name="service-unhealthy-event-messages"></a>

Os exemplos a seguir são mensagens de evento não íntegro de serviço.

## EC2: (serviço *service-name*) (tarefa *task-id*) (instância *instance-id*) (porta *port-number*) não está íntegro em (grupo de destino *target-group*) devido a (razão *failure-reason*)
<a name="service-unhealthy-ec2"></a>

Essa mensagem indica que uma tarefa em execução em uma instância do EC2 está falhando nas verificações de integridade. Para saber mais, consulte:
+ [Como faço para que minhas tarefas do Amazon ECS que usam o EC2 sejam aprovadas na verificação de integridade do Application Load Balancer?](https://repost.aws/knowledge-center/troubleshoot-unhealthy-checks-ecs)

## EC2 com taskSet: (serviço *service-name*, taskSet *taskSet-id*) (tarefa *task-id*) (instância *instance-id*) (porta *port-number*) não está íntegro em (grupo de destino *target-group-name*) devido a (razão *failure-reason*)
<a name="service-unhealthy-ec2-taskset"></a>

Essa mensagem indica que uma tarefa em um conjunto de tarefas em execução em uma instância do EC2 está falhando nas verificações de integridade. Para saber mais, consulte:
+ [Como faço para que minhas tarefas do Amazon ECS que usam o EC2 sejam aprovadas na verificação de integridade do Application Load Balancer?](https://repost.aws/knowledge-center/troubleshoot-unhealthy-checks-ecs)

## Fargate: (serviço *service-name*) (tarefa *task-id*) (porta *port-number*) não está íntegro em (grupo de destino *target-group-name*) devido a (razão *failure-reason*)
<a name="service-unhealthy-fargate"></a>

Essa mensagem indica que uma tarefa do Fargate está falhando nas verificações de integridade. 

Para obter mais informações sobre como solucionar falhas de verificação de integridade em tarefas do Fargate, consulte [Como solucionar falhas na verificação de integridade de tarefas do Amazon ECS no Fargate?](https://repost.aws/knowledge-center/ecs-fargate-health-check-failures).

## Fargate com taskSet: (serviço *service-name*, taskSet *taskSet-id*) (tarefa *task-id*) (porta *port-number*) não está íntegro em (grupo de destino *target-group-name*) devido a (razão *failure-reason*)
<a name="service-unhealthy-fargate-taskset"></a>

Essa mensagem indica que uma tarefa em um conjunto de tarefas em execução no Fargate está falhando nas verificações de integridade. 

Para obter mais informações sobre como solucionar falhas de verificação de integridade em tarefas do Fargate, consulte [Como solucionar falhas na verificação de integridade de tarefas do Amazon ECS no Fargate?](https://repost.aws/knowledge-center/ecs-fargate-health-check-failures).

# Mensagens de eventos do serviço de rebalanceamento do serviço de zonas de disponibilidade do Amazon ECS
<a name="service-rebalancing-event-messages-list"></a>

Os exemplos a seguir são mensagens de eventos de serviços que poderão ser mostradas.

## O serviço (*service-name*) não está balanceado em AZ com *number-tasks* tarefas na *Zona de disponibilidade 1*, *number-tasks* na *Zona de disponibilidade 2* e *number-tasks* na *Zona de disponibilidade 3*. Rebalanceamento de AZ em andamento.
<a name="service-rebalancing-started"></a>

O agendador de serviços envia um evento de serviço do `service (service-name) is not AZ balanced` quando o número de tarefas não está distribuído uniformemente pelas zonas de disponibilidade. Não há nenhuma ação a ser realizada. Este é um evento informativo.

## O serviço (*service-name*) está balanceado em AZ com *number-tasks* tarefas na *Zona de disponibilidade 1*, *number-tasks* na *Zona de disponibilidade 2* e *number-tasks* na *Zona de disponibilidade 3*.
<a name="service-rebalancing-completed"></a>

O agendador de serviços envia um evento de serviço do `service (service-name) is AZ balanced` quando o rebalanceamento do serviço em zonas de disponibilidade é concluído. Não há nenhuma ação a ser realizada. Este é um evento informativo.

## O *service-name* iniciou *number-tasks* tarefas na *Zona de disponibilidade* para rebalancear AZ: *task-ids*.
<a name="service-rebalancing-tasks-started"></a>

O programador de serviços envia um evento de serviço *service-name*/*task-set-name* que iniciou *number* tarefas na *zona de disponibilidade* ao iniciar tarefas em uma zona de disponibilidade por causa do rebalanceamento de serviços. Não há nenhuma ação a ser realizada. Este é um evento informativo.

## O *service-name* interrompeu *number-tasks* tarefas na *Zona de disponibilidade* devido ao rebalanceamento de AZ: *task-id*.
<a name="service-rebalancing-tasks-stopped"></a>

O programador de serviços envia um evento de serviço *service-name*/*task-set-name* que interrompeu *number* tarefas na *zona de disponibilidade* quando ele interrompe tarefas em uma zona de disponibilidade por causa do rebalanceamento de serviços. Não há nenhuma ação a ser realizada. Este é um evento informativo.

## O serviço (*service-name*) não conseguiu colocar uma tarefa na *Zona de disponibilidade* porque nenhuma instância de contêiner atendeu a todos os requisitos.
<a name="service-rebalancing-placement-failure-instance"></a>

O agendador de serviços envia um evento de serviço "O *service-name* não conseguiu colocar uma tarefa na *Zona de disponibilidade*" porque nenhuma instância de contêiner atendeu a todos os requisitos. Para resolver o problema, execute instâncias na zona de disponibilidade.

## O serviço (*service-name*) não conseguiu colocar uma tarefa na *Zona de disponibilidade*.
<a name="service-rebalancing-placement-failure"></a>

O programador de serviços envia um evento de serviço *service-name* não conseguiu colocar uma tarefa na *zona de disponibilidade* quando você usa o Fargate e não há capacidade disponível.

É possível adicionar outras sub-redes na zona de disponibilidade na mensagem de erro ou entrar em contato com o Suporte para obter capacidade adicional.

## O serviço (*service-name*) não conseguiu fazer o rebalanceamento de AZ porque não foi possível escalar *task-set-name* devido a *reason*.
<a name="service-rebalancing-task-protection-failure"></a>

O agendador de serviços envia um evento de serviço "O *service-name* não conseguiu fazer o rebalanceamento de AZ porque não foi possível escalar *task-set-name* devido a *reason*" quando a proteção de tarefa na redução da escala é usada. 

 É 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 API `UpdateTaskProtection` com a opção `protectionEnabled` definida como `false` para cancelar a proteção dessas tarefas.
+ Aumente a contagem de tarefas desejada do serviço para mais do que o número de tarefas protegidas.

## O serviço (*service-name*) interrompeu o rebalanceamento de AZ.
<a name="service-rebalancing-operation-stopped"></a>

O agendador de serviços envia um evento de serviço "O *service-name* interrompeu o rebalance de AZ" quando a operação de rebalanceamento de zona de disponibilidade é interrompida. Este é um evento informativo. O Amazon ECS envia eventos adicionais que fornecem mais informações.

# Solução de problemas relacionados aos balanceadores de carga de serviço no Amazon ECS
<a name="troubleshoot-service-load-balancers"></a>

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 obter mais informações, consulte [Uso de perfis vinculados ao serviço para o Amazon ECS](using-service-linked-roles.md).

**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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html) 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](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas*.

# Solução de problemas relacionados ao ajuste de escala automático de serviço no Amazon ECS
<a name="troubleshoot-service-auto-scaling"></a>

O Auto Scaling da aplicação desativa processos de redução horizontal da escala enquanto as implantações do Amazon ECS estão em andamento. Esses processos são retomados assim que a implantação é concluída. No entanto, processos de aumento continuam a ocorrer, a menos que sejam suspensos, durante uma implantação. Para obter mais informações, consulte [Suspender e retomar a escalabilidade do Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html).

# Captura de eventos do Amazon ECS no console
<a name="task-lifecycle-events"></a>

O console do Amazon ECS fornece a funcionalidade de captura de eventos que armazena eventos gerados pelo Amazon ECS, como ações de serviço e alterações de estado de tarefas, no Amazon CloudWatch Logs por meio do EventBridge. Esse recurso inclui uma interface de consulta com capacidade de filtragem para monitoramento e solução de problemas.

Os eventos fornecem informações detalhadas sobre como suas implantações de serviços, serviços, tarefas e instâncias operam. Você pode usar essas informações para solucionar problemas de falhas na implantação de tarefas ou serviços.

Ao ativar a captura de eventos, você tem acesso a todos os eventos que o Amazon ECS gera por um período de retenção de sua escolha, estendendo-se além das limitações nativas dos últimos 100 eventos não filtrados ou tarefas interrompidas visíveis por apenas uma hora.

## Como funciona
<a name="task-lifecycle-events-overview"></a>

A captura de eventos usa o EventBridge para armazenar eventos em um grupo de logs predefinido do Amazon CloudWatch Logs. O console do Amazon ECS fornece consultas pré-criadas e opções de filtragem, além de correlacionar eventos para fornecer ciclos de vida de tarefas em um formato intuitivo.

Você pode consultar e recuperar os seguintes tipos de eventos:
+ **Eventos de ação de serviço**: ajudam a identificar problemas de provisionamento ou alocação de recursos
+ **Eventos de ciclo de vida da tarefa**: ajude a identificar por que tarefas ou contêineres falham na inicialização ou param de ser executados

O console do Amazon ECS permite que você configure a captura de eventos com um clique e fornece consultas e filtragens comumente usadas sem exigir que você aprenda linguagens de consulta ou navegue entre vários consoles.

## Tipos de eventos
<a name="task-lifecycle-events-types"></a>

A captura de eventos armazena todos os eventos gerados pelo Amazon ECS nas seguintes categorias:

Eventos de alteração no estado da tarefa  
Paradas de contêineres e outros eventos de encerramento, que você pode usar para solucionar problemas ou monitorar os cronogramas do ciclo de vida das tarefas.

Ações de serviço  
Eventos como atingir um estado estável, falha no posicionamento de tarefas ou restrições de recursos.

Alterações de estados da implantação de serviços  
Eventos como implantações em andamento, concluídas ou com falha acionados por configurações de disjuntor e reversão, para monitorar o estado de uma implantação de serviço.

Alterações do estado da instância de contêiner  
Para workloads em instâncias gerenciadas do Amazon ECS e EC2, os eventos mostram o status conectado e desconectado.

## Configuração do grupo de logs
<a name="task-lifecycle-events-log-group"></a>

Quando você ativa a captura de eventos, o Amazon ECS cria automaticamente os seguintes recursos:
+ Um grupo de logs do Amazon CloudWatch Logs chamado `/aws/events/ecs/containerinsights/${clusterName}/performance`
+ Uma regra do EventBridge que ingere todos os eventos da origem `aws.ecs` e os encaminha para o grupo de logs

Você pode especificar um período de retenção para o grupo de logs de um dia a dez anos. O período de retenção padrão é 7 dias.

## Considerações
<a name="task-lifecycle-events-limitations"></a>

Considere o seguinte ao usar a captura de eventos:
+ A captura de eventos armazena todos os eventos para simplificar. Você não pode configurar regras no console do Amazon ECS para capturar somente eventos específicos.
+ O console do Amazon ECS fornece critérios de consulta predefinidos. Para consultas avançadas, use os insights de logs do Amazon CloudWatch Logs para consultar diretamente o grupo de logs.
+ A funcionalidade Live Tail não está disponível no console do Amazon ECS. Use o Amazon CloudWatch Logs diretamente para live tail.
+ Quando você desabilita a captura de eventos, a regra do EventBridge é excluída.
+ A captura de eventos gera custos adicionais para a ingestão de dados do EventBridge, armazenamento do Amazon CloudWatch Logs e execução de consultas.

  Para obter informações sobre preços do EventBridge, consulte [Preços do Amazon EventBridge](https://aws.amazon.com/eventbridge/pricing/).

  Para obter informações sobre preços do CloudWatch, consulte [Preços do CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

## Solução de problemas baseada em eventos
<a name="task-lifecycle-events-troubleshooting"></a>

Use eventos gerados pelo Amazon ECS para responder perguntas comuns de solução de problemas.

### Análise de falha na tarefa
<a name="task-lifecycle-events-task-failures"></a>

Você pode analisar os eventos de alteração de estado da tarefa `STOPPED`, os códigos de parada e os códigos de saída do contêiner para determinar por que uma tarefa falhou ao ser iniciada ou falhou durante a execução.

Você pode analisar os eventos de ação de serviço em busca de falhas de posicionamento e informações sobre restrições de recursos para determinar por que uma tarefa falhou ao ser posicionada por causa de restrições de recursos.

### Cenários comuns de falha de tarefa
<a name="task-lifecycle-events-common-issues"></a>

As falhas anormais mais comuns de tarefas estão relacionadas às seguintes questões:
+ Falhas na implantação do serviço CI/CD
+ Falhas no ajuste de escala automático
+ Falhas no rebalanceamento de tarefas
+ Saídas anormais de contêineres, como erros de falta de memória (OOM)

Falhas anormais de tarefas produzem eventos de mudança de estado da tarefa `STOPPED` com um código de parada `EssentialContainerExited` ou `TaskFailedToStart`. Você pode filtrar por esses códigos de parada para examinar os comportamentos de execução e parada de contêineres.

# Ativar a captura de eventos para um cluster existente do Amazon ECS
<a name="turn-on-event-capture-existing-cluster"></a>

Você pode habilitar a captura de eventos em um cluster do Amazon ECS existente para armazenar eventos gerados pelo Amazon ECS no Amazon CloudWatch Logs por meio do EventBridge. Esse recurso ajuda você a monitorar e solucionar problemas de falhas de tarefas, implantações de serviços e outras atividades de cluster.

Quando você habilita a captura de eventos, o Amazon ECS cria os seguintes recursos:
+ Um grupo de logs do Amazon CloudWatch Logs chamado `/aws/events/ecs/containerinsights/${clusterName}/performance`
+ Uma regra do EventBridge que captura todos os eventos da origem `aws.ecs`

Uma guia **Histórico** é exibida na visualização do cluster, permitindo que você consulte eventos de ciclo de vida da tarefa e ações de serviço. A captura de eventos começa imediatamente e armazena todos os eventos gerados pelo Amazon ECS de acordo com o período de retenção especificado.

## Pré-requisitos
<a name="turn-on-event-capture-prerequisites"></a>
+ Um cluster existente do Amazon ECS.
+ Permissões apropriadas do IAM para modificar as configurações do cluster e criar recursos do Amazon CloudWatch Logs

## Ativar a captura de eventos usando o console
<a name="turn-on-event-capture-procedure"></a>

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. No painel de navegação, escolha **Clusters**.

1. Selecione o cluster no qual você deseja habilitar a captura de eventos.

   A página de detalhes do cluster é exibida.

1. Escolher **configuração**.

1. Na seção **Eventos do ECS**, escolha **Ativar captura de eventos**.

   A caixa de diálogo **Ativar captura de eventos** é exibida.

1. Em **Expirar evento**, escolha o período de retenção para o grupo de logs do Amazon CloudWatch Logs. O padrão são 7 dias.

1. Selecione **Ativar**.

# Visualizar eventos de mudança de estado de serviços e tarefas do Amazon ECS
<a name="viewing-state-events"></a>

O console do Amazon ECS fornece a funcionalidade de captura de eventos que armazena eventos gerados pelo Amazon ECS, como ações de serviço e alterações de estado de tarefas, no Amazon CloudWatch Logs por meio do EventBridge. Esse recurso inclui uma interface de consulta com capacidade de filtragem para aprimorar o monitoramento e a solução de problemas.

Os eventos fornecem informações detalhadas sobre como suas implantações de serviços, serviços, tarefas e instâncias operam. Você pode usar essas informações para solucionar problemas de falhas na implantação de tarefas ou serviços.

Você pode usar qualquer um dos critérios a seguir para filtrar os eventos:
+  ID de implantação (disponível somente na página de detalhes do serviço) 
+ Hora de início
+ End Time 
+ Nome do serviço (aplicável somente na página de detalhes do cluster, na página de detalhes do serviço, esse será o padrão do serviço atual) 
+ ID da tarefa 
+ Último status da tarefa 
+ Família de definições de tarefa 
+ Revisão da definição de tarefa 

## Visualizar eventos no nível do cluster
<a name="view-cluster-procedure"></a>

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Escolha **Clusters**.

   A página da lista de clusters é exibida.

1. Escolha o cluster .

   A página de detalhes do cluster é exibida.

1. Em **Histórico**, determine os eventos a serem visualizados.

   1. Para visualizar eventos de ação de serviço, escolha **Eventos de ação de serviço**.

   1. Para visualizar eventos de mudança de estado da tarefa, escolha **Eventos de mudança de estado da tarefa**.

   1. (Opcional) Em **Critérios de consulta**, insira os filtros para os eventos que você deseja visualizar.

1. Selecione **Executar consulta**.

   Os eventos são exibidos em uma lista.

1. Para ver os detalhes completos do evento, escolha o evento.

## Visualizar no nível do serviço
<a name="tasks-procedure"></a>

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página **Clusters**, escolha o cluster.

1. Na página de detalhes do cluster, na seção **Serviços**, escolha o serviço.

   A página de detalhes do serviço é exibida.

1. Em **Histórico**, determine os eventos a serem visualizados.

   1. Para visualizar eventos de ação de serviço, escolha **Eventos de ação de serviço**.

   1. Para visualizar eventos de mudança de estado da tarefa, escolha **Eventos de mudança de estado da tarefa**.

   1. (Opcional) Em **Critérios de consulta**, insira os filtros para os eventos que você deseja visualizar.

1. Selecione **Executar consulta**.

   Os eventos são exibidos em uma lista.

1. Para ver os detalhes completos do evento, escolha o evento.

# Solucionar problemas causados por erros de CPU ou memória inválida na definição de tarefa do Amazon ECS
<a name="task-cpu-memory-error"></a>

Ao registrar uma definição de tarefa usando a API do Amazon ECS ou a AWS CLI, se você especificar um valor inválido de `cpu` ou `memory`, será retornado o erro a seguir.

```
An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task. 
```

**nota**  
Ao usar o Terraform, o erro a seguir pode ser retornado.  

```
Error: ClientException: No Fargate configuration exists for given values.
```

Para resolver esse problema, você deve especificar um valor compatível para a CPU e a memória em sua definição da tarefa. O valor de `cpu` pode ser expresso em unidades de CPU ou vCPUs em uma definição de tarefa. Ele é convertido em um número inteiro que indica as unidades de CPU quando a definição da tarefa é registrada. O valor de `memory` pode ser expresso em MiB ou GB em uma definição de tarefa. Ele é convertido em um número inteiro que indica o valor em MiB quando a definição da tarefa é registrada.

Em definições de tarefa que especificam o `FARGATE` para o parâmetro `requiresCompatibilities` (mesmo se o `EC2` também estiver especificado), você deve usar um dos valores da tabela a seguir. Esses valores determinam sua faixa de valores compatíveis com o parâmetro de CPU e memória.

Para tarefas hospedadas no Fargate, a tabela a seguir mostra as combinações válidas de CPU e memória. Os valores de memória no arquivo JSON são especificados em MiB. É possível converter o valor de GB em MiB multiplicando o valor por 1024. Por exemplo, 1 GB = 1024 MiB.


|  Valor de CPU  |  Valor de memória  |  Sistemas operacionais com suporte para o AWS Fargate  | 
| --- | --- | --- | 
|  256 (0,25 vCPU)  |  512 MiB, 1 GB, 2 GB  |  Linux  | 
|  512 (0,5 vCPU)  |  1 GB, 2 GB, 3 GB, 4 GB  |  Linux  | 
|  1024 (1 vCPU)  |  2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB  |  Linux, Windows  | 
|  2048 (2 vCPU)  |  Entre 4 GB e 16 GB em incrementos de 1 GB  |  Linux, Windows  | 
|  4096 (4 vCPU)  |  Entre 8 GB e 30 GB em incrementos de 1 GB  |  Linux, Windows  | 
|  8192 (8 vCPU)  Essa opção requer a plataforma Linux `1.4.0` ou posterior.   |  Entre 16 GB e 60 GB em incrementos de 4 GB  |  Linux  | 
|  16384 (16 vCPU)  Essa opção requer a plataforma Linux `1.4.0` ou posterior.   |  Entre 32 GB e 120 GB em incrementos de 8 GB  |  Linux  | 

Em tarefas hospedadas no Amazon EC2, os valores de CPU da tarefa compatível estão entre 0,25 vCPUs e 192 vCPUs.

O mecanismo de controle de CPU difere entre o EC2 e o Fargate:
+ Para tarefas hospedadas no Amazon EC2: o Amazon ECS usa o período da CPU e a cota de CPU para controlar os limites rígidos de CPU do tamanho da tarefa. Quando você especifica a vCPU na definição da tarefa, o Amazon ECS traduz o valor para o período da CPU e as configurações de cota de CPU que se aplicam a `cgroup`.
+ Em tarefas hospedadas no Fargate: o Amazon ECS usa compartilhamentos de CPU para controlar a alocação de CPU. Os valores da cota e do período da CPU não são usados para limitar a CPU em tarefas do Fargate.

Para tarefas do Amazon EC2, a cota de CPU controla a quantidade de tempo de CPU concedida a `cgroup` durante um determinado período de CPU. Ambas as configurações são expressas em termos de microssegundos. Quando a cota de CPU é igual ao período da CPU, isso significa que `cgroup` pode executar até 100% em uma vCPU (ou qualquer outra fração que totalize 100% para várias vCPUs). A cota de CPU tem um máximo de 1.000.000 microssegundos e o período de CPU tem um mínimo de 1 ms. Você pode usar esses valores para definir os limites da contagem de CPUs. Quando você altera o período da CPU sem alterar a cota de CPU, você passa a ter limites efetivos diferentes dos especificados na definição da tarefa.

O período de 100 ms permite vCPUs que variam de 0,125 a 10.

**nota**  
Os parâmetros de CPU e memória em nível de tarefa são ignorados para contêineres do Windows.

# Visualização de logs do agente de contêiner do Amazon ECS
<a name="logs"></a>

O Amazon ECS armazena logs na pasta `/var/log/ecs` das instâncias de contêiner. Existem logs disponibilizados pelo agente de contêiner do Amazon ECS e pelo serviço `ecs-init` que controla o estado do agente (iniciar/interromper) na instância de contêiner. É possível visualizar esses arquivos de log conectando-se a uma instância de contêiner usando SSH.

**nota**  
Se você não tiver certeza de como coletar todos os logs nas instâncias de contêiner, poderá usar o coletor de logs do Amazon ECS. Para obter mais informações, consulte [Coleta de logs de contêiner com o coletor de logs do Amazon ECS](ecs-logs-collector.md).

## Sistema operacional Linux
<a name="logs-linux"></a>

O processo `ecs-init` armazena logs em `/var/log/ecs/ecs-init.log`.

O arquivo `ecs-init.log` contém informações sobre o gerenciamento, a configuração e a inicialização do ciclo de vida do agente de contêiner.

É possível usar o comando a seguir para visualizar os arquivos de log.

```
cat /var/log/ecs/ecs-init.log
```

Resultado:

```
2018-02-16T18:13:54Z [INFO] pre-start
2018-02-16T18:13:56Z [INFO] start
2018-02-16T18:13:56Z [INFO] No existing agent container to remove.
2018-02-16T18:13:56Z [INFO] Starting Amazon Elastic Container Service Agent
```

## Sistema operacional Windows
<a name="logs-windows"></a>

Você pode usar o coletor de logs do Amazon ECS para Windows. Para obter mais informações, consulte [Amazon ECS Logs Collector for Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows?tab=readme-ov-file#aws-ecs-logs-collector-for-windows) no Github.

1. Conecte-se à sua instância.

1. Abra o PowerShell e execute os comandos a seguir com privilégios administrativos. Os comandos baixam o script e coletam os logs.

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   .\ecs-logs-collector.ps1
   ```

Você pode ativar o registro em log de depuração para o agente do Amazon ECS e o daemon do Docker. Essa opção permite que o script colete os logs antes de ativar o modo de depuração. O script reinicia o daemon do Docker e o agente do Amazon ECS, depois encerra todos os contêineres em execução na instância. Antes de executar o comando a seguir, esgote a instância de contêiner e mova todas as tarefas importantes para outras instâncias de contêiner. 

Execute o comando a seguir para ativar o registro em log.

```
.\ecs-logs-collector.ps1 -RunMode debug
```

# Coleta de logs de contêiner com o coletor de logs do Amazon ECS
<a name="ecs-logs-collector"></a>

**nota**  
Você não pode usar o coletor de logs do Amazon ECS nas instâncias gerenciadas do Amazon ECS.

Se você não tiver certeza de como coletar todos os vários logs nas instâncias de contêiner, poderá usar o coletor de logs do Amazon ECS. Ele está disponível no GitHub para os sistemas [Linux](https://github.com/awslabs/ecs-logs-collector) e [Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows). O script coleta logs gerais do sistema operacional geral, além dos logs do agente de contêiner do Docker e do Amazon ECS, que podem ser úteis para solucionar problemas de casos do AWS Support. Em seguida, compacta e arquiva os dados coletados em um único arquivo que pode ser facilmente compartilhado para fins de diagnóstico. Também oferece suporte à habilitação do modo de depuração do daemon do Docker e do agente de contêiner do Amazon ECS em variantes do Amazon Linux, como a AMI otimizada para Amazon ECS.

**nota**  
Nas AMIs otimizadas para Amazon ECS, versão 20250909 e posteriores no Amazon Linux, o coletor de logs do Amazon ECS é pré-instalado em `/opt/amazon/ecs/ecs-logs-collector.sh` e está pronto para uso sem precisar ser baixado do GitHub. Para obter mais informações, consulte [ECS Logs Collector](https://github.com/aws/amazon-ecs-ami?tab=readme-ov-file#ecs-logs-collector) na documentação da AMI otimizada para ECS.

No momento, o coletor de logs do Amazon ECS oferece suporte aos seguintes sistemas operacionais:
+ Amazon Linux
+ Red Hat Enterprise Linux
+ Ubuntu
+ Windows Server

**Para executar o coletor de logs do Amazon ECS para Linux (AMI otimizada para o ECS)**

1. Conecte-se à sua instância de contêiner. 

1. Execute o script para coletar os logs e criar o arquivo.
**nota**  
Para habilitar o modo de depuração no daemon do Docker e no agente de contêiner do Amazon ECS, adicione a opção `--mode=enable-debug` ao comando a seguir. Isso pode reiniciar o daemon do Docker, o que elimina todos os contêineres em execução na instância. Considere drenar a instância de contêiner e mover todas as tarefas importantes para outras instâncias de contêiner antes de ativar o modo de depuração. Para obter mais informações, consulte [Drenagem de instâncias de contêiner do Amazon ECS](container-instance-draining.md).

   ```
   [ec2-user ~]$ sudo /opt/amazon/ecs/ecs-logs-collector.sh
   ```

Depois que tiver implementado o script, será possível examinar os logs coletados na pasta `collect` criada pelo script. O arquivo `collect.tgz` é um arquivo compactado de todos os logs, que você pode compartilhar com o AWS Support para receber ajuda no diagnóstico.

**Para baixar e executar o coletor de logs do Amazon ECS para Linux**

1. Conecte-se à sua instância de contêiner. 

1. Baixe o script do coletor de logs do Amazon ECS.

   ```
   curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
   ```

1. Execute o script para coletar os logs e criar o arquivo.

   ```
   $ sudo bash ./ecs-logs-collector.sh
   ```

**Para baixar e executar o coletor de logs do Amazon ECS para Windows**

1. Conecte-se à sua instância de contêiner. Para obter mais informações, consulte [Conectar à instância do Windows usando um cliente RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html) no *Guia do usuário do Amazon EC2*.

1. Baixe o script do coletor de logs do Amazon ECS usando o PowerShell.

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   ```

1. Execute o script para coletar os logs e criar o arquivo.
**nota**  
Para habilitar o modo de depuração no daemon do Docker e no agente de contêiner do Amazon ECS, adicione a opção `-RunMode debug` ao comando a seguir. Isso reinicia o daemon do Docker, o que elimina todos os contêineres em execução na instância. Considere drenar a instância de contêiner e mover todas as tarefas importantes para outras instâncias de contêiner antes de ativar o modo de depuração. Para obter mais informações, consulte [Drenagem de instâncias de contêiner do Amazon ECS](container-instance-draining.md).

   ```
   .\ecs-logs-collector.ps1
   ```

Depois que tiver implementado o script, será possível examinar os logs coletados na pasta `collect` criada pelo script. O arquivo `collect.tgz` é um arquivo compactado de todos os logs, que você pode compartilhar com a AWS Support para receber ajuda no diagnóstico.

# Recuperar detalhes de diagnóstico do Amazon ECS com introspecção do agente
<a name="introspection-diag"></a>

A API de introspecção do agente do Amazon ECS fornece informações sobre o estado geral do agente e das instâncias de contêiner do Amazon ECS.

 Por exemplo, você pode usar a API de introspecção do agente para obter o ID do Docker para um contêiner na tarefa. É possível usar a API de introspecção do agente se conectando a uma instância de contêiner usando SSH.

**Importante**  
A instância de contêiner deve ter uma função do IAM que concede acesso ao Amazon ECS para alcançar a API de introspecção. Para obter mais informações, consulte [Função do IAM de instância de contêiner do Amazon ECS](instance_IAM_role.md).

O exemplo a seguir mostra duas tarefas, uma em execução no momento e uma interrompida.

**nota**  
O comando a seguir é direcionado por meio de **python -mjson.tool** para mais legibilidade.

```
curl http://localhost:51678/v1/tasks | python -mjson.tool
```

Resultado:

```
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1095  100  1095    0     0   117k      0 --:--:-- --:--:-- --:--:--  133k
{
    "Tasks": [
        {
            "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/090eff9b-1ce3-4db6-848a-a8d14064fd24",
            "Containers": [
                {
                    "DockerId": "189a8ff4b5f04affe40e5160a5ffadca395136eb5faf4950c57963c06f82c76d",
                    "DockerName": "ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600",
                    "Name": "simple-app"
                },
                {
                    "DockerId": "f7f1f8a7a245c5da83aa92729bd28c6bcb004d1f6a35409e4207e1d34030e966",
                    "DockerName": "ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01",
                    "Name": "busybox"
                }
            ],
            "Family": "console-sample-app-static",
            "KnownStatus": "STOPPED",
            "Version": "6"
        },
        {
            "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/1810e302-eaea-4da9-a638-097bea534740",
            "Containers": [
                {
                    "DockerId": "dc7240fe892ab233dbbcee5044d95e1456c120dba9a6b56ec513da45c38e3aeb",
                    "DockerName": "ecs-console-sample-app-static-6-simple-app-f0e5859699a7aecfb101",
                    "Name": "simple-app"
                },
                {
                    "DockerId": "096d685fb85a1ff3e021c8254672ab8497e3c13986b9cf005cbae9460b7b901e",
                    "DockerName": "ecs-console-sample-app-static-6-busybox-92e4b8d0ecd0cce69a01",
                    "Name": "busybox"
                }
            ],
            "DesiredStatus": "RUNNING",
            "Family": "console-sample-app-static",
            "KnownStatus": "RUNNING",
            "Version": "6"
        }
    ]
}
```

No exemplo anterior, a tarefa interrompida (*090eff9b-1ce3-4db6-848a-a8d14064fd24*) tem dois contêineres. É possível usar **docker inspect *container-ID*** para exibir informações detalhadas sobre cada contêiner. Para obter mais informações, consulte [Introspecção de contêiner do Amazon ECS](ecs-agent-introspection.md).

# Diagnóstico do Docker no Amazon ECS
<a name="docker-diags"></a>

O Docker oferece várias ferramentas de diagnóstico que ajudam a solucionar problemas com os contêineres e as tarefas. Para obter mais informações sobre todos os utilitários de linha de comando do Docker, consulte o tópico [Referência da linha de comando do Docker](https://docs.docker.com/reference/cli/docker/) na documentação do Docker. É possível acessar os utilitários de linha de comando do Docker se conectando a uma instância de contêiner usando SSH.

Os códigos de saída que os contêineres do Docker relatam também podem fornecer algumas informações de diagnóstico (por exemplo, código de saída 137 significa que o contêiner recebeu um sinal `SIGKILL`). Para obter mais informações, consulte [Status de saída](https://docs.docker.com/reference/cli/docker/container/run/#exit-status) na documentação do Docker.

## Listagem de contêineres do Docker no Amazon ECS
<a name="docker-ps"></a>

É possível usar o comando **docker ps** na instância de contêiner para listar os contêineres em execução. No exemplo a seguir, somente o agente de contêiner do Amazon ECS está em execução. Para obter mais informações, consulte [docker ps](https://docs.docker.com/reference/cli/docker/#ps) na documentação do Docker.

```
docker ps
```

Resultado:

```
CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS              PORTS                        NAMES
cee0d6986de0        amazon/amazon-ecs-agent:latest   "/agent"            22 hours ago        Up 22 hours         127.0.0.1:51678->51678/tcp   ecs-agent
```

É possível usar o comando **docker ps -a** para ver todos os contêineres (até mesmo contêineres parados ou encerrados). Isso é útil para listar contêineres que estejam parando inesperadamente. No exemplo a seguir, o contêiner `f7f1f8a7a245` saiu há 9 segundos. Portanto, ele não aparece em uma saída **docker ps** sem o sinalizador `-a`.

```
docker ps -a
```

Resultado:

```
CONTAINER ID        IMAGE                                       COMMAND                CREATED             STATUS                        PORTS                        NAMES
db4d48e411b1        amazon/ecs-emptyvolume-base:autogenerated   "not-applicable"       19 seconds ago                                                                 ecs-console-sample-app-static-6-internalecs-emptyvolume-source-c09288a6b0cba8a53700
f7f1f8a7a245        busybox:buildroot-2014.02                   "\"sh -c '/bin/sh -c   22 hours ago        Exited (137) 9 seconds ago                                 ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01
189a8ff4b5f0        httpd:2                                     "httpd-foreground"     22 hours ago        Exited (137) 40 seconds ago                                ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600
0c7dca9321e3        amazon/ecs-emptyvolume-base:autogenerated   "not-applicable"       22 hours ago                                                                   ecs-console-sample-app-static-6-internalecs-emptyvolume-source-90fefaa68498a8a80700
cee0d6986de0        amazon/amazon-ecs-agent:latest              "/agent"               22 hours ago        Up 22 hours                   127.0.0.1:51678->51678/tcp   ecs-agent
```

## Visualização de logs do Docker no Amazon ECS
<a name="docker-logs"></a>

É possível visualizar os fluxos `STDOUT` e `STDERR` para um contêiner com o comando **docker logs**. Neste exemplo, os logs são exibidos para o contêiner *dc7240fe892a* e direcionados por meio do comando **head** para agilizar. Para obter mais informações, vá até [docker logs](https://docs.docker.com/reference/cli/docker/#logs) na documentação do Docker.

**nota**  
Os logs do Docker estarão disponíveis na instância do contêiner apenas se você estiver usando o driver de logs `json` padrão. Se você tiver configurado as tarefas para usar o driver de logs `awslogs`, os logs do contêiner estarão disponíveis no CloudWatch Logs. Para obter mais informações, consulte [Envio de logs do Amazon ECS para o CloudWatch](using_awslogs.md).

```
docker logs dc7240fe892a | head
```

Resultado:

```
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
[Thu Apr 23 19:48:36.956682 2015] [mpm_event:notice] [pid 1:tid 140327115417472] AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
[Thu Apr 23 19:48:36.956827 2015] [core:notice] [pid 1:tid 140327115417472] AH00094: Command line: 'httpd -D FOREGROUND'
10.0.1.86 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:29 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.0.154 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.1.86 - - [23/Apr/2015:19:49:58 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:50:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:50:29 +0000] "GET / HTTP/1.1" 200 348
time="2015-04-23T20:11:20Z" level="fatal" msg="write /dev/stdout: broken pipe"
```

## Inspeção de contêineres do Docker no Amazon ECS
<a name="docker-inspect"></a>

Caso tenha o ID do Docker de um contêiner, você pode inspecioná-lo com o comando **docker inspect**. A inspeção de contêineres apresenta a visão mais detalhada do ambiente no qual um contêiner foi ativado. Para obter mais informações, consulte [docker inspect](https://docs.docker.com/reference/cli/docker/#inspect) na documentação do Docker.

```
docker inspect dc7240fe892a
```

Resultado:

```
[{
    "AppArmorProfile": "",
    "Args": [],
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "httpd-foreground"
        ],
        "CpuShares": 10,
        "Cpuset": "",
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache2/bin",
            "HTTPD_PREFIX=/usr/local/apache2",
            "HTTPD_VERSION=2.4.12",
            "HTTPD_BZ2_URL=https://www.apache.org/dist/httpd/httpd-2.4.12.tar.bz2"
        ],
        "ExposedPorts": {
            "80/tcp": {}
        },
        "Hostname": "dc7240fe892a",
...
```

# Configuração da saída detalhada do daemon do Docker no Amazon ECS
<a name="docker-debug-mode"></a>

Caso enfrente problemas com contêineres ou imagens do Docker, você pode ativar o modo de depuração no daemon do Docker. O uso da depuração fornece uma saída mais detalhada do daemon. É possível usar esse recurso para recuperar mensagens de erro enviadas de registros de contêiner, como o Amazon ECR.

**Importante**  
Esse procedimento foi escrito para a AMI do Amazon Linux otimizada para Amazon ECS. Para outros sistemas operacionais, consulte [Enable debugging](https://docs.docker.com/engine/admin/#enable-debugging) e [Control and configure Docker with systemd]() na documentação do Docker.

**Para usar o modo de depuração do daemon do Docker na AMI do Amazon Linux otimizada para o Amazon ECS**

1. Conecte-se à sua instância de contêiner.

1. Abra o arquivo de opções do Docker com um editor de texto, como **vi**. Para a AMI do Amazon Linux otimizada para Amazon ECS, o arquivo de opções do Docker está em `/etc/sysconfig/docker`.

1. Encontre a instrução de opções do Docker e adicione a opção `-D` à string, entre aspas.
**nota**  
Se a instrução de opções do Docker começar com um `#`, remova esse caractere para cancelar o comentário da instrução e ativar as opções.

   Para a AMI do Amazon Linux otimizada para Amazon ECS, a instrução de opções do Docker é denominada `OPTIONS`. Por exemplo:

   ```
   # Additional startup options for the Docker daemon, for example:
   # OPTIONS="--ip-forward=true --iptables=true"
   # By default we limit the number of open files per container
   OPTIONS="-D --default-ulimit nofile=1024:4096"
   ```

1. Salve o arquivo e saia do seu editor de texto.

1. Reinicie o daemon do Docker.

   ```
   sudo service docker restart
   ```

   A saída é a seguinte:

   ```
   Stopping docker:                                          [  OK  ]
   Starting docker:	.                                  [  OK  ]
   ```

1. Reinicie o agente do Amazon ECS.

   ```
   sudo service ecs restart
   ```

Os logs do Docker já devem mostrar uma saída mais detalhada.

```
time="2015-12-30T21:48:21.907640838Z" level=debug msg="Unexpected response from server: \"{\\\"errors\\\":[{\\\"code\\\":\\\"DENIED\\\",\\\"message\\\":\\\"User: arn:aws:sts::1111:assumed-role/ecrReadOnly/i-abcdefg is not authorized to perform: ecr:InitiateLayerUpload on resource: arn:aws:ecr:us-east-1:1111:repository/nginx_test\\\"}]}\\n\" http.Header{\"Connection\":[]string{\"keep-alive\"}, \"Content-Type\":[]string{\"application/json; charset=utf-8\"}, \"Date\":[]string{\"Wed, 30 Dec 2015 21:48:21 GMT\"}, \"Docker-Distribution-Api-Version\":[]string{\"registry/2.0\"}, \"Content-Length\":[]string{\"235\"}}"
```

# Solução de problemas relacionados a `API error (500): devmapper` do Docker no Amazon ECS
<a name="CannotCreateContainerError"></a>

O seguinte erro do Docker indica que o armazenamento de grupos thin em sua instância de contêiner está cheio e que o daemon do Docker não pode criar novos contêineres:

```
CannotCreateContainerError: API error (500): devmapper: Thin Pool has 4350 free data blocks which is less than minimum required 4454 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior 
```

Por padrão. as AMIs do Amazon Linux otimizadas para o Amazon ECS da versão `2015.09.d` e posterior são iniciadas com um volume de 8 GiB para o sistema operacional anexado a `/dev/xvda` e montado como a raiz do sistema de arquivos. Há um volume de 22 GiB adicionais anexado a `/dev/xvdcz` que o Docker usa em armazenamento de imagens e metadados. Caso o espaço de armazenamento esteja cheio, o daemon do Docker não pode criar novos contêineres.

A maneira mais fácil de adicionar armazenamento às instâncias de contêiner é encerrar as instâncias existentes e executar novas com volumes de armazenamento físico de dados maiores. Porém, se você não puder fazer isso, poderá adicionar armazenamento ao grupo de volumes que o Docker usa e estender o volume lógico seguindo os procedimentos em [AMIs do Linux otimizadas para o Amazon ECS](ecs-optimized_AMI.md).

Caso o armazenamento de instância de contêiner esteja enchendo muito rapidamente, existem algumas ações que você pode tomar para reduzir esse efeito:
+ Para visualizar as informações de pesquisas detalhadas, execute o seguinte comando na instância de contêiner:

  ```
  docker info
  ```
+ (Agente de contêiner 1.8.0 e posterior do Amazon ECS) Reduza o tempo em que contêineres interrompidos ou encerrados permanecem nas instâncias de contêiner. A variável de configuração do agente `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` define a duração da espera desde quando uma tarefa é parada até o contêiner do Docker ser removido (por padrão, esse valor é de 3 horas). Isso remove os dados de contêiner do Docker. Caso esse valor seja definido muito baixo, você não pode inspecionar os contêineres interrompidos ou visualizar os logs antes de serem removidos. Para obter mais informações, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).
+ É possível remover contêineres que não estejam em execução e imagens inutilizadas das instâncias de contêiner. É possível usar os comandos de exemplo a seguir para remover manualmente os contêineres parados e as imagens inutilizadas. Os contêineres excluídos não podem ser inspecionados posteriormente e as imagens excluídas devem ser extraídas novamente antes que novos contêineres sejam iniciados a partir delas.

  Para remover contêineres que não estejam em execução, execute o seguinte comando na instância de contêiner:

  ```
  docker rm $(docker ps -aq)
  ```

  Para remover imagens não utilizadas, execute o seguinte comando na instância de contêiner:

  ```
  docker rmi $(docker images -q)
  ```
+ É possível remover blocos de dados inutilizados em contêineres. É possível usar o comando a seguir para executar **fstrim** em qualquer contêiner em execução e descartar todos os blocos de dados inutilizados pelo sistema de arquivos do contêiner.

  ```
  sudo sh -c "docker ps -q | xargs docker inspect --format='{{ .State.Pid }}' | xargs -IZ fstrim /proc/Z/root/"
  ```

# Solução de problemas do Amazon ECS Exec
<a name="ecs-exec-troubleshooting"></a>

Veja a seguir notas de solução de problemas para ajudar a diagnosticar o motivo pelo qual você pode estar recebendo um erro ao usar o ECS Exec.

## Verificar usando o verificador do Exec
<a name="ecs-exec-troubleshooting-checker"></a>

O script do Verificador do ECS Exec fornece uma maneira de examinar e validar se o cluster e a tarefa do Amazon ECS atenderam aos pré-requisitos para usar o recurso do ECS Exec. O script do Verificador do ECS Exec examina se o ambiente e o cluster da AWS CLI e as tarefas estão prontos para o ECS Exec, chamando várias APIs em seu nome. A ferramenta exige a versão mais recente da AWS CLI e que o `jq` esteja disponível. Para obter mais informações, consulte [ECS Exec Checker](https://github.com/aws-containers/amazon-ecs-exec-checker) no GitHub.

## Erro ao chamar `execute-command`
<a name="ecs-exec-troubleshooting-general"></a>

Se ocorrer um erro `The execute command failed`, veja a seguir as possíveis causas.
+ A tarefa não tem as permissões necessárias. Verifique se a definição de tarefa usada para iniciar a tarefa tem uma função do IAM de tarefa definida e se a função tem as permissões necessárias. Para obter mais informações, consulte [Permissões do ECS Exec](task-iam-roles.md#ecs-exec-required-iam-permissions).
+ O agente SSM não está instalado ou não está em execução.
+  Existe um endpoint da Amazon VPC de interface para o Amazon ECS, mas não há um para o gerenciador de sessões do Systems Manager.

# Solução de problemas do Amazon ECS Anywhere
<a name="ecs-anywhere-troubleshooting"></a>

O Amazon ECS Anywhere fornece suporte para registrar uma *instância externa*, como um servidor on-premises ou uma máquina virtual (VM), no cluster do Amazon ECS. Veja a seguir os problemas comuns que você pode encontrar e as recomendações gerais para solução destes problemas.

**Topics**
+ [

## Problemas de registro de instância externa
](#ecs-anywhere-troubleshooting-registration)
+ [

## Problemas de rede de instâncias externas
](#ecs-anywhere-troubleshooting-networking)
+ [

## Problemas na execução de tarefas ne instância externa
](#ecs-anywhere-troubleshooting-runtask)

## Problemas de registro de instância externa
<a name="ecs-anywhere-troubleshooting-registration"></a>

Ao registrar uma instância externa no cluster do Amazon ECS, os seguintes requisitos devem ser atendidos:
+ Uma ativação do AWS Systems Manager, que consiste em um *ID de ativação* e em um *código de ativação*, deve ser recuperada. Você a utiliza para registrar a instância externa como uma instância gerenciada do Systems Manager. Quando uma ativação do Systems Manager é solicitada, especifique um limite de registro e uma data de validade. O limite de registro especifica o número máximo de instâncias que podem ser registradas usando a ativação. O valor padrão do limite de registro é a instância `1`. A data de validade especifica quando a validade da ativação. O valor padrão é 24 horas. Se a ativação do Systems Manager que você está usando para registrar a instância externa não estiver válida, solicite uma nova. Para obter mais informações, consulte [Registro de uma instância externa para um cluster do Amazon ECS](ecs-anywhere-registration.md).
+ Uma política do IAM é usada para fornecer à instância externa as permissões necessárias para se comunicar com operações de API da AWS. Se essa política gerenciada não for criada corretamente e não contiver as permissões necessárias, o registro da instância externa apresentará falha. Para obter mais informações, consulte [Perfil do IAM para o Amazon ECS Anywhere](iam-role-ecsanywhere.md).
+ O Amazon ECS fornece um script de instalação que instala o Docker, o agente de contêiner do Amazon ECS e o Systems Manager Agent na instância externa. Se o script de instalação apresentar falha, é provável que ele não possa ser executado novamente na mesma instância sem a ocorrência de erro. Se isso acontecer, siga o processo de limpeza dos recursos da AWS da instância para que o script de instalação possa ser executado novamente. Para obter mais informações, consulte [Cancelamento do registro de uma instância externa do Amazon ECS](ecs-anywhere-deregistration.md).
**nota**  
Saiba que, se o script de instalação tiver solicitado e usado com êxito a ativação do Systems Manager, a execução, pela segunda vez, do script de instalação usará novamente a ativação do Systems Manager. Isso pode, por sua vez, fazer com que você atinja o limite de registro para essa ativação. Se esse limite for atingido, você deverá criar uma nova ativação.
+ Ao executar o script de instalação em uma instância externa para workloads de GPU, ocorrerá um erro se o driver NVIDIA não for detectado ou configurado corretamente. O script de instalação usa o comando `nvidia-smi` para confirmar a existência do driver NVIDIA.

## Problemas de rede de instâncias externas
<a name="ecs-anywhere-troubleshooting-networking"></a>

Para comunicar quaisquer alterações, a instância externa requer uma conexão de rede com a AWS. Se sua instância externa perder sua conexão de rede com a AWS, as tarefas que estão sendo executadas nas instâncias continuarão sendo executadas de qualquer maneira, a menos que sejam interrompidas manualmente. Após a restauração da conexão com a AWS, as credenciais da AWS usadas pelo agente de contêiner do Amazon ECS e pelo Systems Manager Agent na instância externa são renovadas automaticamente. Para obter mais informações sobre os domínios da AWS que são usados para comunicação entre a instância externa e a AWS, consulte [Redes](ecs-anywhere.md#ecs-anywhere-networking).

## Problemas na execução de tarefas ne instância externa
<a name="ecs-anywhere-troubleshooting-runtask"></a>

Se as tarefas ou contêineres não forem executados na instância externa, as causas mais comuns serão relacionadas à rede ou à permissão. Se os contêineres estiverem extraindo imagens do Amazon ECR ou estiverem configurados para enviar logs de contêiner para o CloudWatch Logs, sua definição de tarefa deverá especificar uma função do IAM de execução de tarefa válida. Sem uma função do IAM de execução de tarefa válida, os contêineres apresentarão falha na inicialização. Para obter mais informações sobre problemas relacionados à rede, consulte [Problemas de rede de instâncias externas](#ecs-anywhere-troubleshooting-networking).

**Importante**  
O Amazon ECS fornece a ferramenta de coleta de logs do Amazon ECS. É possível usá-la para coletar logs das instâncias externas para fins de solução de problemas. Para obter mais informações, consulte [Coleta de logs de contêiner com o coletor de logs do Amazon ECS](ecs-logs-collector.md).

# Solucionar problemas de carregamento de classes Java no Fargate
<a name="fargate-java-class-loading"></a>

As aplicações Java executadas no Fargate podem encontrar problemas de carregamento de classes após as atualizações da plataforma, principalmente quando a aplicação depende de um comportamento não determinístico de carregamento de classes. Isso pode se manifestar como erros de injeção de dependência, falhas do Spring Boot ou outras exceções de tempo de execução que não estavam presentes em implantações anteriores.

## Sintomas
<a name="java-class-loading-symptoms"></a>

Os seguintes sintomas poderão se manifestar:
+ Erros de injeção de dependência do Spring Boot
+ Exceções ClassNotFoundException ou NoClassDefFoundError
+ Aplicações que funcionavam no Fargate agora falham de forma intermitente
+ A mesma imagem de contêiner funciona no Amazon EC2, mas falha no Fargate
+ Comportamento inconsistente em todas as implantações com imagens de contêiner idênticas

## Causas
<a name="java-class-loading-causes"></a>

Esses problemas geralmente ocorrem devido a:
+ **Carregamento não determinístico de classes:** aplicações Java que dependem da ordem em que as classes são carregadas dos arquivos JAR podem falhar quando a plataforma subjacente altera a forma como os arquivos são acessados ou armazenados em cache.
+ **Atualizações da plataforma:** as atualizações de versão da plataforma Fargate podem alterar o comportamento do sistema de arquivos subjacente, afetando a ordem na qual as classes são descobertas e carregadas.
+ **Dependências de ordenação de arquivos JAR:** aplicações que dependem implicitamente de sequências específicas de carregamento de JAR sem gerenciamento explícito de dependências.

## Resolução
<a name="java-class-loading-resolution"></a>

Para resolver problemas de carregamento de classes Java no Fargate, implemente práticas determinísticas de carregamento de classes:

### Correção imediata
<a name="java-class-loading-immediate-fix"></a>

Se você precisar de uma solução alternativa imediata:

1. **Imponha a ordem de carregamento do JAR:** especifique explicitamente a ordem na qual os arquivos JAR devem ser carregados na configuração de classpath da aplicação.

1. **Use o gerenciamento explícito de dependências:** garanta que todas as dependências sejam declaradas explicitamente em sua configuração de compilação (Maven, Gradle etc.) em vez de confiar em dependências transitivas.

### Práticas recomendadas a longo prazo
<a name="java-class-loading-best-practices"></a>

Implemente essas práticas para evitar problemas futuros de carregamento de classes:

1. **Torne o carregamento de classes determinístico:**
   + Use declarações de dependência explícitas em seus arquivos de compilação
   + Evite confiar na ordem de leitura de classpath
   + Use ferramentas de gerenciamento de dependências para resolver conflitos de versão
   + Use opções da Java Virtual Machine (JVM), como `-verbose:class`, para obter informações sobre classes carregadas pela JVM. 

1. **Aplicações Spring Boot:**
   + Use `@ComponentScan` com pacotes básicos explícitos
   + Evite conflitos de configuração automática fazendo a configuração explícita os beans
   + Use anotações `@DependsOn` para controlar a ordem de inicialização do bean

1. **Configuração de compilação:**
   + Use seções de gerenciamento de dependências no Maven ou no Gradle
   + Exclua dependências transitivas que causam conflitos
   + Use ferramentas como o Maven Enforcer Plugin para detectar problemas de dependência

1. **Teste:**
   + Teste a aplicação com diferentes implementações da JVM
   + Execute testes de integração que simulam ambientes de implantação diferentes
   + Use ferramentas para analisar conflitos de classpath durante o desenvolvimento

## Prevenção
<a name="java-class-loading-prevention"></a>

Para evitar problemas de carregamento de classes Java em futuras implantações:
+ **Siga as práticas determinísticas de carregamento de classes:** projete a aplicação para não depender da ordem em que as classes são carregadas de classpath.
+ **Use o gerenciamento explícito de dependências:** sempre declare explicitamente todas as dependências necessárias e suas versões na configuração do build.
+ **Teste em vários ambientes:** teste regularmente as aplicações em diferentes ambientes e versões de plataforma para identificar antecipadamente possíveis problemas.
+ **Monitore as atualizações da plataforma:** mantenha-se em dia com as atualizações da plataforma Fargate e teste as aplicações com novas versões da plataforma antes que elas afetem as workloads de produção.

# Cotas de controle de utilização do AWS Fargate
<a name="throttling"></a>

O AWS Fargate limita as tarefas do Amazon ECS e as taxas de início dos pods do Amazon EKS a cotas (anteriormente chamadas de limites) usando um [algoritmo de bucket de token](https://en.wikipedia.org/wiki/Token_bucket) para cada conta da AWS por região. Com esse algoritmo, sua conta tem um bucket que contém um número específico de tokens. O número de tokens no bucket representa sua cota de taxa a qualquer segundo. Cada conta de cliente tem um bucket de tokens de tarefas e pods que se esgota com base no número de tarefas e pods iniciados pela conta do cliente. Esse bucket de tokens tem o tamanho máximo de bucket que permite fazer periodicamente um número maior de solicitações e uma taxa de recarga que permite manter uma taxa constante de solicitações pelo tempo necessário.

Por exemplo, o tamanho do bucket de tokens de tarefas e pods para uma conta de cliente do Fargate é de 100 tokens e a taxa de recarga é de 20 tokens por segundo. Portanto, é possível iniciar imediatamente até 100 tarefas do Amazon ECS e pods do Amazon EKS por conta de cliente, com uma taxa de lançamento sustentada de 20 tarefas do Amazon ECS e pods do Amazon EKS por segundo. 


| Ações | Capacidade máxima do bucket (ou taxa de intermitência) | Taxa de reabastecimento do bucket (ou taxa sustentada) | 
| --- | --- | --- | 
| Cota de taxa de recursos do Fargate para tarefas sob demanda do Amazon ECS e pods do Amazon EKS[1](#fargate-throttling-note-1) | 100 | 20 | 
| Cota de taxa de recursos do Fargate para tarefas spot do Amazon ECS | 100 | 20 | 

<a name="fargate-throttling-note-1"></a>1As contas que iniciam apenas pods do Amazon EKS têm uma taxa de intermitência de 20, com uma taxa de início de pod sustentada de 20 inícios de pod por segundo ao usar as versões da plataforma chamadas em [Versões da plataforma do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html).

## Controle de utilização da API `RunTask` no Fargate
<a name="fargate-throttling-runtask"></a>

Além disso, o Fargate limita a taxa de solicitações ao iniciar tarefas usando a API `RunTask` do Amazon ECS com uma cota separada. O Fargate limita as solicitações da API `RunTask` do Amazon ECS para cada conta da AWS de acordo com a região. Cada solicitação feita remove um token do bucket. Fazemos isso para ajudar na performance do serviço e para garantir o uso justo para todos os clientes da Fargate. As chamadas de API estão sujeitas às cotas de solicitação, independentemente de serem originadas no console do Amazon Elastic Conteiner Service, em uma ferramenta da linha de comando ou em uma aplicação de terceiros. A cota de taxa para chamadas para a API `RunTask` do Amazon ECS é de 20 chamadas por segundo (intermitência e sustentada). Contudo, cada chamada para essa API pode iniciar até 10 tarefas. Isso significa que é possível iniciar 100 tarefas em um segundo fazendo 10 chamadas para essa API, solicitando que 10 tarefas sejam iniciadas em cada chamada. Da mesma forma, também é possível fazer 20 chamadas para essa API, solicitando que 5 tarefas sejam iniciadas em cada chamada. Para obter mais informações sobre o controle de utilização de APIs para a API `RunTask` do Amazon ECS, consulte [API request throttling](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/request-throttling.html) na Referência de APIs do Amazon ECS.

Na prática, as taxas de início de tarefas e pods também dependem de outras considerações, como imagens de contêiner a serem baixadas e descompactadas, verificações de integridade e outras integrações habilitadas, como registrar tarefas ou pods com um balanceador de carga. Os clientes consultam variações nas taxas de execução de tarefas e pods em comparação com as cotas representadas anteriormente com base nos recursos habilitados pelos clientes.

## Ajuste de cotas tarifárias no Fargate
<a name="fargate-throttling-increase"></a>

É possível solicitar um aumento da cotas de controle de utilização da taxa do Fargate para a sua conta da AWS. Para obter mais informações, consulte [Solicitar um aumento de cota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas*.

# Solucionar problemas nas instâncias gerenciadas do Amazon ECS
<a name="troubleshooting-managed-instances-complete"></a>

Use os procedimentos a seguir para solucionar problemas de instâncias gerenciadas do Amazon ECS, incluindo problemas comuns, técnicas de diagnóstico e etapas de resolução.

## Pré-requisitos
<a name="prerequisites"></a>

Antes de solucionar problemas de instâncias gerenciadas do Amazon ECS, verifique se você tem os requisitos em vigor. a seguir.
+ A AWS CLI está instalada e configurada com as permissões corretas

  Para obter mais informações, consulte [Instalar ou atualizar para a versão mais recente da AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário do AWS Command Line Interface*.
+ Acesso a um cluster com o provedor de capacidade de instâncias gerenciadas do Amazon ECS. Para obter mais informações, consulte [Criar um cluster para instâncias gerenciadas do Amazon ECS](create-cluster-managed-instances.md).

## Cenários comuns de solução de problemas
<a name="common-troubleshooting-scenarios"></a>

### Visualizar logs do agente de contêiner de instâncias gerenciadas do Amazon ECS
<a name="viewing-container-agent-logs"></a>

Você pode visualizar esses arquivos de log do Amazon ECS nas instâncias gerenciadas do Amazon ECS conectando-se a um contêiner privilegiado em execução na instância.

#### Etapas de diagnóstico
<a name="diagnostic-steps-logs"></a>

**Implante um contêiner de depuração com privilégios e recursos do Linux como tarefa do Amazon ECS:**

Defina as seguintes variáveis de ambiente.

Substitua os valores das *user-input* pelos seus.

```
export ECS_CLUSTER_NAME="your-cluster-name"
export AWS_REGION="your-region"
export ACCOUNT_ID="your-account-id"
```

Crie uma definição de tarefa usando um arquivo JSON da CLI chamado `node-debugger.json`.

```
cat << EOF > node-debugger.json
{
  "family": "node-debugger",
  "taskRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole",
  "executionRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole",
  "cpu": "256",
  "memory": "1024",
  "networkMode": "host",
  "pidMode": "host",
  "requiresCompatibilities": ["MANAGED_INSTANCES", "EC2"],
  "containerDefinitions": [
    {
      "name": "node-debugger",
      "image": "public.ecr.aws/amazonlinux/amazonlinux:2023",
      "essential": true,
      "privileged": true,
      "command": ["sleep", "infinity"],
      "healthCheck": {
          "command": ["CMD-SHELL", "echo debugger || exit 1"],
          "interval": 30,
          "retries": 3,
          "timeout": 5
      },
      "linuxParameters": {
        "initProcessEnabled": true
      },
      "mountPoints": [
        {
          "sourceVolume": "host-root",
          "containerPath": "/host",
          "readOnly": false
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/aws/ecs/node-debugger",
          "awslogs-create-group": "true",
          "awslogs-region": "${AWS_REGION}",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ],
  "volumes": [
    {
      "name": "host-root",
      "host": {
        "sourcePath": "/"
      }
    }
  ]
}
EOF
```

Registre-se e, em seguida, execute a tarefa. Execute os seguintes comandos.

```
aws ecs register-task-definition --cli-input-json file://node-debugger.json

TASK_ARN=$(aws ecs run-task \
  --cluster $ECS_CLUSTER_NAME \
  --task-definition node-debugger \
  --enable-execute-command \
  --capacity-provider-strategy capacityProvider=managed-instances-default,weight=1 \
  --query 'tasks[0].taskArn' --output text)

# Wait for task to be running
aws ecs wait tasks-running --cluster $ECS_CLUSTER_NAME --tasks $TASK_ARN
```

Conectar-se ao contêiner. Execute o comando a seguir.

```
aws ecs execute-command \
  --cluster $ECS_CLUSTER_NAME \
  --task $TASK_ARN \
  --container node-debugger \
  --interactive \
  --command "/bin/sh"
```

**Verifique os logs do agente do Amazon ECS:**

Na sessão interativa do contêiner, execute os seguintes comandos:

```
# Install required tools
yum install -y util-linux-core

# View ECS agent logs
nsenter -t 1 -m -p cat /var/log/ecs/ecs-agent.log | tail -50

# Check agent registration
nsenter -t 1 -m -p grep "Registered container instance" /var/log/ecs/ecs-agent.log

Example Output:

{"level":"info","time":"2025-10-16T12:39:37.665","msg":"Registered container instance with cluster!"}

# Verify capabilities
nsenter -t 1 -m -p grep "Response contained expected value for attribute" /var/log/ecs/ecs-agent.log
```

**Verifique as métricas do agente:**

Execute o comando a seguir para visualizar os logs.

```
# View metrics logs
nsenter -t 1 -m -p cat /var/log/ecs/metrics.log | tail -20
```

### Problemas de posicionamento de tarefa
<a name="task-placement-issues"></a>

Veja a seguir os sintomas de problemas de posicionamento de tarefa:
+ Tarefas paradas no estado PENDING
+ Falha ao iniciar tarefas nas instâncias gerenciadas do Amazon ECS
+ Erros de recursos insuficientes

#### Etapas de diagnóstico
<a name="task-placement-diagnostic"></a>

Execute os comandos a seguir para diagnosticar problemas de posicionamento de tarefa e coletar informações sobre capacidade do cluster, instâncias de contêiner e serviços do sistema:

```
# Check cluster capacity
aws ecs describe-clusters --clusters cluster-name --include STATISTICS

# Check cluster capacity providers
aws ecs describe-clusters --clusters cluster-name --include STATISTICS --query 'clusters[].capacityProviders'

# List container instances
aws ecs list-container-instances --cluster cluster-name

# Check container instance details
aws ecs describe-container-instances --cluster cluster-name --container-instances container-instance-arn

# Check container instance remaining resources CPU/Mem
aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instances container-instance-arn --query 'containerInstances[].remainingResources'

# Check container instance Security Group
aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instances container-instance-arn --query 'containerInstances[].ec2InstanceId' --output text
aws ec2 describe-instances --instance-ids instance-id --query 'Reservations[0].Instances[0].SecurityGroups'
aws ec2 describe-security-groups --group-ids security-group-id
```

**Monitoramento de serviços do sistema:**

```
# Check Containerd status
nsenter -t 1 -m -p systemctl status containerd.service

# Check Amazon ECS container agent status
nsenter -t 1 -m -p systemctl status ecs
```

#### Resolução
<a name="task-placement-resolution"></a>

Para resolver problemas de posicionamento de tarefa, siga estas etapas para garantir a configuração e a capacidade adequadas:
+ Verifique os requisitos de recursos da tarefa em relação à capacidade disponível
+ Verifique as restrições e estratégias de posicionamento
+ Certifique-se de que o provedor de capacidade de instâncias gerenciadas do Amazon ECS esteja configurado
+ Certifique-se de que o grupo de segurança da instância de contêiner e tarefa tenha uma regra de saída que permita tráfego para os endpoints de gerenciamento do agente do Amazon ECS

### Problemas de rede
<a name="networking-issues"></a>

Veja a seguir os sintomas de problemas de rede:
+ Tarefas incapazes de acessar serviços externos
+ Problemas de resolução de DNS

#### Etapas de diagnóstico
<a name="networking-diagnostic"></a>

**Testes de conectividade de rede:**

No contêiner de depuração, execute os seguintes comandos:

**nota**  
Confirme se o grupo de segurança anexado ao provedor de capacidade ou à tarefa do Amazon ECS está permitindo o tráfego.

```
# Install DNS Utility
yum install bind-utils -y

# Test DNS resolution
nslookup amazon.com

# Test external connectivity
curl -I https://amazon.com
```

### Restrições de recursos
<a name="resource-constraints"></a>

Veja a seguir os sintomas de problemas de rede:
+ Tarefas eliminadas por causa de limites de memória
+ Controle de utilização de CPU
+ Problemas de espaço em disco

#### Etapas de diagnóstico
<a name="resource-constraints-diagnostic"></a>

Execute comandos para monitorar os recursos e os limites de contêineres.

**Monitoramento de recursos:**

```
# Check memory usage
nsenter -t 1 -m -p free -h

# Check disk usage
nsenter -t 1 -m -p lsblk

# Check disk usage
nsenter -t 1 -m -p df -h
```

**Limites de contêineres:**

```
# Check OOM kills
nsenter -t 1 -m -p dmesg | grep -i "killed process"
```

### Problema de desconexão do agente de instância de contêiner
<a name="container-instance-agent-disconnect"></a>

Veja a seguir os sintomas de problemas de desconexão do agente de instância de contêiner:
+ Instâncias de contêiner exibidas como desconectadas no console do Amazon ECS
+ Falha no posicionamento de tarefas em instâncias específicas
+ Falhas no registro do agente nos logs

#### Etapas de diagnóstico
<a name="agent-disconnect-diagnostic"></a>

 Se houver uma tarefa de privilégio existente em execução no host que o ECS Exec possa acessar, execute os seguintes comandos para diagnosticar problemas de conectividade do agente:

```
# check service status 
nsenter -t 1 -m -p systemctl restart ecs 
nsenter -t 1 -m -p systemctl restart containerd 

# restart stopped services 
nsenter -t 1 -m -p systemctl restart ecs 
nsenter -t 1 -m -p systemctl restart containerd
```

Caso contrário, force o cancelamento do registro das instâncias gerenciadas do Amazon ECS. Execute o seguinte comando:

```
# list ECS Managed Instance container
aws ecs list-container-instances --cluster managed-instances-cluster --query 'containerInstanceArns' --output text

# deregister the specific container instance
aws ecs deregister-container-instance \
    --cluster $ECS_CLUSTER_NAME \
    --container-instance container-instance-arn \
    --force
```

#### Resolução
<a name="agent-disconnect-resolution"></a>

Para resolver problemas de desconexão do agente, siga estas etapas:
+ Verifique as permissões do perfil do IAM para a instância de contêiner
+ Verifique se as regras do grupo de segurança permitem tráfego HTTPS de saída para endpoints do ECS
+ Certifique-se da conectividade da rede com os serviços da AWS
+ Reinicie o serviço do agente do ECS, se necessário: `nsenter -t 1 -m -p systemctl restart ecs`
+ Verifique se a configuração ECS\$1CLUSTER em /etc/ecs/ecs.config corresponde ao nome do cluster

## Análise de log em instâncias gerenciadas do Amazon ECS
<a name="log-analysis"></a>

### Logs do sistema.
<a name="system-logs"></a>

Use os comandos a seguir para examinar os logs do sistema e identificar possíveis problemas com a instância gerenciada:

```
# Check system messages
nsenter -t 1 -m -p journalctl --no-pager -n 50

# Check kernel logs
nsenter -t 1 -m -p dmesg | tail -20

# Check for disk space errors
nsenter -t 1 -m -p journalctl --no-pager | grep -i "no space\|disk full\|enospc"
```

## Usar a AWS CLI do EC2 para obter a saída do console de uma instância gerenciada do Amazon ECS
<a name="console-output"></a>

Use o ID da instância do Amazon EC2 para recuperar a saída do console.

Substitua os valores das *user-input* pelos seus.

```
aws ec2 get-console-output --instance-id instance-id --latest --output text
```

## Limpeza
<a name="cleanup"></a>

Execute o seguinte para interromper a tarefa de depuração e cancelar o registro da definição de tarefa:

```
# Stop debug task
aws ecs stop-task --cluster $ECS_CLUSTER_NAME --task $TASK_ARN

# Deregister task definition (optional)
aws ecs deregister-task-definition --task-definition node-debugger
```

## Recursos adicionais
<a name="additional-resources"></a>

Para obter mais informações sobre a solução de problemas de instâncias gerenciadas do Amazon ECS, consulte os seguintes recursos:
+ [Solucionar problemas de erros nas instâncias gerenciadas do Amazon ECS](managed-instances-errors.md)
+ [Solução de problemas do Amazon ECS](troubleshooting.md)
+ [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md)
+ [Monitoramento de contêineres do Amazon ECS com o ECS Exec](ecs-exec.md)

# Solucionar problemas nas instâncias gerenciadas do Amazon ECS
<a name="troubleshooting-managed-instances"></a>

Ao inicializar tarefas com instâncias gerenciadas do Amazon ECS, o Amazon ECS primeiro tenta posicionar as tarefas na capacidade existente e solicita capacidade adicional para tarefas que não podem ser posicionadas. Se o provisionamento da instância falhar, o ID de solicitação do Amazon EC2 será incluído na mensagem de falha da tarefa. Você pode usar esse ID de solicitação para examinar detalhes da solicitação que falhou no CloudTrail para solucionar problemas adicionais.

**nota**  
Se você optar por aplicar permissões de privilégio mínimo e especificar suas próprias permissões para o perfil de instância em vez de usar a política gerenciada `AmazonECSInstanceRolePolicyForManagedInstances`, poderá adicionar as seguintes permissões para ajudar na solução de problemas relacionados a tarefas com as instâncias gerenciadas do Amazon ECS:   
`ecs:StartTelemetrySession`
`ecs:PutSystemLogEvents`

## A definição de tarefa é incompatível com as instâncias gerenciadas do Amazon ECS.
<a name="task-definition-incompatible"></a>

### Causa comum
<a name="task-definition-incompatible-cause"></a>

Esse erro ocorre quando sua definição de tarefa contém parâmetros ou configurações que não são compatíveis com as instâncias gerenciadas do Amazon ECS. As incompatibilidades comuns incluem modos de rede, perfis de tarefas ou requisitos de recursos sem suporte.

### Resolução
<a name="task-definition-incompatible-resolution"></a>

1. Verifique se sua definição de tarefa usa `requiresCompatibilities` definido como `MANAGED_INSTANCES`.

1. Certifique-se de que sua definição de tarefa use o modo de rede `awsvpc`.

1. Verifique se os valores de CPU e memória estão dentro dos intervalos compatíveis para as instâncias gerenciadas do Amazon ECS.

1. Revise a mensagem de erro detalhada para obter detalhes específicos da incompatibilidade.

## Provedores de capacidade não associados ao cluster
<a name="capacity-provider-missing"></a>

### Causa comum
<a name="capacity-provider-missing-cause"></a>

Esse erro ocorre quando o provedor de capacidade especificado em sua estratégia de provedor de capacidade não está associado ao cluster ou não existe.

### Resolução
<a name="capacity-provider-missing-resolution"></a>

1. Verifique se o provedor de capacidade existe em sua conta e região.

1. Associe o provedor de capacidade ao seu cluster usando o console ou a CLI do Amazon ECS.

1. Certifique-se de que o provedor de capacidade esteja no status `ACTIVE` antes de utilizá-lo.

## Erros de permissão do perfil de infraestrutura
<a name="infrastructure-role-errors"></a>

### Causa comum
<a name="infrastructure-role-errors-cause"></a>

Esse erro ocorre quando o perfil de infraestrutura do Amazon ECS não tem as permissões necessárias para executar operações do Amazon EC2 em seu nome ou quando o perfil não pode ser assumido por causa de problemas de relacionamento de confiança.

### Resolução
<a name="infrastructure-role-errors-resolution"></a>

1. Verifique se seu perfil de infraestrutura tem a relação de confiança adequada com o Amazon ECS.

1. Certifique-se de que o perfil tenha as permissões necessárias do Amazon EC2, incluindo `ec2:RunInstances`, `ec2:DescribeInstances` e `iam:PassRole`.

1. Verifique a mensagem de falha de autorização codificada no CloudTrail para obter detalhes específicos da permissão.

1. Atualize a política de perfil para incluir as permissões ausentes identificadas na mensagem de erro.

## Erro VcpuLimitExceeded
<a name="vcpu-limit-exceeded"></a>

### Causa comum
<a name="vcpu-limit-exceeded-cause"></a>

Esse erro ocorre quando você atinge sua cota de serviço de vCPU para a família de tipos de instância na região atual. As instâncias gerenciadas do Amazon ECS não podem iniciar instâncias adicionais até que a capacidade esteja disponível.

### Resolução
<a name="vcpu-limit-exceeded-resolution"></a>

1. Solicite um aumento de cotas de serviço para a família de tipos de instância afetada por meio do AWS Support Center.

1. Considere usar diferentes tipos de instância que se enquadrem em outra categoria de cota de vCPU.

1. Encerre instâncias não utilizadas do Amazon EC2 para liberar capacidade de vCPU.

1. Revise a configuração do seu provedor de capacidade para usar tipos de instância com requisitos de vCPU mais baixos.

## Capacidade insuficiente e erros de capacidade relacionados
<a name="insufficient-capacity"></a>

### Causa comum
<a name="insufficient-capacity-cause"></a>

Esses erros ocorrem quando a AWS não tem capacidade suficiente para atender à sua solicitação de instância. Isso pode incluir capacidade insuficiente de instância, endereço ou volume na zona de disponibilidade solicitada.

### Resolução
<a name="insufficient-capacity-resolution"></a>

1. Tente inicializar as instâncias em diferentes zonas de disponibilidade configurando várias sub-redes em seu provedor de capacidade.

1. Considere usar diferentes tipos de instância que possam ter mais capacidade disponível.

1. Aguarde e repita a operação, uma vez que a disponibilidade da capacidade muda com frequência.

1. Para necessidades persistentes de capacidade, considere usar instâncias reservadas ou Savings Plans.

## Erro UnauthorizedOperation
<a name="unauthorized-operation"></a>

### Causa comum
<a name="unauthorized-operation-cause"></a>

Esse erro ocorre quando o serviço do Amazon ECS não tem as permissões necessárias para executar operações do Amazon EC2 ou transmitir perfis do IAM. Os cenários comuns incluem a falta de permissões `ec2:RunInstances` ou `iam:PassRole` para o perfil de instância.

### Resolução
<a name="unauthorized-operation-resolution"></a>

1. Verifique se seu perfil de infraestrutura do Amazon ECS tem as permissões necessárias para inicializar instâncias do Amazon EC2.

1. Certifique-se de que o perfil de infraestrutura tenha permissões `iam:PassRole` para o perfil de instância usado pelas instâncias gerenciadas do Amazon ECS.

1. Verifique a mensagem de falha de autorização codificada no CloudTrail para obter detalhes específicos da permissão.

1. Atualize a política de perfil para incluir as permissões ausentes identificadas na mensagem de erro.

## O tempo limite da tarefa foi atingido ao esperar a capacidade
<a name="task-timeout-capacity"></a>

### Causa comum
<a name="task-timeout-capacity-cause"></a>

Esse erro ocorre quando as instâncias demoram mais do que o esperado para serem inicializadas e registradas no cluster. Isso pode acontecer por causa das restrições de capacidade do Amazon EC2, falhas na inicialização da instância ou problemas de conectividade de rede.

### Resolução
<a name="task-timeout-capacity-resolution"></a>

1. Verifique a integridade do serviço do Amazon EC2 em sua região para ver se há problemas em andamento.

1. Verifique se suas sub-redes têm endereços IP suficientes disponíveis.

1. Garanta que seus grupos de segurança permitam o tráfego necessário para a comunicação dos agentes do Amazon ECS.

1. Considere usar várias zonas de disponibilidade para melhorar a disponibilidade da capacidade.

1. Repita a operação de inicialização da tarefa, visto que as restrições de capacidade geralmente são temporárias.

## Erros de configuração de rede
<a name="network-configuration-errors"></a>

### Causa comum
<a name="network-configuration-errors-cause"></a>

Esses erros ocorrem quando há incompatibilidades entre os requisitos de rede da tarefa e a configuração de rede do provedor de capacidade, como incompatibilidades de VPC ou falta de configuração de rede.

### Resolução
<a name="network-configuration-errors-resolution"></a>

1. Verifique se seu provedor de capacidade está configurado com a VPC e as sub-redes corretas.

1. Verifique se os grupos de segurança e as sub-redes pertencem à mesma VPC.

1. Verifique se a configuração de rede da definição de tarefa é compatível com o provedor de capacidade.

1. Atualize a configuração do provedor de capacidade com as configurações de rede corretas.

## O provedor de capacidade não pode ser excluído por causa de instâncias presas
<a name="capacity-provider-deletion-errors"></a>

### Causa comum
<a name="capacity-provider-deletion-errors-cause"></a>

Esses erros ocorrem quando as instâncias gerenciadas do Amazon ECS estão presas em um estado `ACTIVE` ou `DRAINING`, mas não há tarefas em execução nas instâncias.

### Resolução
<a name="capacity-provider-deletion-errors-resolution"></a>

Para permitir que a exclusão do provedor de capacidade continue, você pode forçar o cancelamento do registro das instâncias que estão presas usando o comando a seguir.

```
aws ecs deregister-container-instance \
    --cluster arn:aws:ecs:us-east-1:111122223333:cluster/MyCluster \
    --container-instance arn:aws:ecs:us-east-1:111122223333:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
    --force
```

# Solucionar problemas de erros nas instâncias gerenciadas do Amazon ECS
<a name="managed-instances-errors"></a>

Veja a seguir algumas mensagens de erro de instâncias gerenciadas do Amazon ECS e as ações que podem ser executadas para corrigir o erro. 

## O provedor de instâncias gerenciadas do Amazon ECS não é suportado sem um nome de cluster
<a name="managed-instances-provider-cluster-required"></a>

Esse erro ocorre quando você tenta criar um provedor de capacidade com um parâmetro de provedor de instâncias gerenciadas do Amazon ECS, mas sem campo de cluster.

Para resolver esse problema, especifique um nome de cluster válido ao criar o provedor de capacidade.

## Os detalhes do provedor de instâncias gerenciadas do Amazon ECS são obrigatórios ao criar um provedor de capacidade de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-provider-details-required"></a>

Esse erro aparece quando você tenta criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS, mas não fornece o objeto real.

Para corrigir esse problema, especifique detalhes válidos do provedor de instâncias gerenciadas do Amazon ECS e tente novamente.

## O provedor de capacidade de instâncias gerenciadas do Amazon ECS deve especificar um perfil de instância
<a name="managed-instances-ec2-instance-profile-required"></a>

Você verá esse erro ao tentar criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS, mas não fornecer o EC2InstanceProfile.

Para resolver isso, especifique um perfil de instância do EC2 válido para seu provedor de capacidade de instâncias gerenciadas do Amazon ECS. Para obter mais informações, consulte [Perfil de instância de instâncias gerenciadas do Amazon ECS](managed-instances-instance-profile.md).

## O provedor de capacidade de instâncias gerenciadas do Amazon ECS deve especificar um perfil de infraestrutura
<a name="managed-instances-infrastructure-role-required"></a>

Esse erro aparece quando você tenta criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS, mas não fornece o perfil de infraestrutura.

Para corrigir isso, especifique um perfil de infraestrutura válido para seu provedor de capacidade de instâncias gerenciadas do Amazon ECS. Para obter mais informações, consulte [Perfil do IAM de infraestrutura do Amazon ECS](infrastructure_IAM_role.md).

## O provedor de capacidade de instâncias gerenciadas do Amazon ECS deve especificar uma configuração de rede
<a name="managed-instances-network-configuration-required"></a>

Você encontrará esse erro ao tentar criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS, mas não fornecer a configuração de rede.

Para resolver isso, especifique uma configuração de rede válida com sub-redes não vazias para seu provedor de capacidade de instâncias gerenciadas do Amazon ECS. Para obter mais informações, consulte [Rede de tarefas do Amazon ECS para instâncias gerenciadas do Amazon ECS](managed-instance-networking.md).

## Nenhum tipo de instância satisfaz os requisitos de instância especificados no provedor de capacidade de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-no-instance-types"></a>

Isso acontece quando você tenta criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS, mas nenhum tipo de instância do EC2 satisfaz os requisitos de instância.

Para resolver isso, revise e ajuste seus requisitos de instância para que correspondam aos tipos de instância do EC2 disponíveis.

## O ARN do perfil de infraestrutura especificado é inválido
<a name="managed-instances-invalid-infrastructure-role-arn"></a>

Esse erro ocorre quando o perfil de infraestrutura não segue o formato ARN específico.

Formato esperado: `arn:partition:iam::account-id:role/role-name`. Especifique um ARN de perfil válido e tente novamente. Para obter mais informações, consulte [Perfil do IAM de infraestrutura do Amazon ECS](infrastructure_IAM_role.md).

## O ARN do perfil de instância especificado é inválido
<a name="managed-instances-invalid-instance-profile-arn"></a>

Esse erro ocorre quando o perfil de instância não segue o formato ARN específico.

Formato esperado: `arn:partition:iam::account-id:instance-profile/profile-name`. Especifique um ARN de perfil válido e tente novamente. Para obter mais informações, consulte [Perfil de instância de instâncias gerenciadas do Amazon ECS](managed-instances-instance-profile.md).

## O ID do grupo de segurança especificado é inválido
<a name="managed-instances-invalid-security-group-id"></a>

Esse erro ocorre quando o ID do grupo de segurança não segue o formato específico.

Formato esperado: `sg-xxxxxxxx` ou `sg-xxxxxxxxxxxxxxxxxx` (8 ou 17 caracteres incluindo letras (minúsculas) e números após 'sg-'). Especifique um ID do grupo de segurança e tente novamente.

## O ID da sub-rede especificado é inválido
<a name="managed-instances-invalid-subnet-id"></a>

Esse erro ocorre quando o ID da sub-rede não segue o formato específico.

Formato esperado: `subnet-xxxxxxxx` ou `subnet-xxxxxxxxxxxxxxxxxx` (8 ou 17 caracteres incluindo letras (minúsculas) e números após 'subnet-'). Especifique um ID de sub-rede-rede e tente novamente.

## O provedor de capacidade de instâncias gerenciadas do Amazon ECS deve especificar uma configuração de rede com sub-redes não vazias
<a name="managed-instances-network-configuration-empty-subnets"></a>

Esse erro ocorre quando você tenta criar um provedor de capacidade com o provedor de instâncias gerenciadas do Amazon ECS e configuração de rede com sub-redes vazias.

Para resolver isso, especifique uma configuração de rede válida com sub-redes não vazias para seu provedor de capacidade de instâncias gerenciadas do Amazon ECS.

## O provedor de capacidade de instâncias gerenciadas do Amazon ECS não pode ter um número de tags que exceda o valor máximo permitido
<a name="managed-instances-max-tags-exceeded"></a>

Esse erro ocorre quando você tenta criar um provedor de capacidade com mais do que o número máximo permitido de tags (45).

Para resolver isso, reduza o número de tags para 45 ou menos e tente novamente.

## Valor inválido para PropagateTags
<a name="managed-instances-invalid-propagate-tags"></a>

Esse erro ocorre quando você tenta criar um provedor de capacidade com um valor PropagateTags inválido.

O valor deve ser um dos valores válidos de PropagateTags. Especifique um valor válido e tente novamente.

## O provedor de capacidade especificado já existe com o escopo do cluster
<a name="managed-instances-capacity-provider-exists-cluster-scope"></a>

Esse erro ocorre quando você tenta criar, atualizar ou excluir um provedor de capacidade de instâncias gerenciadas do Amazon ECS sem um nome de cluster, mas existe um provedor de capacidade com escopo no cluster.

Para alterar a configuração do provedor de capacidade ou excluí-lo, atualize ou exclua o provedor de capacidade com o parâmetro de cluster.

## O provedor de capacidade especificado já existe com a conta ou um cluster diferente
<a name="managed-instances-capacity-provider-exists-different-cluster"></a>

Esse erro ocorre quando você tenta criar, atualizar ou excluir um provedor de capacidade de instâncias gerenciadas do Amazon ECS com um campo de cluster, embora haja um provedor de capacidade com escopo na conta ou um com escopo em um cluster diferente.

Para resolver isso, use um nome de provedor de capacidade diferente ou trabalhe com o provedor de capacidade existente.

## O nome do cluster ativo do provedor de capacidade não corresponde ao nome do cluster na solicitação
<a name="managed-instances-cluster-name-mismatch"></a>

Esse erro ocorre quando o nome do cluster ativo do provedor de capacidade não corresponde ao nome do cluster especificado na solicitação.

Certifique-se de que o nome do cluster em sua solicitação corresponda ao cluster associado do provedor de capacidade.

## O provedor de capacidade não é de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-not-managed-instances-provider"></a>

Esse erro ocorre quando você tenta usar um provedor de capacidade que não é de instâncias gerenciadas do Amazon ECS em um contexto que exige um.

Certifique-se de usar um provedor de capacidade de instâncias gerenciadas do Amazon ECS válido para sua solicitação.

## O nome do provedor de capacidade não deve ser deixado em branco
<a name="managed-instances-capacity-provider-name-required"></a>

Esse erro ocorre quando você tenta criar um provedor de capacidade sem especificar um nome válido.

Especifique um nome de provedor de capacidade válido e tente novamente.

## É obrigatório um nome ao atualizar um provedor de capacidade
<a name="managed-instances-update-name-required"></a>

Esse erro ocorre quando você tenta atualizar um provedor de capacidade sem especificar um nome válido.

Especifique um nome válido e tente novamente.

## As tags não podem ser nulas nem ter elementos nulos
<a name="managed-instances-tags-null-elements"></a>

Esse erro ocorre quando você tenta marcar com tag um provedor de capacidade com valores nulos.

Certifique-se de que todos os valores de tag estejam especificados corretamente e não sejam nulos.

# Motivos de falha da API no Amazon ECS
<a name="api_failures_messages"></a>

Quando uma ação de API que você acionou por meio da API do Amazon ECS, do console ou da AWS CLI é encerrada com uma mensagem de erro `failures`, a ação a seguir pode ajudar a reparar a causa. A falha retorna o motivo e o nome do recurso da Amazon (ARN) do recurso associado à falha.

Muitos recursos são específicos da região. Portanto, ao usar o console, certifique-se de ter definido a região correta para os recursos. Ao usar a AWS CLI, certifique-se de que os comandos da AWS CLI estejam sendo enviados para a região correta com o parâmetro `--region region`.

Para obter mais informações sobre a estrutura do tipo de dados da `Failure`, consulte [Falha](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Failure.html) na *Referência da API do Amazon Elastic Service*.

Veja a seguir exemplos de mensagens de falha que você pode receber ao executar comandos da API. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/api_failures_messages.html)

**nota**  
Além dos cenários de falha descritos aqui, as operações de APIs também podem apresentar falha devido a exceções, resultando em respostas de erro. Para obter uma lista dessas exceções, consulte [Common Errors](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/CommonErrors.html) (Erros comuns).

# Solucionar problemas do Amazon Q Developer
<a name="troubleshooting-with-Q"></a>

Você pode usar o [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html) no console do Amazon ECS para ajudar a diagnosticar e resolver problemas com seus recursos do Amazon ECS. Para determinados erros e mensagens de status em contêineres, tarefas, serviços, implantações e definições de tarefa, o console mostra uma opção **Inspecionar com o Amazon Q Developer**. Quando você escolhe essa opção, o Amazon Q Developer analisa o problema no contexto e sugere possíveis causas e etapas de remediação.

## Permissões obrigatórias
<a name="troubleshooting-with-Q-permissions"></a>
+ Permissões para visualizar os recursos do Amazon ECS cujos problemas você deseja solucionar, como clusters, serviços, tarefas e definições de tarefa.
+ [Permissões para usar o Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security_iam_permissions.html) no console.
+ (Recomendado) Permissões para visualizar métricas e logs relacionados, como:
  + CloudWatch Logs
  + CloudWatch

## Procedimento
<a name="troubleshooting-with-Q-procedure"></a>

1. Abra o console do em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Determine o recurso cujo problema você deseja solucionar.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/troubleshooting-with-Q.html)

1. Na página de detalhes do recurso, localize o motivo do status ou da integridade que descreve o problema.

1. Clique no motivo do status para abrir o popover.

1. Se disponível, escolha **Inspecionar com o Amazon Q Developer**.

1. Analise a explicação e as etapas de remediação sugeridas pelo Amazon Q Developer. Aplique alterações operacionais ou de configuração conforme apropriado para seu ambiente.

## Considerações
<a name="troubleshooting-with-Q-considerations"></a>

Considere o seguinte ao usar o Amazon Q Developer com o Amazon ECS:
+ **Disponibilidade de botão**: o botão “Inspecionar com o Amazon Q Developer” só é exibido para recursos com possíveis problemas. Essa opção não está disponível para recursos íntegros.
+ **Operações somente leitura**: a integração do Amazon Q Developer executa apenas operações de leitura. Ela não executa ações de mutação ou gravação.
+ **Processamento entre regiões**: o Amazon Q Developer pode processar dados em várias regiões da AWS para fornecer análises com IA. Para obter mais informações sobre processamento entre regiões, consulte [Processamento entre regiões no Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-processing.html).
+ ** Somente console**: essa integração só está disponível por meio do console. Ela não está disponível por meio de AWS CLI, AWS APIs ou infraestrutura como ferramentas de código.

## Saiba mais
<a name="troubleshooting-with-Q-learn-more"></a>

Para obter mais informações sobre como usar o Amazon Q Developer, consulte [Chat com o Amazon Q Developer sobre a AWS](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/chat-with-q.html).