

# Instâncias de contêiner do Amazon EC2 para o Amazon ECS
<a name="create-capacity"></a>

Uma instância de contêiner do Amazon ECS corresponde a uma instância do Amazon EC2 que executa o agente de contêiner do Amazon ECS e está registrada em um cluster. Quando você executa tarefas usando o provedor de capacidade do Amazon ECS, um provedor de capacidade externo ou um do grupo do Auto Scaling, suas tarefas são colocadas nas instâncias de contêiner ativas. Você é responsável pelo gerenciamento e manutenção da instância de contêiner.

Embora você possa criar sua própria AMI de instância do Amazon EC2 que atenda às especificações básicas necessárias para executar workloads em contêineres no Amazon ECS, as AMIs otimizadas para Amazon ECS são pré-configuradas e testadas no Amazon ECS por engenheiros da AWS. É a maneira mais simples de você começar e fazer com que seus contêineres sejam executados na AWS rapidamente.

Ao criar um cluster usando o console, o Amazon ECS cria um modelo de inicialização para as instâncias com a AMI mais recente associada ao sistema operacional selecionado. 

Quando você usa o CloudFormation para criar um cluster, o parâmetro SSM faz parte do modelo de inicialização do Amazon EC2 para instâncias do grupo do Auto Scaling. Você pode configurar o modelo para usar um parâmetro dinâmico do Systems Manager para determinar qual AMI otimizada do Amazon ECS deve ser implantada. Esse parâmetro garante que toda vez que você implantar a pilha, ele verificará se há uma atualização disponível que precise ser aplicada às instâncias do EC2. Para obter um exemplo de como usar o parâmetro do Systems Manager, consulte [Criar um cluster Amazon ECS com a AMI do Amazon Linux 2023 otimizada para o Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) no *Guia do usuário do AWS CloudFormation*.
+ [Recuperação de metadados da AMI do Linux otimizada para o Amazon ECS](retrieve-ecs-optimized_AMI.md)
+ [Recuperação dos metadados da AMI do Bottlerocket otimizada para o Amazon ECS](ecs-bottlerocket-retrieve-ami.md)
+ [Recuperação de metadados da AMI do Windows otimizada para o Amazon ECS](retrieve-ecs-optimized_windows_AMI.md)

É possível escolher entre os tipos de instância que são compatíveis com sua aplicação. Com instâncias maiores, é possível iniciar mais tarefas ao mesmo tempo. Com instâncias menores, é possível aumentar a escala horizontalmente de maneira mais otimizada para economizar custos. Não é preciso escolher um único tipo de instância do Amazon EC2 que se adapte a todas as aplicações em seu cluster. Em vez disso, você pode criar diversos grupos do Auto Scaling de forma que cada grupo tenha um tipo de instância diferente. Em seguida, é possível criar um provedor de capacidade do Amazon EC2 para cada um desses grupos.

Use as seguintes diretrizes para determinar os tipos de família de instâncias e o tipo de instância a ser usado:
+ Elimine os tipos ou as famílias de instâncias que não atendem aos requisitos específicos da aplicação. Por exemplo, se a sua aplicação exigir uma GPU, será possível excluir qualquer tipo de instância que não tenha uma GPU.
+ Considere os requisitos, incluindo o throughput e o armazenamento da rede.
+ Considere a CPU e a memória. Como regra geral, a CPU e a memória devem ser grandes o suficiente para armazenar pelo menos uma réplica da tarefa que você deseja executar. 

## Instâncias spot
<a name="container-instance-spot"></a>

A capacidade spot pode proporcionar economias de custo significativas em relação às instâncias sob demanda. A capacidade spot é o excesso de capacidade cujo preço é significativamente menor do que a capacidade sob demanda ou a capacidade reservada. A capacidade spot é adequada para workloads de processamento em lote e machine learning, além de ambientes de desenvolvimento e preparação. Em geral, é adequada para qualquer workload que tolere tempo de inatividade temporário. 

Entenda as consequências a seguir, pois a capacidade spot pode não estar disponível o tempo todo.
+ Durante períodos de demanda extremamente alta, a capacidade spot pode estar indisponível. Isso pode atrasar a execução de instâncias spot do Amazon EC2. Nesses casos, os serviços do Amazon ECS tentam executar tarefas novamente, e os grupos do Amazon EC2 Auto Scaling também tentam iniciar instâncias novamente, até que a capacidade necessária esteja disponível. O Amazon EC2 não substitui a capacidade spot por capacidade sob demanda. 
+ Quando a demanda geral por capacidade aumenta, as instâncias spot e as tarefas podem ser encerradas com apenas um aviso de dois minutos. Depois que o aviso for enviado, as tarefas devem iniciar um desligamento ordenado, se necessário, antes que a instância seja totalmente encerrada. Isso ajuda a minimizar a possibilidade de erros. Para obter mais informações sobre um desligamento normal, consulte [Desligamentos normais com o ECS](https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/).

Para ajudar a minimizar a escassez de capacidade Spot, considere as recomendações a seguir: 
+ Use várias regiões e zonas de disponibilidade: a capacidade spot varia de acordo com a região e a zona de disponibilidade. É possível melhorar a disponibilidade de spot executando suas workloads em várias regiões e zonas de disponibilidade. Se possível, especifique sub-redes em todas as zonas de disponibilidade nas regiões em que você executar suas tarefas e instâncias. 
+ Use vários tipos de instâncias do Amazon EC2: quando você usa políticas de instâncias mistas com o Amazon EC2 Auto Scaling, vários tipos de instâncias são iniciadas em seu grupo do Auto Scaling. Isso garante que uma solicitação por capacidade spot possa ser atendida quando necessário. Para maximizar a confiabilidade e minimizar a complexidade, use tipos de instâncias com aproximadamente a mesma quantidade de CPU e memória em sua Política de instâncias mistas. Essas instâncias podem ser de uma geração diferente ou de variantes do mesmo tipo de instância base. Observe que elas podem vir com recursos adicionais que você talvez não precise. Um exemplo dessa lista poderia incluir m4.large, m5.large, m5a.large, m5d.large, m5n.large, m5dn.large e m5ad.large. Para obter mais informações, consulte [Grupos de Auto Scaling com vários tipos de instância e opções de compra](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) no *Manual do usuário do Amazon EC2 Auto Scaling*.
+ Use a estratégia de alocação spot otimizada para capacidade: com o Amazon EC2 Spot, é possível escolher entre as estratégias de alocação otimizadas para capacidade e custo. Se você escolher a estratégia de capacidade otimizada ao iniciar uma nova instância, o Amazon EC2 Spot selecionará o tipo de instância com maior disponibilidade na zona de disponibilidade selecionada. Isso ajudará a reduzir a possibilidade de a instância ser encerrada logo após sua inicialização. 

Para obter informações sobre como configurar avisos de encerramento de spot em suas instâncias de contêiner, consulte:
+ [Configuração de instâncias de contêiner do Linux no Amazon ECS para receber avisos de instância spot](spot-instance-draining-linux-container.md)
+ [Configuração de instâncias de contêiner do Windows no Amazon ECS para receber avisos de instância spot](windows-spot-instance-draining-container.md)

# AMIs do Linux otimizadas para o Amazon ECS
<a name="ecs-optimized_AMI"></a>

**Importante**  
A AMI do Amazon Linux 2 otimizada para Amazon ECS chega ao fim de sua vida útil em 30 de junho de 2026, espelhando a mesma data de EOL do sistema operacional upstream Amazon Linux 2 (para obter mais informações, consulte as perguntas frequentes sobre o [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/faqs/)). Incentivamos os clientes a atualizar suas aplicações para usar o Amazon Linux 2023, que inclui suporte de longo prazo até 2028. Para obter informações sobre a migração do Amazon Linux 2 para o Amazon Linux 2023, consulte [Migrating from the Amazon Linux 2 Amazon ECS-optimized AMI to the Amazon Linux 2023 Amazon ECS-optimized AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/al2-to-al2023-ami-transition.html).

Por padrão, a data de descontinuação de todas as AMIs otimizadas para o Amazon ECS é definida para dois anos após a data de criação da AMI. Você pode usar a API `DescribeImages` do Amazon EC2 para verificar o status de suspensão de uso e a data de uma AMI. Para obter mais informações, consulte [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) na *Amazon Elastic Compute Cloud API Reference*.

O Amazon ECS fornece as AMIs otimizadas para Amazon ECS que são pré-configuradas com os requisitos e as recomendações para executar as workloads de contêiner. Recomendamos que você use a AMI do Amazon Linux 2023 otimizada para Amazon ECS para suas instâncias do Amazon EC2. A execução das suas instâncias de contêiner na AMI mais recente otimizada para Amazon ECS garante que você receba a versão atual das atualizações de segurança e do agente de contêiner. Para obter mais informações sobre como iniciar uma instância, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

Ao criar um cluster usando o console, o Amazon ECS cria um modelo de inicialização para as instâncias com a AMI mais recente associada ao sistema operacional selecionado. 

Quando você usa o CloudFormation para criar um cluster, o parâmetro SSM faz parte do modelo de inicialização do Amazon EC2 para instâncias do grupo do Auto Scaling. Você pode configurar o modelo para usar um parâmetro dinâmico do Systems Manager para determinar qual AMI otimizada do Amazon ECS deve ser implantada. Esse parâmetro garante que toda vez que você implantar a pilha, ele verificará se há uma atualização disponível que precise ser aplicada às instâncias do EC2. Para obter um exemplo de como usar o parâmetro do Systems Manager, consulte [Criar um cluster Amazon ECS com a AMI do Amazon Linux 2023 otimizada para o Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) no *Guia do usuário do AWS CloudFormation*.

Se você precisar personalizar a AMI otimizada para o Amazon ECS, consulte [Amazon ECS Optimized AMI Build Recipes](https://github.com/aws/amazon-ecs-ami) no GitHub.

As seguintes variantes da AMI otimizada para o Amazon ECS estão disponíveis para instâncias do Amazon EC2 com o sistema operacional do Amazon Linux 2023.


| Sistema operacional | AMI | Descrição | Configuração do armazenamento | 
| --- | --- | --- | --- | 
| Amazon Linux 2023 |  AMI do Amazon Linux 2023 otimizada para Amazon ECS |  O Amazon Linux 2023 é a próxima geração do Amazon Linux da AWS. Para a maioria dos casos, é recomendado para iniciar suas instâncias do Amazon EC2 para workloads do Amazon ECS. Para obter mais informações, consulte [O que é o Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html) no *Guia do Usuário do Amazon Linux 2023*.  | Por padrão, a AMI do Amazon Linux 2023 otimizada para Amazon ECS é fornecida com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2023 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2023 (arm64) |  AMI do Amazon Linux 2023 (arm64) otimizada para Amazon ECS |  Com base no Amazon Linux 2023, recomenda-se usar esta AMI ao inicializar suas instâncias do Amazon EC2 para processadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 baseados em Arm, para suas workloads do Amazon ECS. Para obter mais informações, consulte [Especificações para instâncias de uso geral do Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html) no *Guia de tipos de instâncias do Amazon EC2*.  | Por padrão, a AMI do Amazon Linux 2023 otimizada para Amazon ECS é fornecida com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2023 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2023 (Neuron) |  AMI do Amazon Linux 2023 otimizada para Amazon ECS  |  Baseada no Amazon Linux 2023, esta AMI destina-se a instâncias Inf1, Trn1 ou Inf2 do Amazon EC2. Ela vem pré-configurada com drivers do AWS Inferentia e do AWS Trainium, e o runtime do AWS Neuron para Docker, o que facilita a execução de workloads de inferência de machine learning no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de machine learning do AWS Neuron](ecs-inference.md).  A AMI do Amazon Linux 2023 (Neuron) otimizada para o Amazon ECS não é fornecida com a AWS CLI instalada previamente.  | Por padrão, a AMI do Amazon Linux 2023 otimizada para Amazon ECS é fornecida com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2023 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| GPU Amazon Linux 2023 | AMI de GPU Amazon Linux 2023 otimizada para Amazon ECS |  Com base no Amazon Linux 2023, recomenda-se usar esta AMI na inicialização de instâncias baseadas em GPU do Amazon EC2 para suas workloads do Amazon ECS. Ela vem pré-configurada com drivers de kernel NVIDIA e um runtime da GPU do Docker, que facilitam a execução de workloads que aproveitam as GPUs no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de GPU](ecs-gpu.md).  | Por padrão, a AMI do Amazon Linux 2023 otimizada para Amazon ECS é fornecida com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2023 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 

As seguintes variantes da AMI otimizada para o Amazon ECS estão disponíveis para instâncias do Amazon EC2 com o sistema operacional do Amazon Linux 2.


| Sistema operacional | AMI | Descrição | Configuração do armazenamento | 
| --- | --- | --- | --- | 
|  **Amazon Linux 2**   |  AMI do Amazon Linux 2 kernel 5.10 otimizada para Amazon ECS | Com base no Amazon Linux 2, esta AMI é para ser usada ao inicializar suas instâncias do Amazon EC2 e quando você quiser usar o kernel do Linux 5.10 em vez do kernel 4.14 para suas workloads do Amazon ECS. A AMI do Amazon Linux 2 kernel 5.10 otimizada para Amazon ECS não vem com a AWS CLI pré-instalada. | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
|  **Amazon Linux 2**  |  AMI do Amazon Linux 2 otimizada para Amazon ECS | Isso é para suas workloads do Amazon ECS. A AMI do Amazon Linux 2 otimizada para Amazon ECS não vem com a AWS CLI pré-instalada. | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
|  **Amazon Linux 2 (arm64)**  |  AMI do Amazon Linux 2 kernel 5.10 (arm64) otimizada para Amazon ECS |  Com base no Amazon Linux 2, esta AMI é para suas instâncias do Amazon EC2 para processadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 baseados em Arm, e quando você quiser usar o kernel 5.10 em vez do kernel 4.14 do Linux para suas workloads do Amazon ECS. Para obter mais informações, consulte [Especificações para instâncias de uso geral do Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html) no *Guia de tipos de instâncias do Amazon EC2*. A AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS não vem com a AWS CLI pré-instalada.  | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2 (arm64) | AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS |  Com base no Amazon Linux 2, essa AMI deve ser usada ao inicializar suas instâncias do Amazon EC2 para processadores AWS Graviton/Graviton 2/Graviton 3/Graviton 4 baseados em Arm, para suas workloads do Amazon ECS. A AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS não vem com a AWS CLI pré-instalada.  | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
|  **Amazon Linux 2 (GPU)**  | AMI do kernel 5.10 otimizada para GPU do Amazon ECS | Com base no Amazon Linux 2, recomenda-se usar essa AMI na execução de instâncias baseadas em GPU do Amazon EC2 com o kernel 5.10 do Linux nas workloads do Amazon ECS. Ela vem pré-configurada com drivers de kernel NVIDIA e um runtime da GPU do Docker, que facilitam a execução de workloads que aproveitam as GPUs no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de GPU](ecs-gpu.md). | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2 (GPU) | AMI otimizada para GPU do Amazon ECS | Com base no Amazon Linux 2, recomenda-se usar essa AMI na execução de instâncias baseadas em GPU do Amazon EC2 com o kernel 4.14 do Linux nas workloads do Amazon ECS. Ela vem pré-configurada com drivers de kernel NVIDIA e um runtime da GPU do Docker, que facilitam a execução de workloads que aproveitam as GPUs no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de GPU](ecs-gpu.md). | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2 (Neuron)  | AMI do kernel 5.10 do Amazon Linux 2 (Neuron) otimizada para o Amazon ECS  | Com base no Amazon Linux 2, essa AMI é para instâncias Inf1, Trn1 ou Inf2 do Amazon EC2. Ela vem pré-configurada com drivers do AWS Inferentia com kernel do Linux 5.10 e AWS Trainium e o runtime do AWS Neuron para Docker, que facilita a execução de workloads de inferência de machine learning no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de machine learning do AWS Neuron](ecs-inference.md). A AMI do Amazon Linux 2 (Neuron) otimizada para Amazon ECS não é fornecida com a AWS CLI pré-instalada. | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 
| Amazon Linux 2 (Neuron)  | AMI do Amazon Linux 2 (Neuron) otimizada para Amazon ECS | Com base no Amazon Linux 2, essa AMI é para instâncias Inf1, Trn1 ou Inf2 do Amazon EC2. Ela vem pré-configurada com drivers do AWS Inferentia e do AWS Trainium, e o runtime do AWS Neuron para Docker, o que facilita a execução de workloads de inferência de machine learning no Amazon ECS. Para obter mais informações, consulte [Definições de tarefa do Amazon ECS para workloads de machine learning do AWS Neuron](ecs-inference.md). A AMI do Amazon Linux 2 (Neuron) otimizada para Amazon ECS não é fornecida com a AWS CLI pré-instalada. | Por padrão, as AMIs otimizadas para Amazon ECS baseadas no Amazon Linux 2 (AMI do Amazon Linux 2 otimizado para Amazon ECS, AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS e AMI otimizada para GPU do Amazon ECS) são enviadas com um único volume raiz de 30 GiB. É possível modificar o tamanho de 30 GiB do volume raiz no momento da inicialização para aumentar o armazenamento disponível em sua instância de contêiner. Esse storage é usado para o sistema operacional e imagens e metadados de Docker. O sistema de arquivos padrão para a AMI do Amazon Linux 2 otimizada para Amazon ECS é `xfs` e o Docker usa o driver de armazenamento `overlay2`. Para obter mais informações, consulte [Usar o driver de armazenamento OverlayFS](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/) na documentação do Docker. | 

O Amazon ECS fornece um log de alterações para a variante do Linux da AMI otimizada para Amazon ECS no GitHub. Para obter mais informações, consulte [Log de alterações](https://github.com/aws/amazon-ecs-ami/blob/main/CHANGELOG.md).

As variantes do Linux da AMI otimizada para Amazon ECS usam a AMI do Amazon Linux 2 ou a AMI do Amazon Linux 2023 como base. O nome da AMI para cada variante pode ser recuperado consultando a API do Systems Manager Parameter Store. Para obter mais informações, consulte [Recuperação de metadados da AMI do Linux otimizada para o Amazon ECS](retrieve-ecs-optimized_AMI.md). As notas de versão do Amazon Linux 2 AMI também estão disponíveis. Para obter mais informações, consulte [Notas de lançamento do Amazon Linux 2](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html). As notas de versão do Amazon Linux 2023 também estão disponíveis. Para obter mais informações, consulte [Notas de lançamento do Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html).

As páginas a seguir fornecem informações adicionais sobre as alterações:
+ [Notas de lançamento da AMI de origem](https://github.com/aws/amazon-ecs-ami/releases) no GitHub
+ [Notas de lançamento do Docker Engine](https://docs.docker.com/engine/release-notes/) na documentação do Docker
+ [Documentação do driver NVIDIA](https://docs.nvidia.com/datacenter/tesla/index.html) na documentação da NVIDIA
+ [Amazon ECS agent changelog](https://github.com/aws/amazon-ecs-agent/blob/master/CHANGELOG.md) no GitHub

  O código-fonte da aplicação `ecs-init`, os scripts e a configuração para empacotar o agente agora fazem parte do repositório do agente. Para versões mais antigas de `ecs-init` e pacotes, consulte [Log de alterações do Amazon ecs-init](https://github.com/aws/amazon-ecs-init/blob/master/CHANGELOG.md) no GitHub

## Aplicação de atualizações de segurança à AMI otimizada para o Amazon ECS
<a name="ecs-optimized-AMI-security-changes"></a>

As AMIs otimizadas para o Amazon ECS baseadas no Amazon Linux contêm uma versão personalizada do cloud-init. O Cloud-init é um pacote usado para inicializar imagens do Linux em um ambiente de computação em nuvem e realizar ações desejadas ao executar uma instância. Por padrão, todas as AMIs otimizadas para o Amazon ECS baseadas no Amazon Linux lançadas antes de 12 de junho de 2024 têm todas as atualizações de segurança "críticas" e "importantes" aplicadas quando a instância é inicializada.

A partir da versão de 12 de junho, nos lançamentos de 2024 das AMIs otimizadas para o Amazon ECS baseadas no Amazon Linux 2, o comportamento padrão não inclui mais a atualização de pacotes na inicialização. Em vez disso, recomendamos atualizar para uma nova AMI otimizada para o Amazon ECS à medida que as versões forem disponibilizadas. As AMIs otimizadas para o Amazon ECS são lançadas quando há atualizações de segurança disponíveis ou alterações de base da AMI. Isso garante que você receba as versões mais recentes do pacote e as atualizações de segurança, e que as versões do pacote sejam imutáveis por meio de execuções de instâncias. Para obter mais informações sobre como recuperar a AMI otimizada para o Amazon ECS mais recente, consulte [Recuperação de metadados da AMI do Linux otimizada para o Amazon ECS](retrieve-ecs-optimized_AMI.md).

Recomendamos automatizar seu ambiente para atualizar para novas AMIs à medida que forem disponibilizadas. Para obter informações sobre as opções disponíveis, consulte [Amazon ECS enables easier EC2 capacity management, with managed instance draining](https://aws.amazon.com/blogs/containers/amazon-ecs-enables-easier-ec2-capacity-management-with-managed-instance-draining/).

Para continuar aplicando manualmente as atualizações de segurança "críticas" e "importantes" em uma versão da AMI, você pode executar o comando a seguir na sua instância do Amazon EC2.

```
yum update --security
```

**Atenção**  
 A atualização de pacotes docker ou containerd interromperá todos os contêineres em execução no host, o que significa que todas as tarefas em execução do Amazon ECS serão interrompidas. Planeje adequadamente para minimizar a interrupção do serviço. 

Se quiser habilitar novamente as atualizações de segurança na execução, você pode adicionar a linha a seguir à seção `#cloud-config` de dados do usuário do cloud-init ao executar a instância do Amazon EC2. Para obter mais informações, consulte [Using cloud-init on Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/amazon-linux-cloud-init.html) no *Guia do usuário do Amazon Linux*.

```
#cloud-config
repo_upgrade: security
```

## Pacotes com versão bloqueada em AMIs de GPU do AL2023 otimizadas para Amazon ECS
<a name="ecs-optimized-ami-version-locked-packages"></a>

Alguns pacotes são essenciais para o comportamento correto e eficiente da funcionalidade da GPU nas AMIs de GPU AL2023 otimizadas para o Amazon ECS. Isso inclui:
+ Drivers NVIDIA (`nvidia*`)
+ Módulos de kernel (`kmod*`)
+ Bibliotecas NVIDIA (`libnvidia*`)
+ Pacotes de kernel (`kernel*`)

**nota**  
Esta não é uma lista completa. A lista completa de pacotes bloqueados está disponível na `dnf versionlock list`

Esses pacotes são bloqueados por versão para garantir estabilidade e evitar alterações não intencionais que possam interromper as workloads da GPU. Como resultado, esses pacotes geralmente devem ser modificados dentro dos limites de um processo gerenciado que lida com facilidade com possíveis problemas e mantém a funcionalidade da GPU.

Para evitar modificações não intencionais, o plug-in `dnf versionlock` é usado nesses pacotes.

Se você quiser modificar um pacote bloqueado, você pode:

```
# unlock a single package
sudo dnf versionlock delete $PACKAGE_NAME

# unlock all packages
sudo dnf versionlock clear
```

**Importante**  
Quando forem necessárias atualizações desses pacotes, os clientes devem considerar o uso da versão mais recente da AMI que inclua as atualizações necessárias. Se for necessário atualizar as instâncias existentes, uma abordagem cuidadosa envolvendo desbloqueio, atualização e rebloqueio de pacotes deve ser empregada, sempre garantindo que a funcionalidade da GPU seja mantida durante todo o processo.

# Recuperação de metadados da AMI do Linux otimizada para o Amazon ECS
<a name="retrieve-ecs-optimized_AMI"></a>

Você pode recuperar programaticamente os metadados da AMI otimizada para o Amazon ECS. Os metadados incluem o nome da AMI, a versão do agente de contêiner do Amazon ECS e a versão de runtime do Amazon ECS, que inclui a versão do Docker. 

Ao criar um cluster usando o console, o Amazon ECS cria um modelo de inicialização para as instâncias com a AMI mais recente associada ao sistema operacional selecionado. 

Quando você usa o CloudFormation para criar um cluster, o parâmetro SSM faz parte do modelo de inicialização do Amazon EC2 para instâncias do grupo do Auto Scaling. Você pode configurar o modelo para usar um parâmetro dinâmico do Systems Manager para determinar qual AMI otimizada do Amazon ECS deve ser implantada. Esse parâmetro garante que toda vez que você implantar a pilha, ele verificará se há uma atualização disponível que precise ser aplicada às instâncias do EC2. Para obter um exemplo de como usar o parâmetro do Systems Manager, consulte [Criar um cluster Amazon ECS com a AMI do Amazon Linux 2023 otimizada para o Amazon ECS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI) no *Guia do usuário do AWS CloudFormation*.

O ID da AMI, o nome da imagem, o sistema operacional, a versão do agente de contêiner, o nome da imagem da fonte e a versão do runtime para cada variante das AMIs otimizadas para Amazon ECS podem ser recuperados de maneira programática, consultando a API da Systems Manager Parameter Store. Para obter mais informações sobre a API do Systems Manager Parameter Store, consulte [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) e [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html).

**nota**  
O usuário administrador precisa ter as seguintes permissões do IAM para recuperar os metadados da AMI otimizada para Amazon ECS. Essas permissões foram adicionadas à política `AmazonECS_FullAccess` do IAM.  
ssm:GetParameters
ssm:GetParameter
ssm:GetParametersByPath

## Formato de parâmetro do Systems Manager Parameter Store
<a name="ecs-optimized-ami-parameter-format"></a>

Veja a seguir o formato do nome do parâmetro para cada variante da AMI otimizada para Amazon ECS.

**AMIs do Linux otimizadas para Amazon ECS**
+ Metadados da AMI do Amazon Linux 2023:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/<version>
  ```
+ Metadados da AMI do Amazon Linux 2023 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/<version>
  ```
+ Metadados da AMI do Amazon Linux 2023 (Neuron):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/<version>
  ```
+ Metadados da AMI do Amazon Linux 2023 (GPU):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/<version>
  ```

  Metadados da AMI do Amazon Linux 2:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/<version>
  ```
+ Metadados da AMI do Amazon Linux 2 kernel 5.10:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/<version>
  ```
+ Metadados da AMI do Amazon Linux 2 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/<version>
  ```
+ Metadados da AMI do Amazon Linux 2 kernel 5.10 (arm64):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/<version>
  ```
+ Metadados da AMI do kernel 5.10 otimizada para GPU do Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/<version>
  ```
+ Metadados da AMI do Amazon Linux 2 (GPU):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/<version>
  ```
+ Metadados de AMI do kernel 5.10 do Amazon Linux 2 (Neuron) otimizada para o Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/<version>
  ```
+ Metadados da AMI do Amazon Linux 2 (Neuron):

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/inf/<version>
  ```

O formato de nome de parâmetro a seguir recupera o ID de imagem da versão recomendada mais recente da AMI do Amazon Linux 2 otimizada para Amazon ECS usando o subparâmetro `image_id`.

```
/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id
```

O seguinte formato de nome de parâmetro recupera os metadados de uma versão específica da AMI otimizada para Amazon ECS especificando o nome da AMI.
+ Metadados da AMI do Amazon Linux 2 otimizada para Amazon ECS:

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs
  ```

**nota**  
Todas as versões da AMI do Amazon Linux 2 otimizada para Amazon ECS estão disponíveis para recuperação. Somente versões `amzn-ami-2017.09.l-amazon-ecs-optimized` e posteriores da AMI otimizada para Amazon ECS (Linux) podem ser recuperadas. 

## Exemplos
<a name="ecs-optimized-ami-parameter-examples"></a>

Os exemplos a seguir mostram maneiras como você pode recuperar os metadados de cada variante da AMI otimizada para Amazon ECS.

### Recuperar os metadados da AMI otimizada para Amazon ECS recomendada mais recente
<a name="ecs-optimized-ami-parameter-examples-1"></a>

É possível recuperar a AMI otimizada para Amazon ECS recomendada mais recente por meio da AWS CLI, usando os comandos da AWS CLI a seguir.

**AMIs do Linux otimizadas para Amazon ECS**
+ **Para as AMIs do Amazon Linux 2023 otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2023 (arm64) otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2023 (Neuron) otimizadas para o Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended --region us-east-1
  ```
+ **Para as AMIs de GPU Amazon Linux 2023 otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2 kernel 5.10 otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2 otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2 kernel 5.10 (arm64) otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2 (arm64) otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended --region us-east-1
  ```
+ **Para as AMIs do kernel 5.10 otimizadas para GPU do Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/recommended --region us-east-1
  ```
+ **Para as AMIs otimizadas para GPU do Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  ```
+ **Para as AMIs do kernel 5.10 do Amazon Linux 2 (Neuron) otimizadas para o Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/recommended --region us-east-1
  ```
+ **Para as AMIs do Amazon Linux 2 (Neuron) otimizadas para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended --region us-east-1
  ```

### Recuperar o ID de imagem da AMI do Amazon Linux 2023 otimizada para Amazon ECS mais recente e recomendada
<a name="ecs-optimized-ami-parameter-examples-6"></a>

É possível recuperar o ID de imagem da AMI do Amazon Linux 2023 otimizada para Amazon ECS mais recente e recomendada usando o subparâmetro `image_id`.

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1
```

Para recuperar o valor `image_id` somente, você pode consultar o valor de parâmetro específico; por exemplo:

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### Recuperar os metadados de uma versão específica da AMI do Amazon Linux 2 otimizada para Amazon ECS
<a name="ecs-optimized-ami-parameter-examples-2"></a>

Recupere os metadados de uma versão específica da AMI do Amazon Linux otimizada para Amazon ECS por meio da AWS CLI, usando o seguinte comando da AWS CLI. Substitua o nome da AMI pelo nome da AMI do Amazon Linux otimizada para Amazon ECS a ser recuperado. 

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20200928-x86_64-ebs --region us-east-1
```

### Recuperação de metadados da AMI do kernel 5.10 do Amazon Linux 2 otimizada para o Amazon ECS usando a API GetParametersByPath do Systems Manager
<a name="ecs-optimized-ami-parameter-examples-3"></a>

Recupere os metadados da AMI do Amazon Linux 2 otimizada para Amazon ECS com a API GetParametersByPath do Systems Manager, usando a AWS CLI com o seguinte comando.

```
aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/ --region us-east-1
```

### Recuperar o ID de imagem da AMI do Amazon Linux 2 com kernel 5.10 otimizada para o Amazon ECS mais recente e recomendada
<a name="ecs-optimized-ami-parameter-examples-4"></a>

É possível recuperar o ID de imagem do ID de AMI do kernel 5.10 do Amazon Linux 2 otimizado para o Amazon ECS recomendado mais recente usando o subparâmetro `image_id`.

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id --region us-east-1
```

Para recuperar o valor `image_id` somente, você pode consultar o valor de parâmetro específico; por exemplo:

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### Usar a mais recente e recomendada AMI otimizada para Amazon ECS em um modelo do CloudFormation
<a name="ecs-optimized-ami-parameter-examples-5"></a>

É possível referenciar a mais recente e recomendada AMI otimizada para Amazon ECS em um modelo do CloudFormation fazendo referência ao nome do armazenamento de parâmetros do Systems Manager.

**Exemplo do Linux**

```
Parameters:kernel-5.10
  LatestECSOptimizedAMI:
    Description: AMI ID
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id
```

# Migrar de um Amazon Linux 2 para uma AMI do Amazon Linux 2023 otimizada para Amazon ECS
<a name="al2-to-al2023-ami-transition"></a>

Após o [Amazon Linux](https://aws.amazon.com/amazon-linux-2/faqs), o Amazon ECS encerrará o suporte padrão para AMIs do Amazon Linux 2 otimizadas para Amazon ECS a partir de 30 de junho de 2026. Após essa data, a versão do agente do Amazon ECS será fixada e as novas AMIs do Amazon Linux 2 otimizadas para Amazon ECS só serão publicadas quando a AMI de origem do Amazon Linux 2 for atualizada. O fim da vida útil (EOL) ocorrerá em 30 de junho de 2026, após o qual nenhuma outra AMI do Amazon Linux 2 otimizada para Amazon ECS será publicada, mesmo que a AMI de origem seja atualizada.

O Amazon Linux 2023 fornece uma abordagem segura por padrão com políticas de segurança pré-configuradas, SELinux no modo permissivo, modo somente IMDSv2 habilitado por padrão, tempos de inicialização otimizados e gerenciamento aprimorado de pacotes para maior segurança e performance.

Há um alto grau de compatibilidade entre as AMIs do Amazon Linux 2 e do Amazon Linux 2023 otimizadas para Amazon ECS, e a maioria dos clientes verá mudanças mínimas, ou nenhuma, em suas workloads entre os dois sistemas operacionais.

Para obter mais informações, consulte [Comparing Amazon Linux 2 and *Amazon Linux 2023*](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html), no *Guia do usuário do Amazon Linux 2023*, e as [Perguntas frequentes sobre o Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/faqs).

## Considerações sobre compatibilidade
<a name="al2-to-al2023-ami-transition-compatibility"></a>

### Gerenciamento de pacotes e atualizações do sistema operacional
<a name="al2-to-al2023-ami-transition-compatibility-package-management"></a>

Diferentemente das versões anteriores do Amazon Linux, as AMIs do Amazon Linux 2023 otimizadas para o Amazon ECS estão bloqueadas em uma versão específica do repositório do Amazon Linux. Isso evita que os usuários atualizem inadvertidamente pacotes que possam trazer alterações indesejadas ou significativas. Para obter mais informações, consulte [Managing repositories and OS updates in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) no *Guia do usuário do Amazon Linux 2023*.

### versão de kernel do Linux
<a name="al2-to-al2023-ami-transition-compatibility-kernel"></a>

As AMIs do Amazon Linux 2 são baseadas nos kernels Linux 4.14 e 5.10, enquanto o Amazon Linux 2023 usa os kernels Linux 6.1 e 6.12. Para obter mais informações, consulte [Comparing Amazon Linux 2 and Amazon Linux 2023 kernels](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2-kernel.html) no *Guia do usuário do Amazon Linux 2023*.

### Alterações na disponibilidade de pacotes
<a name="al2-to-al2023-ami-transition-compatibility-packages"></a>

Confira abaixo as alterações importantes de pacotes no Amazon Linux 2023:
+ Alguns pacotes binários de fontes no Amazon Linux 2 não estão mais disponíveis no Amazon Linux 2023. Para obter mais informações, consulte [Packages removed from Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/removed.html) nas *Notas da versão do Amazon Linux 2023*.
+ Mudanças na forma como o Amazon Linux é compatível com diferentes versões de pacotes. O sistema `amazon-linux-extras` usado no Amazon Linux 2 não existe no Amazon Linux 2023. Todos os pacotes estão simplesmente disponíveis no repositório “principal”.
+ Os pacotes extras para Enterprise Linux (EPEL) não são compatíveis no Amazon Linux 2023. Para obter mais informações, consulte [EPEL compatibility in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/epel.html) no *Guia do usuário do Amazon Linux 2023*.
+ As aplicações de 32 bits não são compatíveis no Amazon Linux 2023. Para obter mais informações, consulte [Deprecated features from Amazon Linux 2](https://docs.aws.amazon.com/linux/al2023/ug/deprecated-al2.html#deprecated-32bit-rpms) no *Guia do usuário do Amazon Linux 2023*.

### Alterações nos grupos de controle (cgroups)
<a name="al2-to-al2023-ami-transition-compatibility-cgroups"></a>

Um grupo de controle (cgroup) é um recurso do kernel Linux para organizar hierarquicamente os processos e distribuir os recursos do sistema entre eles. Os grupos de controle são usados extensivamente para implementar um runtime de contêiner e por `systemd`.

O agente do Amazon ECS, o Docker e o containerd são compatíveis tanto com o cgroupv1 quanto com o cgroupv2. O agente do Amazon ECS e o runtime do contêiner gerenciam os cgroups para você, portanto, os clientes do Amazon ECS não precisam fazer nenhuma alteração nessa atualização de cgroup subjacente.

Para obter mais detalhes sobre o cgroupv2, consulte [Control groups v2 in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/cgroupv2.html) no *Guia do usuário do Amazon Linux 2023.*

### Alterações no serviço de metadados de instância (IMDS)
<a name="al2-to-al2023-ami-transition-compatibility-imds"></a>

O Amazon Linux 2023 requer o serviço de metadados de instância versão 2 (IMDSv2) por padrão. O IMDSv2 tem diversos benefícios que ajudam a aprimorar a postura de segurança. Ele usa um método de autenticação orientado por sessão que requer a criação de um token secreto em uma solicitação HTTP PUT simples para iniciar a sessão. O token de uma sessão pode ter validade de um segundo a seis horas.

Para obter mais informações sobre como fazer a transição do IMDSv1 para o IMDSv2, consulte [Transição para usar o Serviço de metadados da instância versão 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html) no *Guia do usuário do Amazon EC2*.

Se desejar usar o IMDSv1, você ainda poderá fazê-lo ao substituir manualmente as configurações usando as propriedades de inicialização da opção de metadados da instância.

### Alterações na troca de memória
<a name="al2-to-al2023-ami-transition-compatibility-memory-swappiness"></a>

A troca de memória por contêiner não é compatível com o Amazon Linux 2023 e os cgroups v2. Para obter mais informações, consulte [Gerenciar o espaço de memória de troca de contêiner no Amazon ECS](container-swap.md).

### Alterações na validação do FIPS
<a name="al2-to-al2023-ami-transition-compatibility-fips"></a>

O Amazon Linux 2 é certificado sob o FIPS 140-2, e o Amazon Linux 2023 é certificado sob o FIPS 140-3.

Para habilitar o modo FIPS no Amazon Linux 2023, instale os pacotes necessários na sua instância do Amazon EC2 e siga as etapas de configuração usando as instruções em [Enable FIPS Mode on Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/fips-mode.html) no *Guia do usuário do Amazon Linux 2023*.

### Compatibilidade acelerada de instâncias
<a name="al2-to-al2023-ami-transition-compatibility-accelerated"></a>

As AMIs do Amazon Linux 2023 otimizadas para Amazon ECS são compatíveis com os tipos de instâncias aceleradas por GPU e Neuron. Para obter mais informações, consulte [AMIs do Linux otimizadas para o Amazon ECS](ecs-optimized_AMI.md).

## Criar AMIs personalizadas
<a name="al2-to-al2023-ami-transition-custom-ami"></a>

Embora recomendemos migrar para AMIs otimizadas para Amazon ECS oficialmente compatíveis e publicadas para o Amazon Linux 2023, você pode continuar a criar AMIs personalizadas do Amazon Linux 2 otimizadas para Amazon ECS usando os scripts de criação de código aberto usados para criar as variantes do Linux da AMI otimizada para Amazon ECS. Para obter mais informações, consulte [Script de compilação da AMI do Linux otimizada para o Amazon ECS](ecs-ami-build-scripts.md).

## Estratégias de migração
<a name="al2-to-al2023-ami-transition-migration"></a>

Recomendamos criar e implementar um plano de migração que inclua testes completos de aplicações. As seções a seguir descrevem diferentes estratégias de migração com base em como você gerencia sua infraestrutura do Amazon ECS.

### Migração com provedores de capacidade do Amazon ECS
<a name="al2-to-al2023-ami-transition-migration-capacity-providers"></a>

1. Crie um novo provedor de capacidade com um novo modelo de inicialização. Isso deve fazer referência a um grupo do Auto Scaling com um modelo de inicialização semelhante ao seu existente, mas em vez da AMI do Amazon Linux 2 otimizada para Amazon ECS, ele deve especificar uma das variantes do Amazon Linux 2023. Adicione esse novo provedor de capacidade ao seu cluster existente do Amazon ECS.

1. Atualize a estratégia de provedor de capacidade padrão do seu cluster para incluir tanto o provedor de capacidade do Amazon Linux 2 existente quanto o novo provedor de capacidade do Amazon Linux 2023. Comece com um peso maior no provedor do Amazon Linux 2 e um peso menor no provedor do Amazon Linux 2023 (por exemplo, Amazon Linux 2: peso 80, Amazon Linux 2023: peso 20). Isso faz com que o Amazon ECS comece a provisionar instâncias do Amazon Linux 2023 à medida que novas tarefas são agendadas. Verifique se as instâncias estão registradas corretamente e se as tarefas podem ser executadas com êxito nas novas instâncias.

1. Ajuste gradualmente os pesos do provedor de capacidade na estratégia padrão do seu cluster, aumentando o peso do provedor do Amazon Linux 2023 e diminuindo o peso do provedor do Amazon Linux 2 ao longo do tempo (por exemplo, 60/40, depois 40/60 e depois 20/80). Você também pode atualizar as estratégias individuais do provedor de capacidade de serviço para priorizar as instâncias do Amazon Linux 2023. Monitore o posicionamento das tarefas para garantir que elas sejam executadas com êxito nas instâncias do Amazon Linux 2023.

1. Opcionalmente, drene as instâncias de contêineres do Amazon Linux 2 para acelerar a migração de tarefas. Se você tiver capacidade suficiente de substituição do Amazon Linux 2023, poderá drenar manualmente suas instâncias de contêineres do Amazon Linux 2 por meio do console do Amazon ECS ou da AWS CLI para acelerar a transição de suas tarefas do Amazon Linux 2 para o Amazon Linux 2023. Depois que a migração for concluída, remova o provedor de capacidade do Amazon Linux 2 do seu cluster e exclua o grupo do Auto Scaling associado.

### Migração com um grupo do Amazon EC2 Auto Scaling
<a name="al2-to-al2023-ami-transition-migration-asg"></a>

1. Crie um novo grupo do Amazon EC2 Auto Scaling com um novo modelo de inicialização. Isso deve ser semelhante ao seu modelo de inicialização existente, mas em vez da AMI do Amazon Linux 2 otimizada para Amazon ECS, ele deve especificar uma das variantes do Amazon Linux 2023. Esse novo grupo do Auto Scaling pode inicializar instâncias em seu cluster existente.

1. Aumente a escala verticalmente do grupo do Auto Scaling para que você comece a ter instâncias do Amazon Linux 2023 registradas em seu cluster. Verifique se as instâncias estão registradas corretamente e se as tarefas podem ser executadas com êxito nas novas instâncias.

1. Depois de verificar que suas tarefas funcionam no Amazon Linux 2023, aumente a escala verticalmente do grupo do Auto Scaling do Amazon Linux 2023 e, ao mesmo tempo, reduza a escala vertical e gradualmente do grupo do Auto Scaling do Amazon Linux 2, até substituir completamente todas as instâncias do Amazon Linux 2.

1. Se você tiver capacidade suficiente de substituição do Amazon Linux 2023, poderá querer drenar explicitamente suas instâncias de contêineres para acelerar a transição de suas tarefas do Amazon Linux 2 para o Amazon Linux 2023. Para obter mais informações, consulte [Drenagem de instâncias de contêiner do Amazon ECS](container-instance-draining.md).

### Migração com instâncias gerenciadas manualmente
<a name="al2-to-al2023-ami-transition-migration-manual"></a>

1. Inicializar manualmente (ou ajustar scripts que inicializam) novas instâncias do Amazon EC2 usando a AMI do Amazon Linux 2023 otimizada para Amazon ECS em vez do Amazon Linux 2. Certifique-se de que essas instâncias usem os mesmos grupos de segurança, sub-redes, perfis do IAM e configuração de cluster que suas instâncias existentes do Amazon Linux 2. As instâncias devem se registrar automaticamente em seu cluster existente do Amazon ECS após a inicialização.

1. Verifique se as novas instâncias do Amazon Linux 2023 estão sendo registradas com êxito no seu cluster do Amazon ECS e se estão em um estado `ACTIVE`. Teste se as tarefas podem ser agendadas e executadas adequadamente nessas novas instâncias, aguardando o posicionamento natural das tarefas ou interrompendo e iniciando manualmente algumas tarefas para acionar o reagendamento.

1. Substitua gradualmente suas instâncias do Amazon Linux 2 inicializando instâncias adicionais do Amazon Linux 2023, conforme necessário, e, em seguida, drenando e encerrando manualmente as instâncias do Amazon Linux 2, uma a uma. Você pode drenar instâncias por meio do console do Amazon ECS definindo o status `DRAINING` da instância, o que deixará de colocar novas tarefas nela e permitirá que as tarefas existentes sejam concluídas ou reagendadas em outro lugar.

# Script de compilação da AMI do Linux otimizada para o Amazon ECS
<a name="ecs-ami-build-scripts"></a>

O Amazon ECS abriu o código dos scripts de compilação usados para criar as variantes do Linux da AMI otimizada para o Amazon ECS. Esses scripts de compilação agora estão disponíveis no GitHub. Para obter mais informações, consulte [amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami) no GitHub.

Se você precisar personalizar a AMI otimizada para o Amazon ECS, consulte [Amazon ECS Optimized AMI Build Recipies](https://github.com/aws/amazon-ecs-ami) no GitHub.

O repositório de scripts de compilação inclui um modelo do [HashiCorp packer](https://developer.hashicorp.com/packer/docs) e scripts de compilação para gerar cada uma das variantes de Linux da AMI otimizada para o Amazon ECS. Esses scripts são a fonte da verdade para compilações das AMIs otimizadas para o Amazon ECS. Por isso, você pode acompanhar o repositório GitHub para monitorar alterações em nossas AMIs. Por exemplo, talvez você queira que sua AMI use a mesma versão do Docker que a equipe do Amazon ECS usa para a AMI oficial.

Para obter mais informações, consulte o repositório de AMIs do Amazon ECS em [aws/amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami) no GitHub

**Para compilar uma AMI do Linux otimizada para o Amazon ECS**

1. Clone o repositório `aws/amazon-ecs-ami` do GitHub.

   ```
   git clone https://github.com/aws/amazon-ecs-ami.git
   ```

1. Adicione uma variável de ambiente para a região da AWS a ser usada ao criar a AMI. Substitua o valor `us-west-2` com a região a ser usada.

   ```
   export REGION=us-west-2
   ```

1. Um makefile é fornecido para compilar a AMI. A partir do diretório raiz do repositório clonado, use um dos seguintes comandos, correspondente à variante Linux da AMI otimizada para Amazon ECS que você deseja compilar.
   + AMI do Amazon Linux 2 otimizada para Amazon ECS

     ```
     make al2
     ```
   + AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS

     ```
     make al2arm
     ```
   + AMI otimizada para GPU do Amazon ECS

     ```
     make al2gpu
     ```
   + AMI do Amazon Linux 2 (Neuron) otimizada para Amazon ECS

     ```
     make al2inf
     ```
   + AMI do Amazon Linux 2023 otimizada para Amazon ECS

     ```
     make al2023
     ```
   + AMI do Amazon Linux 2023 (arm64) otimizada para Amazon ECS

     ```
     make al2023arm
     ```
   + AMI de GPU Amazon Linux 2023 otimizada para Amazon ECS

     ```
     make al2023gpu
     ```
   + AMI do Amazon Linux 2023 (Neuron) otimizada para Amazon ECS

     ```
     make al2023neu
     ```

# AMIs Bottlerocket otimizadas para Amazon ECS
<a name="ecs-bottlerocket"></a>

O Bottlerocket é um sistema operacional de código aberto baseado no Linux que foi criado pela AWS especificamente para executar contêineres em máquinas virtuais ou hosts bare metal. A AMI Bottlerocket otimizada para Amazon ECS é segura e contém apenas o número mínimo de pacotes necessários para executar contêineres. Isso melhora o uso de recursos, reduz a superfície de ataque de segurança e ajuda a reduzir a sobrecarga de gerenciamento. A AMI Bottlerocket também é integrada ao Amazon ECS para ajudar a reduzir a sobrecarga operacional envolvida na atualização de instâncias de contêineres em um cluster. 

O Bottlerocket difere do Amazon Linux das maneiras a seguir:
+ O Bottlerocket não inclui um gerenciador de pacotes e seu software só pode ser executado como contêineres. As atualizações do Bottlerocket são aplicadas e podem ser revertidas em uma única etapa, o que reduz a probabilidade de erros de atualização.
+ O principal mecanismo para gerenciar hosts do Bottlerocket é com um programador de contêineres. Ao contrário do Amazon Linux, o login em instâncias individuais do Bottlerocket deve ser uma operação pouco frequente apenas para fins avançados de depuração e solução de problemas.

Para obter mais informações sobre o Bottlerocket, consulte a [documentação](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md) e os [comunicados](https://github.com/bottlerocket-os/bottlerocket/releases) no GitHub.

Existem variantes da AMI do Bottlerocket otimizada para o Amazon ECS para o kernel 6.1 e o kernel 5.10.

As seguintes variantes usam o kernel 6.1:
+ `aws-ecs-2`
+ `aws-ecs-2-nvidia`

As seguintes variantes usam o kernel 5.10:
+ `aws-ecs-1`
+ `aws-ecs-1-nvidia`

  Para obter mais informações sobre a variante `aws-ecs-1-nvidia`, consulte [Anúncio do suporte à GPU NVIDIA para Bottlerocket no Amazon ECS](https://aws.amazon.com/blogs/containers/announcing-nvidia-gpu-support-for-bottlerocket-on-amazon-ecs/).

## Considerações
<a name="ecs-bottlerocket-considerations"></a>

Considere o seguinte ao usar uma AMI Bottlerocket com o Amazon ECS.
+ Bottlerocket oferece suporte a instâncias do Amazon EC2 com processadores `x86_64` e `arm64`. O AMI Bottlerocket não é recomendado para uso com instâncias do Amazon EC2 com um chip Inferentia.
+ As imagens do Bottlerocket não incluem um servidor ou shell SSH. No entanto, é possível usar ferramentas de gerenciamento fora de banda para se obter acesso de administrador ao SSH e realizar a inicialização. 

   Para obter mais informações, consulte essas seções no [bottlerocket README.md](https://github.com/bottlerocket-os/bottlerocket) no GitHub:
  + [Exploration (Exploração](https://github.com/bottlerocket-os/bottlerocket#exploration)
  + [Admin container (Contêiner Admin](https://github.com/bottlerocket-os/bottlerocket#admin-container)
+ Por padrão, o Bottlerocket tem um [contêiner de controle](https://github.com/bottlerocket-os/bottlerocket-control-container) que está habilitado. Esse contêiner executa o [agente do AWS Systems Manager](https://github.com/aws/amazon-ssm-agent) que você pode usar para executar comandos ou iniciar sessões de shell em instâncias Bottlerocket do Amazon EC2. Para obter mais informações, consulte [Configurar gerenciador de sessões](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) no *Guia do usuário do AWS Systems Manager*.
+ O Bottlerocket é otimizado para workloads de contêiner e tem foco na segurança. O Bottlerocket não inclui um gerenciador de pacotes e é imutável. 

  Para obter informações sobre as orientações e recursos de segurança, consulte [Recursos de segurança](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_FEATURES.md) e [Orientação de segurança](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_GUIDANCE.md) no GitHub.
+ Há suporte para o modo de rede `awsvpc` para a versão `1.1.0` ou posterior da AMI do Bottlerocket.
+ Há suporte para o App Mesh em uma definição de tarefa para versão `1.15.0` do Bottlerocket AMI ou posterior.
+ O parâmetro de definição de tarefas `initProcessEnabled` é compatível com a versão `1.19.0` ou posterior da AMI do Bottlerocket.
+ As AMIs do Bottlerocket também não oferecem suporte com os serviços e recursos a seguir:
  + ECS Anywhere
  + Service Connect
  + Amazon EFS em modo criptografado
  + Amazon EFS em modo de rede `awsvpc`
  + Os volumes do Amazon EBS não podem ser montados
  + Acelerador de inferência elástica

# Recuperação dos metadados da AMI do Bottlerocket otimizada para o Amazon ECS
<a name="ecs-bottlerocket-retrieve-ami"></a>

É possível recuperar o ID da imagem de máquina da Amazon (AMI) para AMIs otimizadas para o Amazon ECS consultando a API Parameter Store do AWS Systems Manager. Ao usar esse parâmetro, não será necessário pesquisar manualmente IDs de AMIs otimizadas para o Amazon ECS. Para obter mais informações sobre a API Systems Manager Parameter Store, consulte [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html). O usuário que você usou deve ter a permissão `ssm:GetParameter` do IAM para recuperar os metadados da AMI otimizada para o Amazon ECS.

## Variante `aws-ecs-2` da AMI do Bottlerocket
<a name="ecs-bottlerocket-aws-ecs-2-variant"></a>

É possível recuperar a última variante estável da AMI do Bottlerocket `aws-ecs-2` por Região da AWS e arquitetura com a AWS CLI ou o Console de gerenciamento da AWS. 
+ **AWS CLI**: é possível recuperar o ID de imagem da AMI do Bottlerocket otimizada para o Amazon ECS recomendada mais recentemente com o comando AWS CLI a seguir, usando o subparâmetro `image_id`. Substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub. Para recuperar uma versão diferente da mais recente, substitua `latest` pelo número de versão.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    aws ssm get-parameter --region us-east-2 --name "/aws/service/bottlerocket/aws-ecs-2/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    aws ssm get-parameter --region us-east-2 --name "/aws/service/bottlerocket/aws-ecs-2/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Console de gerenciamento da AWS** – É possível consultar o ID da AMI otimizada para o Amazon ECS recomendada, usando um URL no Console de gerenciamento da AWS. O URL abre o console do Amazon EC2 Systems Manager com o valor do ID para o parâmetro. No URL a seguir, substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

   Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2/x86_64/latest/image_id/description?region=region#
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2/arm64/latest/image_id/description?region=region#
    ```

## Variante `aws-ecs-2-nvidia` da AMI do Bottlerocket
<a name="ecs-bottlerocket-aws-ecs-1-nvidia-variants"></a>

É possível recuperar a última variante estável da AMI do Bottlerocket `aws-ecs-2-nvdia` por região e arquitetura com a AWS CLI ou o Console de gerenciamento da AWS. 
+ **AWS CLI**: é possível recuperar o ID de imagem da AMI do Bottlerocket otimizada para o Amazon ECS recomendada mais recentemente com o comando AWS CLI a seguir, usando o subparâmetro `image_id`. Substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

   Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub. Para recuperar uma versão diferente da mais recente, substitua `latest` pelo número de versão.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-2-nvidia/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-2-nvidia/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Console de gerenciamento da AWS** – É possível consultar o ID da AMI otimizada para o Amazon ECS recomendada, usando um URL no Console de gerenciamento da AWS. O URL abre o console do Amazon EC2 Systems Manager com o valor do ID para o parâmetro. No URL a seguir, substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    https://regionconsole.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2-nvidia/x86_64/latest/image_id/description?region=region#
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    https://regionconsole.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-2-nvidia/arm64/latest/image_id/description?region=region#
    ```

## Variante `aws-ecs-1` da AMI do Bottlerocket
<a name="ecs-bottlerocket-aws-ecs-1-variant"></a>

É possível recuperar a última variante estável da AMI do Bottlerocket `aws-ecs-1` por Região da AWS e arquitetura com a AWS CLI ou o Console de gerenciamento da AWS. 
+ **AWS CLI**: é possível recuperar o ID de imagem da AMI do Bottlerocket otimizada para o Amazon ECS recomendada mais recentemente com o comando AWS CLI a seguir, usando o subparâmetro `image_id`. Substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub. Para recuperar uma versão diferente da mais recente, substitua `latest` pelo número de versão.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Console de gerenciamento da AWS** – É possível consultar o ID da AMI otimizada para o Amazon ECS recomendada, usando um URL no Console de gerenciamento da AWS. O URL abre o console do Amazon EC2 Systems Manager com o valor do ID para o parâmetro. No URL a seguir, substitua a `region` pelo código da região para o qual você deseja o ID da AMI.

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    https://region.console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1/x86_64/latest/image_id/description
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    https://region.console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id/description
    ```

## Variante `aws-ecs-1-nvidia` da AMI do Bottlerocket
<a name="ecs-bottlerocket-aws-ecs-1-nvidia-variants"></a>

É possível recuperar a última variante estável da AMI do Bottlerocket `aws-ecs-1-nvdia` por região e arquitetura com a AWS CLI ou o Console de gerenciamento da AWS. 
+ **AWS CLI**: é possível recuperar o ID de imagem da AMI do Bottlerocket otimizada para o Amazon ECS recomendada mais recentemente com o comando AWS CLI a seguir, usando o subparâmetro `image_id`. Substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/latest/image_id" --query Parameter.Value --output text
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    aws ssm get-parameter --region us-east-1 --name "/aws/service/bottlerocket/aws-ecs-1-nvidia/arm64/latest/image_id" --query Parameter.Value --output text
    ```
+ **Console de gerenciamento da AWS** – É possível consultar o ID da AMI otimizada para o Amazon ECS recomendada, usando um URL no Console de gerenciamento da AWS. O URL abre o console do Amazon EC2 Systems Manager com o valor do ID para o parâmetro. No URL a seguir, substitua a `region` pelo código da região para o qual você deseja o ID da AMI. 

  Para obter informações sobre as Regiões da AWS com suporte, consulte [Encontrar uma AMI](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md#finding-an-ami) no GitHub.
  + Para a arquitetura de 64 bits (`x86_64`):

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/latest/image_id/description?region=region#
    ```
  + Para a arquitetura Arm de 64 bits (`arm64`):

    ```
    https://console.aws.amazon.com/systems-manager/parameters/aws/service/bottlerocket/aws-ecs-1-nvidia/arm64/latest/image_id/description?region=region#
    ```

## Próximas etapas
<a name="bottlerocket-next-steps"></a>

Para obter um tutorial detalhado sobre como começar a usar o sistema operacional Bottlerocket no Amazon ECS, consulte [Usar uma AMI do Bottlerocket com o Amazon ECS](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md) no GitHub e [Conceitos básicos do Bottlerocket e do Amazon ECS](https://aws.amazon.com/blogs/containers/getting-started-with-bottlerocket-and-amazon-ecs/), no site do blog da AWS.

Para obter mais informações sobre como executar uma instância do Bottlerocket, consulte [Iniciar uma instância do Bottlerocket para o Amazon ECS](bottlerocket-launch.md)

# Iniciar uma instância do Bottlerocket para o Amazon ECS
<a name="bottlerocket-launch"></a>

Você pode executar uma instância do Bottlerocket para executar as workloads de contêiner.

É possível usar a AWS CLI para executar a instância do Bottlerocket.

1. Crie um arquivo chamado `userdata.toml`. Esse arquivo será usado para dados do usuário da instância. Substitua *cluster-name* pelo nome do seu cluster.

   ```
   [settings.ecs]
   cluster = "cluster-name"
   ```

1. Use um dos comandos incluídos em [Recuperação dos metadados da AMI do Bottlerocket otimizada para o Amazon ECS](ecs-bottlerocket-retrieve-ami.md) para obter o ID da AMI do Bottlerocket. Você usará isso na etapa a seguir.

1. Execute o comando a seguir para iniciar a instância do Bottlerocket. Lembre-se de substituir os parâmetros a seguir:
   + Substitua *sub-rede* pelo ID da sub-rede pública ou privada na qual sua instância será iniciada.
   + Substitua *bottlerocket\$1ami* pelo ID da AMI da etapa anterior.
   + Substitua *t3.large* pelo tipo de instância que você deseja usar.
   + Substitua *região* pelo código da região.

   ```
   aws ec2 run-instances --key-name ecs-bottlerocket-example \
      --subnet-id subnet \
      --image-id bottlerocket_ami \
      --instance-type t3.large \
      --region region \
      --tag-specifications 'ResourceType=instance,Tags=[{Key=bottlerocket,Value=example}]' \
      --user-data file://userdata.toml \
      --iam-instance-profile Name=ecsInstanceRole
   ```

1. Execute o comando a seguir para verificar se a instância de contêiner está registrada no cluster. Ao executar esse comando, lembre-se de substituir os parâmetros a seguir:
   + Substitua *cluster* pelo nome do seu cluster.
   + Substitua *região* pelo código da sua região.

   ```
   aws ecs list-container-instances --cluster cluster-name --region region
   ```

Para obter uma demonstração detalhada dos conceitos básicos do sistema operacional Bottlerocket no Amazon ECS, consulte [Usar uma AMI do Bottlerocket com o Amazon ECS](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-ECS.md) no GitHub e Conceitos básicos do [Bottlerocket e do ECS](https://aws.amazon.com/blogs/containers/getting-started-with-bottlerocket-and-amazon-ecs/), no site do blog da AWS.

# Gerenciamento de instâncias de contêiner do Linux no Amazon ECS
<a name="manage-linux"></a>

Ao usar as instâncias do EC2 para workloads do Amazon ECS, você é responsável pela manutenção das instâncias

**Topics**
+ [Iniciar uma instância de contêiner](launch_container_instance.md)
+ [Inicialização de instâncias de contêiner do Linux](bootstrap_container_instance.md)
+ [Configuração de instâncias de contêiner para receber avisos de instância spot](spot-instance-draining-linux-container.md)
+ [Execução de um script ao iniciar uma instância de contêiner](start_task_at_launch.md)
+ [Aumento das interfaces de rede de instâncias de contêiner do Linux no Amazon ECS](container-instance-eni.md)
+ [Reserva de memória da instância de contêiner](memory-management.md)
+ [Gerenciar remotamente instâncias de contêiner](ec2-run-command.md)
+ [Uso de um proxy HTTP para instâncias de contêiner do Linux](http_proxy_config.md)
+ [Configuração de instâncias inicializadas previamente para o grupo do Auto Scaling](using-warm-pool.md)
+ [Atualizar o agente de contêiner do Amazon ECS](ecs-agent-update.md)

Cada agente de contêiner do Amazon ECS oferece suporte a um conjunto diferente de recursos e fornece correções de erros de versões anteriores. Quando possível, sempre recomendamos usar a versão mais recente do agente de contêiner do Amazon ECS. Para atualizar o agente de contêiner para a versão mais recente, consulte [Atualizar o agente de contêiner do Amazon ECS](ecs-agent-update.md).

Para ver quais recursos e aprimoramentos estão incluídos em cada versão de agente, consulte [https://github.com/aws/amazon-ecs-agent/releases](https://github.com/aws/amazon-ecs-agent/releases).

**Importante**  
A versão mínima do Docker para métricas confiáveis é a versão Docker `v20.10.13` e posteriores, que está incluída na AMI otimizada para o Amazon ECS `20220607` e posteriores.  
As versões `1.20.0` e posteriores do agente do Amazon ECS descontinuaram o suporte para as versões do Docker anteriores à `18.01.0`.

# Iniciar uma instância de contêiner do Linux do Amazon ECS
<a name="launch_container_instance"></a>

É possível criar instâncias de contêiner do Amazon ECS usando o console do Amazon EC2. 

É possível iniciar uma instância usando vários métodos, incluindo o console do Amazon EC2, a AWS CLI e o SDK. Para obter informações sobre outros métodos de inicialização de uma instância, consulte [Iniciar uma instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) no *Manual do usuário do Amazon EC2*.

Para obter mais informações sobre o assistente de inicialização, consulte [Iniciar uma instância usando o novo assistente de inicialização de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) no *Manual do usuário do Amazon EC2*. 

Antes de começar, conclua as etapas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).

É possível usar o assistente do Amazon EC2 para iniciar uma instância. O assistente de lançamento de instâncias especifica todos os parâmetros de início necessários para iniciar uma instância. 

**Topics**
+ [Procedimento](#linux-liw-initiate-instance-launch)
+ [Nome e tags](#linux-liw-name-and-tags)
+ [Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon)](#linux-liw-ami)
+ [Tipo de instância](#linux-liw-instance-type)
+ [Par de chaves (login)](#linux-liw-key-pair)
+ [Configurações de rede](#linux-liw-network-settings)
+ [Configurar armazenamento](#linux-liw-storage)
+ [Detalhes avançados](#linux-liw-advanced-details)

## Procedimento
<a name="linux-liw-initiate-instance-launch"></a>

Antes de começar, conclua as etapas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Na barra de navegação na parte superior da tela, a região atual AWS é exibida [por exemplo, Leste dos EUA (Ohio)]. Selecione uma região na qual a instância será iniciada. 

1. No painel do console do Amazon EC2, selecione **Launch instance (Executar instância)**.

## Nome e tags
<a name="linux-liw-name-and-tags"></a>

O nome da instância é uma tag em que a chave é **Name** (Nome) e o valor é o nome que você especificar. É possível aplicar tags na instância, sos volumes e nos elementos gráficos elásticos. Para instâncias spot, é possível marcar apenas a solicitação de instância spot. 

A especificação de um nome de instância e de tags adicionais é opcional.
+ Em **Name** (Nome), insira um nome descritivo para a instância. Se você não especificar um nome, a instância poderá ser identificada por seu ID, que é gerado automaticamente quando você inicia a instância.
+ Para adicionar mais tags, selecione **Add additional tag** (Adicionar outra tag). Escolha **Add tag** (Adicionar tag), insira uma chave e um valor, e selecione o tipo de recurso a aplicar a tag. Escolha **Add tag** (Adicionar tag) para cada tag adicional a acrescentar.

## Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon)
<a name="linux-liw-ami"></a>

Uma imagem de máquina da Amazon (AMI) contém as informações necessárias para criar uma instância. Por exemplo, uma AMI pode conter o software necessário para atuar como servidor Web, por exemplo, Apache e seu site.

Use a barra **Search** (Pesquisa) para encontrar uma AMI otimizada para o Amazon ECS publicada pela AWS.

1. Insira um dos seguintes termos na barra **Search** (Pesquisa).
   + **ami-ecs**
   + O **Value** (Valor) de uma AMI otimizada para o Amazon ECS.

     Para obter as mais recentes AMIs otimizadas para o Amazon ECS e seus valores, consulte [AMI do Linux otimizada para o Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux).

1. Pressione **Enter**.

1. Na página **Escolher uma imagem de máquina da Amazon AMI)**, selecione a guia **AMIs do AWS Marketplace**.

1. No painel esquerdo **Refine results** (Refinar os resultados), selecione **Amazon Web Services** como o **Publisher** (Editor).

1. Escolha **Select** (Selecionar) na linha da AMI que você deseja usar.

   Como alternativa, escolha **Cancel** (Cancelar) (no canto superior direito) para retornar ao assistente de inicialização de instância sem escolher uma AMI. Uma AMI padrão será selecionada. Confirme se a AMI atende aos requisitos descritos nas [AMIs do Linux otimizadas para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html).

## Tipo de instância
<a name="linux-liw-instance-type"></a>

O tipo de instância define a configuração do hardware e o tamanho da instância. Os tipos de instâncias maiores têm mais CPU e memória. Para ter mais informações, consulte [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html), no *Guia do usuário do Amazon EC2*. Se você quiser executar uma workload somente IPv6, certos tipos de instância não oferecem suporte a endereços IPv6. Para obter mais informações, consulte [Endereços IPv6](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ipv6-addressing) no *Guia do usuário do Amazon EC2*.
+ Em **Instance type** (Tipo de instância), selecione o tipo de instância da instância. 

   O tipo de instância que você selecionar determinará os recursos disponíveis para execução de suas tarefas.

## Par de chaves (login)
<a name="linux-liw-key-pair"></a>

Em **Key pair name** (Nome do par de chaves), escolha um par de chaves existente ou escolha **Create new key pair** (Criar um novo par de chaves) para criar um novo. 

**Importante**  
Se você escolher a opção **Proceed without key pair (Not recommended)** (Prosseguir sem par de chaves, não recomendado), não conseguirá se conectar à instância a menos que escolha uma AMI configurada para permitir que os usuários façam login de outro modo.

## Configurações de rede
<a name="linux-liw-network-settings"></a>

Defina as configurações de rede conforme necessário depois de escolher o botão **Editar** na seção **Configurações de rede** do formulário.
+ Em **VPC** escolha a VPC na qual você deseja inicializar a instância. Para executar uma workload somente IPv6, escolha uma VPC de pilha dupla que inclua blocos CIDR IPv4 e IPv6.
+ Em **Sub-rede**, escolha a sub-rede na qual deseja inicializar a instância. É possível inicializar uma instância em uma sub-rede associada a uma zona de disponibilidade, a uma zona local, a uma zona Wavelength ou a um Outpost.

  Para iniciar a instância em uma zona de disponibilidade, selecione a sub-rede na qual a instância será iniciada. Para criar uma nova sub-rede, escolha **Create new subnet (Criar nova sub-rede)** para acessar o console da Amazon VPC. Quando tiver concluído, retorne ao assistente de inicialização da instância e escolha o ícone Refresh (Atualizar) para carregar sua sub-rede na lista.

  Para iniciar a instância em uma zona local, selecione uma sub-rede que você criou na zona local. 

  Para iniciar uma instância em um Outpost, selecione uma sub-rede em uma VPC associada ao Outpost.

  Para executar uma workload somente IPv6, escolha uma sub-rede que inclua apenas um bloco CIDR IPv6.
+ **Auto-assign Public IP** (Atribuir IP público automaticamente): se sua instância tiver de ser acessada pela Internet pública, verifique se o campo **Auto-assign Public IP** (Atribuir IP público automaticamente) está definido como **Enable** (Habilitar). Em caso negativo, defina esse campo como **Disable** (Desabilitar).
**nota**  
Instâncias de contêiner precisam de acesso para se comunicar com o endpoint do serviço do Amazon ECS. Isso pode ser feito por meio de uma interface do endpoint da VPC ou por meio dos recursos de computação das instâncias de contêiner que tenham endereços IP públicos.  
Para saber mais sobre endpoints da VPC de interface, consulte [Endpoints da VPC de interface do Amazon ECS (AWS PrivateLink)](vpc-endpoints.md).  
Se você não tiver um endpoint da VPC de interface configurado e suas instâncias de contêiner não tiverem endereços IP públicos, elas deverão usar a conversão de endereço de rede (NAT) para fornecer esse acesso. 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* e [Uso de um proxy HTTP para instâncias de contêiner do Linux no Amazon ECS](http_proxy_config.md) neste guia. 
+ Se você escolher uma VPC dual-stack e uma sub-rede somente IPv6, em **Atribuir automaticamente IP IPv6**, escolha **Habilitar**.
+ **Firewall (security groups)** (Firewall, grupos de segurança): use um grupo de segurança para definir regras de firewall da sua instância de contêiner. Essas regras especificam qual tráfego de rede de entrada será fornecido para sua instância de contêiner. Todo o tráfego é ignorado. 
  + Para selecionar um grupo de segurança existente, escolha **Select an existing security group** (Selecionar um grupo de segurança existente) e escolha o grupo de segurança criado em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).
+ Se você estiver inicializando a instância para uma workload somente IPv6, escolha **Configuração de rede avançada** e, em **Atribuir IP IPv6 primário**, escolha **Sim**.
**nota**  
Sem um endereço IPv6 primário, as tarefas executadas na instância de contêiner nos modos de rede host ou ponte não serão registradas nos balanceadores de carga ou no AWS Cloud Map.

## Configurar armazenamento
<a name="linux-liw-storage"></a>

A AMI que você selecionou inclui um ou mais volumes de armazenamento, incluindo o volume raiz. É possível especificar volumes adicionais a serem anexados à instância.

É possível usar a exibição **Simple** (Simples).
+ **Storage type** (Tipo de armazenamento): configure o armazenamento para a sua instância de contêiner.

  Se você estiver usando a AMI do Amazon Linux 2 otimizada para Amazon ECS, sua instância terá um único volume de 30 GiB configurado, que é compartilhado entre o sistema operacional e o Docker.

  Se você estiver usando a AMI otimizada para Amazon ECS, a instância terá dois volumes configurados. O volume **Raiz** é para uso do sistema operacional e o segundo volume do Amazon EBS (anexado a `/dev/xvdcz`) é para uso do Docker.

  Você também pode aumentar ou diminuir os tamanhos de volumes para a sua instância para atender às necessidades dos seus aplicativos.

## Detalhes avançados
<a name="linux-liw-advanced-details"></a>

Em **Advanced details (Detalhes avançados)**, expanda a seção para visualizar os campos e especifique quaisquer parâmetros adicionais para a instância.
+ **Purchasing option (Opção de compra)**: escolha **Request Spot instances** (Solicitar instâncias Spot) para solicitar instâncias Spot. Também é necessário definir os outros campos relacionados a instâncias spot. Para obter mais informações, consulte [Solicitações de instâncias spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html).
**nota**  
Se você estiver usando instâncias spot e vir uma mensagem `Not available`, pode ser necessário escolher um tipo de instância diferente.
+ **IAM instance profile** (Perfil de instância do IAM): selecione a função do IAM de instância de contêiner. Isso geralmente é chamado de `ecsInstanceRole`.
**Importante**  
Se você não iniciar a instância de contêiner com as permissões apropriadas do IAM, o agente do Amazon ECS não poderá se conectar ao cluster. Para obter mais informações, consulte [Função do IAM de instância de contêiner do Amazon ECS](instance_IAM_role.md).
+ **Dados do usuário**: configure a instância de contêiner do Amazon ECS com os dados do usuário, como as variáveis de ambiente de agente de [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md). Os scripts de dados do usuário do Amazon EC2 são executados apenas uma vez, quando a instância é iniciada pela primeira vez. Veja a seguir exemplos comuns de quais dados do usuário são usados.
  + Por padrão, sua instância de contêiner é executada em seu cluster padrão. Para executar em um cluster que não seja padrão, escolha a lista **Detalhes avançados**. Em seguida, cole o seguinte script no campo **Dados do usuário** substituindo *your\$1cluster\$1name* pelo nome do seu cluster.

    ```
    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    ```
  + Se você tiver um arquivo `ecs.config` no Amazon S3 e tiver habilitado o acesso somente leitura do Amazon S3 à função de instância de contêiner, escolha a lista **Advanced Details** (Detalhes avançados). Em seguida, cole o seguinte script no campo **User data (Dados do usuário)** substituindo *your\$1bucket\$1name* pelo nome do seu bucket para instalar a AWS CLI e gravar seu arquivo de configuração no momento da inicialização. 
**nota**  
Para saber mais sobre essa configuração, consulte [Armazenamento da configuração da instância de contêiner do Amazon ECS no Amazon S3](ecs-config-s3.md).

    ```
    #!/bin/bash
    yum install -y aws-cli
    aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    ```
  + Especifique tags para sua instância de contêiner usando o parâmetro de configuração `ECS_CONTAINER_INSTANCE_TAGS`. Isso cria etiquetas associadas somente ao Amazon ECS, elas não podem ser listadas usando a API do Amazon EC2.
**Importante**  
Se você iniciar as instâncias de contêiner usando um grupo do Amazon EC2 Auto Scaling, deverá usar o parâmetro de configuração do agente ECS\$1CONTAINER\$1INSTANCE\$1TAGS para adicionar etiquetas. Isso é decorrente da maneira como as etiquetas são adicionadas às instâncias do Amazon EC2 que são iniciadas por meio de grupos do Auto Scaling.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
    EOF
    ```
  + Especifique etiquetas para a instância de contêiner e use o parâmetro de configuração `ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM` para propagá-las do Amazon EC2 para o Amazon ECS

    Veja a seguir um exemplo de um script de dados do usuário que poderia propagar as tags associadas a uma instância de contêiner, bem como registrar a instância do contêiner com um cluster denominado `your_cluster_name`.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance
    EOF
    ```
  + Por padrão, o agente de contêiner do Amazon ECS tentará detectar a compatibilidade da instância de contêiner com uma configuração somente IPv6 examinando as rotas IPv4 e IPv6 padrão da instância. Para substituir esse comportamento, você pode definir o parâmetro ` ECS_INSTANCE_IP_COMPATIBILITY` como `ipv4` ou `ipv6` no arquivo `/etc/ecs/ecs.config` da instância.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_INSTANCE_IP_COMPATIBILITY=ipv6
    EOF
    ```

  Para obter mais informações, consulte [Inicialização de instâncias de contêiner do Linux no Amazon ECS para transmitir dados](bootstrap_container_instance.md).

# Inicialização de instâncias de contêiner do Linux no Amazon ECS para transmitir dados
<a name="bootstrap_container_instance"></a>

Ao iniciar uma instância do Amazon EC2, é possível transmitir dados do usuário para a instância do EC2. Os dados podem ser usados para realizar tarefas de configuração automatizadas em comum e até mesmo executar scripts na inicialização da instância. Para o Amazon ECS, os casos de uso mais comuns para dados de usuário devem transmitir informações de configuração para o daemon do Docker e o agente de contêiner do Amazon ECS.

É possível transmitir vários tipos de dados de usuário para o Amazon EC2, inclusive boothooks de nuvem, scripts de shell e diretivas `cloud-init`. Para obter mais informações sobre esses e outros tipos de formato, consulte a documentação [Cloud-Init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Para transmitir os dados do usuário ao usar o assistente de inicialização do Amazon EC2, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

É possível configurar a instância de contêiner para transmitir dados na configuração do agente de contêiner ou na configuração do daemon do Docker.

## Agente do contêiner do Amazon ECS
<a name="bootstrap_container_agent"></a>

As variantes do Linux da AMI otimizada para Amazon ECS procuram os dados da configuração do agente no arquivo `/etc/ecs/ecs.config` quando o agente de contêiner é iniciado. É possível especificar esses dados de configuração na inicialização com os dados de usuário do Amazon EC2. Para obter mais informações sobre as variáveis ​​de configuração do agente de contêiner do Amazon ECS disponíveis, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).

Para definir apenas uma única variável de configuração do agente, como o nome do cluster, use **echo** a fim de copiar a variável para o arquivo de configuração:

```
#!/bin/bash
echo "ECS_CLUSTER=MyCluster" >> /etc/ecs/ecs.config
```

Caso você tenha várias variáveis a serem gravadas em `/etc/ecs/ecs.config`, use o formato `heredoc` a seguir. Esse formato grava tudo entre as linhas que começam com **cat** e `EOF` no arquivo de configuração.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENGINE_AUTH_TYPE=docker
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
ECS_LOGLEVEL=debug
ECS_WARM_POOLS_CHECK=true
EOF
```

Para definir atributos de instância personalizados, defina a variável de ambiente `ECS_INSTANCE_ATTRIBUTES`.

```
#!/bin/bash
cat <<'EOF' >> ecs.config
ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"}
EOF
```

## Daemon do Docker
<a name="bootstrap_docker_daemon"></a>

É possível especificar informações de configuração do daemon do Docker com os dados de usuário do Amazon EC2. Para mais informações sobre as opções de configuração, consulte [a documentação de daemon do Docker](https://docs.docker.com/reference/cli/dockerd/).

**nota**  
A AWS não oferece suporte a configurações personalizadas do Docker, pois ocasionalmente elas podem entrar em conflito com futuras alterações ou recursos do Amazon ECS sem aviso prévio.

No exemplo abaixo, as opções personalizadas são adicionadas ao arquivo de configuração do daemon do Docker, `/etc/docker/daemon.json`, que é então especificado nos dados de usuário quando a instância é iniciada.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"debug": true}
EOF
systemctl restart docker --no-block
```

No exemplo abaixo, as opções personalizadas são adicionadas ao arquivo de configuração do daemon do Docker, `/etc/docker/daemon.json`, que é então especificado nos dados de usuário quando a instância é iniciada. Este exemplo mostra como desabilitar o docker-proxy no arquivo de configuração do daemon do Docker.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"userland-proxy": false}
EOF
systemctl restart docker --no-block
```

# Configuração de instâncias de contêiner do Linux no Amazon ECS para receber avisos de instância spot
<a name="spot-instance-draining-linux-container"></a>

O Amazon EC2 encerra, interrompe ou coloca a instância spot em hibernação quando o preço spot excede o preço máximo da solicitação ou a capacidade não está mais disponível. O Amazon EC2 fornece um aviso de interrupção de dois minutos de instância spot para ações de terminar e interromper. Ele não fornece o aviso de dois minutos para a ação de hibernação. Se a drenagem da instância spot do Amazon ECS estiver ativada na instância, o Amazon ECS receberá o aviso de interrupção da instância spot e atribuirá a instância ao status `DRAINING`. 

**Importante**  
O Amazon ECS não recebe um aviso do Amazon EC2 quando as instâncias são removidas pelo rebalanceamento de capacidade do Auto Scaling. Para obter mais informações, consulte [Rebalanceamento de capacidade do Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html).

Quando uma instância de contêiner é definida como `DRAINING`, o Amazon ECS impede que novas tarefas sejam programadas para posicionamento na instância de contêiner. As tarefas de serviço nas instâncias de contêiner de drenagem que estão com o status de `PENDING` são interrompidas imediatamente. Se houver instâncias de contêiner no cluster disponíveis, as tarefas de serviço de substituição serão iniciadas nelas.

Por padrão, a drenagem de instância spot está desativada. 

É possível ativar a drenagem de instância spot ao iniciar uma instância. Adicione o script apresentado a seguir ao campo **Dados do usuário**. Substitua *MyCluster* pelo nome do cluster no qual deseja registrar a instância de contêiner.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
EOF
```

Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

**Para ativar a drenagem de instâncias spot para uma instância de contêiner existente**

1. Conecte-se à instância spot pelo SSH.

1. Edite o arquivo `/etc/ecs/ecs.config` e adicione o seguinte:

   ```
   ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
   ```

1. Reinicie o serviço `ecs`.
   + Para a AMI do Amazon Linux 2 otimizada para o Amazon ECS:

     ```
     sudo systemctl restart ecs
     ```

1. (Opcional) É possível verificar se o agente está em execução e consultar algumas informações sobre sua nova instância de contêiner consultando a operação da API de introspecção do agente. Para obter mais informações, consulte [Introspecção de contêiner do Amazon ECS](ecs-agent-introspection.md).

   ```
   curl http://localhost:51678/v1/metadata
   ```

# Execução de um script ao iniciar uma instância de contêiner do Linux no Amazon ECS
<a name="start_task_at_launch"></a>

Talvez seja necessário executar um contêiner específico em cada instância de contêiner para lidar com operações ou questões de segurança, como monitoramento, segurança, métricas, descoberta de serviços ou registros em log.

Para fazer isso, você pode configurar suas instâncias de contêiner de forma que elas chamem o comando **docker run** com esse script de dados de usuário na execução ou em algum sistema init como Upstart ou **systemd**. Quando esse método funciona, existem algumas desvantagens, pois o Amazon ECS não tem qualquer conhecimento de contêiner e não pode monitorar a CPU, a memória, as portas ou quaisquer outros recursos utilizados. Para garantir que o Amazon ECS possa assumir adequadamente todos os recursos de tarefas, crie uma definição de tarefa para que o contêiner seja executado nas instâncias de contêiner. Em seguida, use o Amazon ECS para trazer a tarefa até o momento da inicialização com dados de usuário do Amazon EC2.

No procedimento a seguir, o script de dados de usuário do Amazon EC2 usa a API de introspecção do Amazon ECS para identificar a instância de contêiner. Em seguida, ele usa a AWS CLI e o comando **start-task** para executar uma tarefa específica nele durante o startup. 

**Para iniciar uma tarefa no momento da execução da instância de contêiner**

1. Modifique a função do IAM `ecsInstanceRole` para adicionar permissões para a operação de API `StartTask`. Para obter mais informações, 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*.

1. Inicie uma ou mais instâncias de contêiner usando a AMI do Amazon Linux 2 otimizada para o Amazon ECS. Inicie novas instâncias de contêiner e use o script de exemplo apresentado a seguir nos dados do usuário do EC2. Substitua *your\$1cluster\$1name* pelo cluster no qual a instância de contêiner será registrada e *my\$1task\$1def* pela definição de tarefa a ser executada na instância na inicialização. 

   Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).
**nota**  
O conteúdo MIME de várias partes abaixo usa um script de shell para definir valores de configuração e instalar os pacotes. Ele também usa um trabalho systemd para iniciar a tarefa depois que o serviço **ecs** estiver em execução e a API de introspecção ficar disponível.

   ```
   Content-Type: multipart/mixed; boundary="==BOUNDARY=="
   MIME-Version: 1.0
   
   --==BOUNDARY==
   Content-Type: text/x-shellscript; charset="us-ascii"
   
   #!/bin/bash
   # Specify the cluster that the container instance should register into
   cluster=your_cluster_name
   
   # Write the cluster configuration variable to the ecs.config file
   # (add any other configuration variables here also)
   echo ECS_CLUSTER=$cluster >> /etc/ecs/ecs.config
   
   START_TASK_SCRIPT_FILE="/etc/ecs/ecs-start-task.sh"
   cat <<- 'EOF' > ${START_TASK_SCRIPT_FILE}
   	exec 2>>/var/log/ecs/ecs-start-task.log
   	set -x
   	
   	# Install prerequisite tools
   	yum install -y jq aws-cli
   	
   	# Wait for the ECS service to be responsive
   	until curl -s http://localhost:51678/v1/metadata
   	do
   		sleep 1
   	done
   
   	# Grab the container instance ARN and AWS Region from instance metadata
   	instance_arn=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F/ '{print $NF}' )
   	cluster=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .Cluster' | awk -F/ '{print $NF}' )
   	region=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F: '{print $4}')
   
   	# Specify the task definition to run at launch
   	task_definition=my_task_def
   
   	# Run the AWS CLI start-task command to start your task on this container instance
   	aws ecs start-task --cluster $cluster --task-definition $task_definition --container-instances $instance_arn --started-by $instance_arn --region $region
   EOF
   
   # Write systemd unit file
   UNIT="ecs-start-task.service"
   cat <<- EOF > /etc/systemd/system/${UNIT}
         [Unit]
         Description=ECS Start Task
         Requires=ecs.service
         After=ecs.service
    
         [Service]
         Restart=on-failure
         RestartSec=30
         ExecStart=/usr/bin/bash ${START_TASK_SCRIPT_FILE}
   
         [Install]
         WantedBy=default.target
   EOF
   
   # Enable our ecs.service dependent service with `--no-block` to prevent systemd deadlock
   # See https://github.com/aws/amazon-ecs-agent/issues/1707
   systemctl enable --now --no-block "${UNIT}"
   --==BOUNDARY==--
   ```

1. Verifique se as suas instâncias de contêiner são executadas no cluster correto e se as suas tarefas foram iniciadas.

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

   1. Na barra de navegação, selecione a região em que seu cluster está localizado.

   1. No painel de navegação, escolha **Clusters** e selecione o cluster que hospeda as suas instâncias de contêiner.

   1. Na página **Cluster**, escolha **Tarefas** e, em seguida, escolha suas tarefas.

      Cada instância de contêiner que você executou deve ter sua tarefa em execução nela.

      Se você não vir suas tarefas, faça login em suas instâncias de contêiner com SSH e verifique o arquivo `/var/log/ecs/ecs-start-task.log` para obter informações de depuração.

# Aumento das interfaces de rede de instâncias de contêiner do Linux no Amazon ECS
<a name="container-instance-eni"></a>

**nota**  
Esse recurso não está disponível no Fargate.

Cada tarefa que usa o modo de rede `awsvpc` recebe sua própria interface de rede elástica (ENI), que está conectada à instância de contêiner que a hospeda. Existe um limite padrão para o número de interfaces de rede que podem ser anexadas a uma instância do Amazon EC2, e a interface de rede primária conta como uma delas. Por exemplo, por padrão, uma instância `c5.large` pode ter até três ENIs associadas a ela. A interface de rede principal para a instância conta como uma, por isso você pode associar mais duas ENIs à instância. Como cada tarefa que usa o modo de rede `awsvpc` exige uma ENI, em geral, você pode executar somente duas dessas tarefas nesse tipo de instância.

O Amazon ECS oferece suporte à execução de instâncias de contêiner com maior densidade de ENI usando tipos de instâncias do Amazon EC2 compatíveis. Quando você usa esses tipos de instância e ativa a configuração da conta `awsvpcTrunking`, ENIs adicionais ficam disponíveis em instâncias de contêiner iniciadas recentemente. Essa configuração permite que você coloque mais tarefas em cada instância de contêiner. Para usar o console para ativar o recurso, consulte [Modificar configurações de conta do Amazon ECS](ecs-modifying-longer-id-settings.md). Para usar a AWS CLI para ativar o recurso, consulte [Gerenciar configurações de conta do Amazon ECS usando o AWS CLI](account-setting-management-cli.md). 

Por exemplo, uma instância `c5.large` com `awsvpcTrunking` tem um limite de ENI aumentado para doze. A instância de contêiner terá a interface de rede prmária e o Amazon ECS cria e anexa uma interface de rede "tronco" à instância de contêiner. Portanto, essa configuração permite que você inicie 10 tarefas na instância de contêiner, em vez das duas tarefas atuais.

A interface de rede tronco é totalmente gerenciada pelo Amazon ECS e é excluída quando você encerra ou cancela o registro da instância de contêiner do cluster. Para obter mais informações, consulte [Opções da rede de tarefas do Amazon ECS para o EC2](task-networking.md).

## Considerações
<a name="eni-trunking-considerations"></a>

Considere as informações apresentadas a seguir ao usar o recurso de entroncamento de ENI.
+ Somente variantes do Linux da AMI otimizada para o Amazon ECS ou outras variantes do Amazon Linux com a versão `1.28.1` ou posterior do agente de contêiner e a versão `1.28.1-2` ou posterior do pacote ecs-init oferecem suporte a limites maiores de ENI. Se você usar a variante do Linux mais recente da AMI otimizada para Amazon ECS, esses requisitos serão atendidos. Os contêineres do Windows não são suportados no momento.
+ Somente novas instâncias do Amazon EC2 executadas depois de habilitar `awsvpcTrunking` recebem o aumento de limites de ENI e a interface de rede de truncamento. Instâncias executadas anteriormente não recebem esses recursos, independentemente das ações executadas.
+ As instâncias do Amazon EC2 devem ter solicitações de DNS de IPv4 baseadas em recursos desativadas. Para desabilitar essa opção, desmarque a opção **Habilitar pedidos de DNS baseados em solicitações IPv4 (registo A)** ao criar uma nova instância no console do Amazon EC2. Para desabilitar essa opção usando o AWS CLI, use o comando a seguir.

  ```
  aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
  ```
+ As instâncias do Amazon EC2 em sub-redes compartilhadas não são compatíveis. Elas falharão ao registrar em um cluster se forem usadas.
+ Suas tarefas devem usar o modo de rede `awsvpc` e o EC2. As tarefas que usam o Fargate sempre recebem uma ENI dedicada, independentemente de quantas são inicializadas. Por isso, esse recurso não é necessário.
+ Suas tarefas devem ser inicializadas na mesma Amazon VPC que a instância de contêiner. Suas tarefas falharão ao iniciar com um erro de atributo se não estiverem na mesma VPC.
+ Ao executar uma nova instância de contêiner, a instância muda para o status `REGISTERING` enquanto a interface de rede elástica tronco é provisionada para a instância. Se ocorrer uma falha no registro, a instância mudará para o status `REGISTRATION_FAILED`. É possível solucionar problemas de um registro com falha descrevendo a instância de contêiner para visualizar o campo `statusReason`, que descreve o motivo da falha. Em seguida, o registro da instância de contêiner pode ser cancelado manualmente ou encerrado. Depois que o registro da instância de contêiner for cancelado ou encerrado com êxito, o Amazon ECS exclui a ENI de truncamento.
**nota**  
O Amazon ECS emite eventos de alteração de estado de instância de contêiner que você pode monitorar para instâncias que fazem a transição para um estado `REGISTRATION_FAILED`. Para obter mais informações, consulte [Eventos de alteração no estado da instância de contêiner do Amazon ECS](ecs_container_instance_events.md).
+ Assim que a instância de contêiner é encerrada, ela muda para o status `DEREGISTERING` enquanto a interface de rede elástica tronco é desprovisionada. Depois, a instância muda para o status `INACTIVE`.
+ Se uma instância de contêiner em uma sub-rede pública com o aumento dos limites de ENI for encerrada e depois reiniciada, a instância perderá o endereço IP público e o agente de contêiner perderá a conexão.
+ Quando você habilita `awsvpcTrunking`, as instâncias de contêiner recebem uma ENI adicional que usa o grupo de segurança padrão da VPC e é gerenciada pelo Amazon ECS.

  Uma VPC padrão vem com uma sub-rede pública em cada zona de disponibilidade, um gateway da Internet e configurações para habilitar a resolução de DNS. A sub-rede é pública, porque a tabela de rotas principal envia o tráfego da sub-rede destinado à internet para o gateway da internet. É possível transformar uma sub-rede padrão em uma sub-rede privada removendo a rota do destino 0.0.0.0/0 para o gateway da internet. Porém, se você fizer isso, nenhuma instância de container sendo executada nessa sub-rede poderá acessar a internet. Você pode adicionar ou excluir regras de grupo de segurança para controlar tráfego de entrada e saída das sub-redes. Para obter mais informações, consulte [Regras de grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) no *Manual do usuário da Amazon Virtual Private Cloud*.

## Pré-requisitos
<a name="eni-trunking-launching"></a>

Antes de executar uma instância de contêiner com limites de ENI maiores, os pré-requisitos a seguir devem ser atendidos.
+ A função vinculada ao serviço para Amazon ECS deve ser criada. A função vinculada ao serviço do Amazon ECS fornece ao Amazon ECS as permissões para fazer chamadas a outros serviços da AWS em seu nome. Essa função será automaticamente criada quando você criar um cluster ou se criar ou atualizar um serviço no Console de gerenciamento da AWS. Para obter mais informações, consulte [Uso de perfis vinculados ao serviço para o Amazon ECS](using-service-linked-roles.md). Também é possível criar a função vinculada ao serviço com o comando da AWS CLI a seguir.

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ Sua conta ou perfil do IAM da instância de contêiner deve habilitar a configuração de conta `awsvpcTrunking`. Recomendamos que você crie dois perfis de instância de contêiner (`ecsInstanceRole`). Em seguida, você pode habilitar a configuração da conta `awsvpcTrunking` para um perfil e usá-lo em tarefas que exigem truncamento de ENI. Para obter informações sobre o perfil da instância de contêiner, consulte [Função do IAM de instância de contêiner do Amazon ECS](instance_IAM_role.md).

Assim que os pré-requisitos forem atendidos, é possível executar uma nova instância de contêiner usando um dos tipos de instância do Amazon EC2 compatíveis, e a instância terá os limites de ENI maiores. Para obter uma lista dos tipos de instâncias compatíveis, consulte [Instâncias com suporte para o aumento de interfaces de rede de contêineres do Amazon ECS](eni-trunking-supported-instance-types.md). A instância de contêiner deve ter a versão `1.28.1` ou posterior do agente de contêiner e a versão `1.28.1-2` ou posterior do pacote ecs-init. Se você usar a variante do Linux mais recente da AMI otimizada para Amazon ECS, esses requisitos serão atendidos. Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

**Importante**  
As instâncias do Amazon EC2 devem ter solicitações de DNS de IPv4 baseadas em recursos desativadas. Para desabilitar essa opção, certifique-se de que a opção **Enable resource-based IPV4 (A record) DNS requests** (Habilitar solicitações de DNS de IPV4 (registro A) baseadas em recursos) esteja desmarcada ao criar uma nova instância usando o console do Amazon EC2. Para desabilitar essa opção usando o AWS CLI, use o comando a seguir.  

```
aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
```

**Para visualizar as instâncias de contêiner com limites de ENI maiores com a AWS CLI**

Cada instância de contêiner tem uma interface de rede padrão, conhecida como interface de rede tronco. Use o comando a seguir para listar as instâncias de contêiner com limites maiores de ENI consultando o atributo `ecs.awsvpc-trunk-id`, que indica a existência de uma interface de rede de truncamento.
+ [list-attributes](https://docs.aws.amazon.com/cli/latest/reference/ecs/list-attributes.html) (AWS CLI)

  ```
  aws ecs list-attributes \
        --target-type container-instance \
        --attribute-name ecs.awsvpc-trunk-id \
        --cluster cluster_name \
        --region us-east-1
  ```
+ [Get-ECSAttributeList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ECSAttributeList.html) (AWS Tools for Windows PowerShell)

  ```
  Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1
  ```

# Instâncias com suporte para o aumento de interfaces de rede de contêineres do Amazon ECS
<a name="eni-trunking-supported-instance-types"></a>

A seguir, são mostrados os tipos de instância do Amazon EC2 compatíveis e o número de tarefas que usam o modo de rede `awsvpc` que podem ser iniciadas em cada tipo de instância antes e após a habilitação da configuração da conta `awsvpcTrunking`. 

**Importante**  
Embora outros tipos de instância sejam compatíveis na mesma família de instâncias, os tipos de instância `a1.metal`, `c5.metal`, `c5a.8xlarge`, `c5ad.8xlarge`, `c5d.metal`, `m5.metal`, `p3dn.24xlarge`, `r5.metal`, `r5.8xlarge` e `r5d.metal` não são compatíveis.  
As famílias de instâncias `c5n`, `d3`, `d3en`, `g3`, `g3s`, `g4dn`, `i3`, `i3en`, `inf1`, `m5dn`, `m5n`, `m5zn`, `mac1`, `r5b`, `r5n`, `r5dn`, `u-12tb1`, `u-6tb1`, `u-9tb1` e `z1d` não são compatíveis.

**Topics**
+ [Uso geral](#eni-branch-gp)
+ [Otimizadas para computação](#eni-branch-co)
+ [Otimizado para memória](#eni-branch-mo)
+ [Otimizada para armazenamento](#eni-branch-so)
+ [Computação acelerada](#eni-branch-ac)
+ [Computação de alta performance](#eni-branch-hpc)

## Uso geral
<a name="eni-branch-gp"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| a1.medium | 1 | 10 | 
| a1.large | 2 | 10 | 
| a1.xlarge | 3 | 20 | 
| a1.2xlarge | 3 | 40 | 
| a1.4xlarge | 7 | 60 | 
| m5.large | 2 | 10 | 
| m5.xlarge | 3 | 20 | 
| m5.2xlarge | 3 | 40 | 
| m5.4xlarge | 7 | 60 | 
| m5.8xlarge | 7 | 60 | 
| m5.12xlarge | 7 | 60 | 
| m5.16xlarge | 14 | 120 | 
| m5.24xlarge | 14 | 120 | 
| m5a.large | 2 | 10 | 
| m5a.xlarge | 3 | 20 | 
| m5a.2xlarge | 3 | 40 | 
| m5a.4xlarge | 7 | 60 | 
| m5a.8xlarge | 7 | 60 | 
| m5a.12xlarge | 7 | 60 | 
| m5a.16xlarge | 14 | 120 | 
| m5a.24xlarge | 14 | 120 | 
| m5ad.large | 2 | 10 | 
| m5ad.xlarge | 3 | 20 | 
| m5ad.2xlarge | 3 | 40 | 
| m5ad.4xlarge | 7 | 60 | 
| m5ad.8xlarge | 7 | 60 | 
| m5ad.12xlarge | 7 | 60 | 
| m5ad.16xlarge | 14 | 120 | 
| m5ad.24xlarge | 14 | 120 | 
| m5d.large | 2 | 10 | 
| m5d.xlarge | 3 | 20 | 
| m5d.2xlarge | 3 | 40 | 
| m5d.4xlarge | 7 | 60 | 
| m5d.8xlarge | 7 | 60 | 
| m5d.12xlarge | 7 | 60 | 
| m5d.16xlarge | 14 | 120 | 
| m5d.24xlarge | 14 | 120 | 
| m5d.metal | 14 | 120 | 
| m6a.large | 2 | 10 | 
| m6a.xlarge | 3 | 20 | 
| m6a.2xlarge | 3 | 40 | 
| m6a.4xlarge | 7 | 60 | 
| m6a.8xlarge | 7 | 90 | 
| m6a.12xlarge | 7 | 120 | 
| m6a.16xlarge | 14 | 120 | 
| m6a.24xlarge | 14 | 120 | 
| m6a.32xlarge | 14 | 120 | 
| m6a.48xlarge | 14 | 120 | 
| m6a.metal | 14 | 120 | 
| m6g.medium | 1 | 4 | 
| m6g.large | 2 | 10 | 
| m6g.xlarge | 3 | 20 | 
| m6g.2xlarge | 3 | 40 | 
| m6g.4xlarge | 7 | 60 | 
| m6g.8xlarge | 7 | 60 | 
| m6g.12xlarge | 7 | 60 | 
| m6g.16xlarge | 14 | 120 | 
| m6g.metal | 14 | 120 | 
| m6gd.medium | 1 | 4 | 
| m6gd.large | 2 | 10 | 
| m6gd.xlarge | 3 | 20 | 
| m6gd.2xlarge | 3 | 40 | 
| m6gd.4xlarge | 7 | 60 | 
| m6gd.8xlarge | 7 | 60 | 
| m6gd.12xlarge | 7 | 60 | 
| m6gd.16xlarge | 14 | 120 | 
| m6gd.metal | 14 | 120 | 
| m6i.large | 2 | 10 | 
| m6i.xlarge | 3 | 20 | 
| m6i.2xlarge | 3 | 40 | 
| m6i.4xlarge | 7 | 60 | 
| m6i.8xlarge | 7 | 90 | 
| m6i.12xlarge | 7 | 120 | 
| m6i.16xlarge | 14 | 120 | 
| m6i.24xlarge | 14 | 120 | 
| m6i.32xlarge | 14 | 120 | 
| m6i.metal | 14 | 120 | 
| m6id.large | 2 | 10 | 
| m6id.xlarge | 3 | 20 | 
| m6id.2xlarge | 3 | 40 | 
| m6id.4xlarge | 7 | 60 | 
| m6id.8xlarge | 7 | 90 | 
| m6id.12xlarge | 7 | 120 | 
| m6id.16xlarge | 14 | 120 | 
| m6id.24xlarge | 14 | 120 | 
| m6id.32xlarge | 14 | 120 | 
| m6id.metal | 14 | 120 | 
| m6idn.large | 2 | 10 | 
| m6idn.xlarge | 3 | 20 | 
| m6idn.2xlarge | 3 | 40 | 
| m6idn.4xlarge | 7 | 60 | 
| m6idn.8xlarge | 7 | 90 | 
| m6idn.12xlarge | 7 | 120 | 
| m6idn.16xlarge | 14 | 120 | 
| m6idn.24xlarge | 14 | 120 | 
| m6idn.32xlarge | 15 | 120 | 
| m6idn.metal | 15 | 120 | 
| m6in.large | 2 | 10 | 
| m6in.xlarge | 3 | 20 | 
| m6in.2xlarge | 3 | 40 | 
| m6in.4xlarge | 7 | 60 | 
| m6in.8xlarge | 7 | 90 | 
| m6in.12xlarge | 7 | 120 | 
| m6in.16xlarge | 14 | 120 | 
| m6in.24xlarge | 14 | 120 | 
| m6in.32xlarge | 15 | 120 | 
| m6in.metal | 15 | 120 | 
| m7a.medium | 1 | 4 | 
| m7a.large | 2 | 10 | 
| m7a.xlarge | 3 | 20 | 
| m7a.2xlarge | 3 | 40 | 
| m7a.4xlarge | 7 | 60 | 
| m7a.8xlarge | 7 | 90 | 
| m7a.12xlarge | 7 | 120 | 
| m7a.16xlarge | 14 | 120 | 
| m7a.24xlarge | 14 | 120 | 
| m7a.32xlarge | 14 | 120 | 
| m7a.48xlarge | 14 | 120 | 
| m7a.metal-48xl | 14 | 120 | 
| m7g.medium | 1 | 4 | 
| m7g.large | 2 | 10 | 
| m7g.xlarge | 3 | 20 | 
| m7g.2xlarge | 3 | 40 | 
| m7g.4xlarge | 7 | 60 | 
| m7g.8xlarge | 7 | 60 | 
| m7g.12xlarge | 7 | 60 | 
| m7g.16xlarge | 14 | 120 | 
| m7g.metal | 14 | 120 | 
| m7gd.medium | 1 | 4 | 
| m7gd.large | 2 | 10 | 
| m7gd.xlarge | 3 | 20 | 
| m7gd.2xlarge | 3 | 40 | 
| m7gd.4xlarge | 7 | 60 | 
| m7gd.8xlarge | 7 | 60 | 
| m7gd.12xlarge | 7 | 60 | 
| m7gd.16xlarge | 14 | 120 | 
| m7gd.metal | 14 | 120 | 
| m7i.large | 2 | 10 | 
| m7i.xlarge | 3 | 20 | 
| m7i.2xlarge | 3 | 40 | 
| m7i.4xlarge | 7 | 60 | 
| m7i.8xlarge | 7 | 90 | 
| m7i.12xlarge | 7 | 120 | 
| m7i.16xlarge | 14 | 120 | 
| m7i.24xlarge | 14 | 120 | 
| m7i.48xlarge | 14 | 120 | 
| m7i.metal-24xl | 14 | 120 | 
| m7i.metal-48xl | 14 | 120 | 
| m7i-flex.large | 2 | 4 | 
| m7i-flex.xlarge | 3 | 10 | 
| m7i-flex.2xlarge | 3 | 20 | 
| m7i-flex.4xlarge | 7 | 40 | 
| m7i-flex.8xlarge | 7 | 60 | 
| m7i-flex.12xlarge | 7 | 120 | 
| m7i-flex.16xlarge | 14 | 120 | 
| m8a.medium | 1 | 4 | 
| m8a.large | 2 | 10 | 
| m8a.xlarge | 3 | 20 | 
| m8a.2xlarge | 3 | 40 | 
| m8a.4xlarge | 7 | 60 | 
| m8a.8xlarge | 9 | 90 | 
| m8a.12xlarge | 11 | 120 | 
| m8a.16xlarge | 15 | 120 | 
| m8a.24xlarge | 15 | 120 | 
| m8a.48xlarge | 23 | 120 | 
| m8a.metal-24xl | 15 | 120 | 
| m8a.metal-48xl | 23 | 120 | 
| m8azn.medium | 2 | 4 | 
| m8azn.large | 3 | 10 | 
| m8azn.xlarge | 3 | 20 | 
| m8azn.3xlarge | 7 | 40 | 
| m8azn.6xlarge | 7 | 60 | 
| m8azn.12xlarge | 15 | 120 | 
| m8azn.24xlarge | 15 | 120 | 
| m8azn.metal-12xl | 15 | 120 | 
| m8azn.metal-24xl | 15 | 120 | 
| m8g.medium | 1 | 4 | 
| m8g.large | 2 | 10 | 
| m8g.xlarge | 3 | 20 | 
| m8g.2xlarge | 3 | 40 | 
| m8g.4xlarge | 7 | 60 | 
| m8g.8xlarge | 7 | 60 | 
| m8g.12xlarge | 7 | 60 | 
| m8g.16xlarge | 14 | 120 | 
| m8g.24xlarge | 14 | 120 | 
| m8g.48xlarge | 14 | 120 | 
| m8g.metal-24xl | 14 | 120 | 
| m8g.metal-48xl | 14 | 120 | 
| m8gb.medium | 1 | 4 | 
| m8gb.large | 2 | 10 | 
| m8gb.xlarge | 3 | 20 | 
| m8gb.2xlarge | 3 | 40 | 
| m8gb.4xlarge | 7 | 60 | 
| m8gb.8xlarge | 9 | 60 | 
| m8gb.12xlarge | 11 | 60 | 
| m8gb.16xlarge | 15 | 120 | 
| m8gb.24xlarge | 23 | 120 | 
| m8gb.48xlarge | 23 | 120 | 
| m8gb.metal-24xl | 23 | 120 | 
| m8gb.metal-48xl | 23 | 120 | 
| m8gd.medium | 1 | 4 | 
| m8gd.large | 2 | 10 | 
| m8gd.xlarge | 3 | 20 | 
| m8gd.2xlarge | 3 | 40 | 
| m8gd.4xlarge | 7 | 60 | 
| m8gd.8xlarge | 7 | 60 | 
| m8gd.12xlarge | 7 | 60 | 
| m8gd.16xlarge | 14 | 120 | 
| m8gd.24xlarge | 14 | 120 | 
| m8gd.48xlarge | 14 | 120 | 
| m8gd.metal-24xl | 14 | 120 | 
| m8gd.metal-48xl | 14 | 120 | 
| m8gn.medium | 1 | 4 | 
| m8gn.large | 2 | 10 | 
| m8gn.xlarge | 3 | 20 | 
| m8gn.2xlarge | 3 | 40 | 
| m8gn.4xlarge | 7 | 60 | 
| m8gn.8xlarge | 9 | 60 | 
| m8gn.12xlarge | 11 | 60 | 
| m8gn.16xlarge | 15 | 120 | 
| m8gn.24xlarge | 23 | 120 | 
| m8gn.48xlarge | 23 | 120 | 
| m8gn.metal-24xl | 23 | 120 | 
| m8gn.metal-48xl | 23 | 120 | 
| m8i.large | 2 | 10 | 
| m8i.xlarge | 3 | 20 | 
| m8i.2xlarge | 3 | 40 | 
| m8i.4xlarge | 7 | 60 | 
| m8i.8xlarge | 9 | 90 | 
| m8i.12xlarge | 11 | 120 | 
| m8i.16xlarge | 15 | 120 | 
| m8i.24xlarge | 15 | 120 | 
| m8i.32xlarge | 23 | 120 | 
| m8i.48xlarge | 23 | 120 | 
| m8i.96xlarge | 23 | 120 | 
| m8i.metal-48xl | 23 | 120 | 
| m8i.metal-96xl | 23 | 120 | 
| m8id.large | 2 | 10 | 
| m8id.xlarge | 3 | 20 | 
| m8id.2xlarge | 3 | 40 | 
| m8id.4xlarge | 7 | 60 | 
| m8id.8xlarge | 9 | 90 | 
| m8id.12xlarge | 11 | 120 | 
| m8id.16xlarge | 15 | 120 | 
| m8id.24xlarge | 15 | 120 | 
| m8id.32xlarge | 23 | 120 | 
| m8id.48xlarge | 23 | 120 | 
| m8id.96xlarge | 23 | 120 | 
| m8id.metal-48xl | 23 | 120 | 
| m8id.metal-96xl | 23 | 120 | 
| m8i-flex.large | 2 | 4 | 
| m8i-flex.xlarge | 3 | 10 | 
| m8i-flex.2xlarge | 3 | 20 | 
| m8i-flex.4xlarge | 7 | 40 | 
| m8i-flex.8xlarge | 9 | 60 | 
| m8i-flex.12xlarge | 11 | 120 | 
| m8i-flex.16xlarge | 15 | 120 | 
| mac2.metal | 7 | 12 | 
| mac2-m1ultra.metal | 7 | 12 | 
| mac2-m2.metal | 7 | 12 | 
| mac2-m2pro.metal | 7 | 12 | 
| mac-m4.metal | 7 | 12 | 
| mac-m4pro.metal | 7 | 12 | 

## Otimizadas para computação
<a name="eni-branch-co"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| c5.large | 2 | 10 | 
| c5.xlarge | 3 | 20 | 
| c5.2xlarge | 3 | 40 | 
| c5.4xlarge | 7 | 60 | 
| c5.9xlarge | 7 | 60 | 
| c5.12xlarge | 7 | 60 | 
| c5.18xlarge | 14 | 120 | 
| c5.24xlarge | 14 | 120 | 
| c5a.large | 2 | 10 | 
| c5a.xlarge | 3 | 20 | 
| c5a.2xlarge | 3 | 40 | 
| c5a.4xlarge | 7 | 60 | 
| c5a.12xlarge | 7 | 60 | 
| c5a.16xlarge | 14 | 120 | 
| c5a.24xlarge | 14 | 120 | 
| c5ad.large | 2 | 10 | 
| c5ad.xlarge | 3 | 20 | 
| c5ad.2xlarge | 3 | 40 | 
| c5ad.4xlarge | 7 | 60 | 
| c5ad.12xlarge | 7 | 60 | 
| c5ad.16xlarge | 14 | 120 | 
| c5ad.24xlarge | 14 | 120 | 
| c5d.large | 2 | 10 | 
| c5d.xlarge | 3 | 20 | 
| c5d.2xlarge | 3 | 40 | 
| c5d.4xlarge | 7 | 60 | 
| c5d.9xlarge | 7 | 60 | 
| c5d.12xlarge | 7 | 60 | 
| c5d.18xlarge | 14 | 120 | 
| c5d.24xlarge | 14 | 120 | 
| c6a.large | 2 | 10 | 
| c6a.xlarge | 3 | 20 | 
| c6a.2xlarge | 3 | 40 | 
| c6a.4xlarge | 7 | 60 | 
| c6a.8xlarge | 7 | 90 | 
| c6a.12xlarge | 7 | 120 | 
| c6a.16xlarge | 14 | 120 | 
| c6a.24xlarge | 14 | 120 | 
| c6a.32xlarge | 14 | 120 | 
| c6a.48xlarge | 14 | 120 | 
| c6a.metal | 14 | 120 | 
| c6g.medium | 1 | 4 | 
| c6g.large | 2 | 10 | 
| c6g.xlarge | 3 | 20 | 
| c6g.2xlarge | 3 | 40 | 
| c6g.4xlarge | 7 | 60 | 
| c6g.8xlarge | 7 | 60 | 
| c6g.12xlarge | 7 | 60 | 
| c6g.16xlarge | 14 | 120 | 
| c6g.metal | 14 | 120 | 
| c6gd.medium | 1 | 4 | 
| c6gd.large | 2 | 10 | 
| c6gd.xlarge | 3 | 20 | 
| c6gd.2xlarge | 3 | 40 | 
| c6gd.4xlarge | 7 | 60 | 
| c6gd.8xlarge | 7 | 60 | 
| c6gd.12xlarge | 7 | 60 | 
| c6gd.16xlarge | 14 | 120 | 
| c6gd.metal | 14 | 120 | 
| c6gn.medium | 1 | 4 | 
| c6gn.large | 2 | 10 | 
| c6gn.xlarge | 3 | 20 | 
| c6gn.2xlarge | 3 | 40 | 
| c6gn.4xlarge | 7 | 60 | 
| c6gn.8xlarge | 7 | 60 | 
| c6gn.12xlarge | 7 | 60 | 
| c6gn.16xlarge | 14 | 120 | 
| c6i.large | 2 | 10 | 
| c6i.xlarge | 3 | 20 | 
| c6i.2xlarge | 3 | 40 | 
| c6i.4xlarge | 7 | 60 | 
| c6i.8xlarge | 7 | 90 | 
| c6i.12xlarge | 7 | 120 | 
| c6i.16xlarge | 14 | 120 | 
| c6i.24xlarge | 14 | 120 | 
| c6i.32xlarge | 14 | 120 | 
| c6i.metal | 14 | 120 | 
| c6id.large | 2 | 10 | 
| c6id.xlarge | 3 | 20 | 
| c6id.2xlarge | 3 | 40 | 
| c6id.4xlarge | 7 | 60 | 
| c6id.8xlarge | 7 | 90 | 
| c6id.12xlarge | 7 | 120 | 
| c6id.16xlarge | 14 | 120 | 
| c6id.24xlarge | 14 | 120 | 
| c6id.32xlarge | 14 | 120 | 
| c6id.metal | 14 | 120 | 
| c6in.large | 2 | 10 | 
| c6in.xlarge | 3 | 20 | 
| c6in.2xlarge | 3 | 40 | 
| c6in.4xlarge | 7 | 60 | 
| c6in.8xlarge | 7 | 90 | 
| c6in.12xlarge | 7 | 120 | 
| c6in.16xlarge | 14 | 120 | 
| c6in.24xlarge | 14 | 120 | 
| c6in.32xlarge | 15 | 120 | 
| c6in.metal | 15 | 120 | 
| c7a.medium | 1 | 4 | 
| c7a.large | 2 | 10 | 
| c7a.xlarge | 3 | 20 | 
| c7a.2xlarge | 3 | 40 | 
| c7a.4xlarge | 7 | 60 | 
| c7a.8xlarge | 7 | 90 | 
| c7a.12xlarge | 7 | 120 | 
| c7a.16xlarge | 14 | 120 | 
| c7a.24xlarge | 14 | 120 | 
| c7a.32xlarge | 14 | 120 | 
| c7a.48xlarge | 14 | 120 | 
| c7a.metal-48xl | 14 | 120 | 
| c7g.medium | 1 | 4 | 
| c7g.large | 2 | 10 | 
| c7g.xlarge | 3 | 20 | 
| c7g.2xlarge | 3 | 40 | 
| c7g.4xlarge | 7 | 60 | 
| c7g.8xlarge | 7 | 60 | 
| c7g.12xlarge | 7 | 60 | 
| c7g.16xlarge | 14 | 120 | 
| c7g.metal | 14 | 120 | 
| c7gd.medium | 1 | 4 | 
| c7gd.large | 2 | 10 | 
| c7gd.xlarge | 3 | 20 | 
| c7gd.2xlarge | 3 | 40 | 
| c7gd.4xlarge | 7 | 60 | 
| c7gd.8xlarge | 7 | 60 | 
| c7gd.12xlarge | 7 | 60 | 
| c7gd.16xlarge | 14 | 120 | 
| c7gd.metal | 14 | 120 | 
| c7gn.medium | 1 | 4 | 
| c7gn.large | 2 | 10 | 
| c7gn.xlarge | 3 | 20 | 
| c7gn.2xlarge | 3 | 40 | 
| c7gn.4xlarge | 7 | 60 | 
| c7gn.8xlarge | 7 | 60 | 
| c7gn.12xlarge | 7 | 60 | 
| c7gn.16xlarge | 14 | 120 | 
| c7gn.metal | 14 | 120 | 
| c7i.large | 2 | 10 | 
| c7i.xlarge | 3 | 20 | 
| c7i.2xlarge | 3 | 40 | 
| c7i.4xlarge | 7 | 60 | 
| c7i.8xlarge | 7 | 90 | 
| c7i.12xlarge | 7 | 120 | 
| c7i.16xlarge | 14 | 120 | 
| c7i.24xlarge | 14 | 120 | 
| c7i.48xlarge | 14 | 120 | 
| c7i.metal-24xl | 14 | 120 | 
| c7i.metal-48xl | 14 | 120 | 
| c7i-flex.large | 2 | 4 | 
| c7i-flex.xlarge | 3 | 10 | 
| c7i-flex.2xlarge | 3 | 20 | 
| c7i-flex.4xlarge | 7 | 40 | 
| c7i-flex.8xlarge | 7 | 60 | 
| c7i-flex.12xlarge | 7 | 120 | 
| c7i-flex.16xlarge | 14 | 120 | 
| c8a.medium | 1 | 4 | 
| c8a.large | 2 | 10 | 
| c8a.xlarge | 3 | 20 | 
| c8a.2xlarge | 3 | 40 | 
| c8a.4xlarge | 7 | 60 | 
| c8a.8xlarge | 9 | 90 | 
| c8a.12xlarge | 11 | 120 | 
| c8a.16xlarge | 15 | 120 | 
| c8a.24xlarge | 15 | 120 | 
| c8a.48xlarge | 23 | 120 | 
| c8a.metal-24xl | 15 | 120 | 
| c8a.metal-48xl | 23 | 120 | 
| c8g.medium | 1 | 4 | 
| c8g.large | 2 | 10 | 
| c8g.xlarge | 3 | 20 | 
| c8g.2xlarge | 3 | 40 | 
| c8g.4xlarge | 7 | 60 | 
| c8g.8xlarge | 7 | 60 | 
| c8g.12xlarge | 7 | 60 | 
| c8g.16xlarge | 14 | 120 | 
| c8g.24xlarge | 14 | 120 | 
| c8g.48xlarge | 14 | 120 | 
| c8g.metal-24xl | 14 | 120 | 
| c8g.metal-48xl | 14 | 120 | 
| c8gb.medium | 1 | 4 | 
| c8gb.large | 2 | 10 | 
| c8gb.xlarge | 3 | 20 | 
| c8gb.2xlarge | 3 | 40 | 
| c8gb.4xlarge | 7 | 60 | 
| c8gb.8xlarge | 9 | 60 | 
| c8gb.12xlarge | 11 | 60 | 
| c8gb.16xlarge | 15 | 120 | 
| c8gb.24xlarge | 23 | 120 | 
| c8gb.48xlarge | 23 | 120 | 
| c8gb.metal-24xl | 23 | 120 | 
| c8gb.metal-48xl | 23 | 120 | 
| c8gd.medium | 1 | 4 | 
| c8gd.large | 2 | 10 | 
| c8gd.xlarge | 3 | 20 | 
| c8gd.2xlarge | 3 | 40 | 
| c8gd.4xlarge | 7 | 60 | 
| c8gd.8xlarge | 7 | 60 | 
| c8gd.12xlarge | 7 | 60 | 
| c8gd.16xlarge | 14 | 120 | 
| c8gd.24xlarge | 14 | 120 | 
| c8gd.48xlarge | 14 | 120 | 
| c8gd.metal-24xl | 14 | 120 | 
| c8gd.metal-48xl | 14 | 120 | 
| c8gn.medium | 1 | 4 | 
| c8gn.large | 2 | 10 | 
| c8gn.xlarge | 3 | 20 | 
| c8gn.2xlarge | 3 | 40 | 
| c8gn.4xlarge | 7 | 60 | 
| c8gn.8xlarge | 9 | 60 | 
| c8gn.12xlarge | 11 | 60 | 
| c8gn.16xlarge | 15 | 120 | 
| c8gn.24xlarge | 23 | 120 | 
| c8gn.48xlarge | 23 | 120 | 
| c8gn.metal-24xl | 23 | 120 | 
| c8gn.metal-48xl | 23 | 120 | 
| c8i.large | 2 | 10 | 
| c8i.xlarge | 3 | 20 | 
| c8i.2xlarge | 3 | 40 | 
| c8i.4xlarge | 7 | 60 | 
| c8i.8xlarge | 9 | 90 | 
| c8i.12xlarge | 11 | 120 | 
| c8i.16xlarge | 15 | 120 | 
| c8i.24xlarge | 15 | 120 | 
| c8i.32xlarge | 23 | 120 | 
| c8i.48xlarge | 23 | 120 | 
| c8i.96xlarge | 23 | 120 | 
| c8i.metal-48xl | 23 | 120 | 
| c8i.metal-96xl | 23 | 120 | 
| c8id.large | 2 | 10 | 
| c8id.xlarge | 3 | 20 | 
| c8id.2xlarge | 3 | 40 | 
| c8id.4xlarge | 7 | 60 | 
| c8id.8xlarge | 9 | 90 | 
| c8id.12xlarge | 11 | 120 | 
| c8id.16xlarge | 15 | 120 | 
| c8id.24xlarge | 15 | 120 | 
| c8id.32xlarge | 23 | 120 | 
| c8id.48xlarge | 23 | 120 | 
| c8id.96xlarge | 23 | 120 | 
| c8id.metal-48xl | 23 | 120 | 
| c8id.metal-96xl | 23 | 120 | 
| c8i-flex.large | 2 | 4 | 
| c8i-flex.xlarge | 3 | 10 | 
| c8i-flex.2xlarge | 3 | 20 | 
| c8i-flex.4xlarge | 7 | 40 | 
| c8i-flex.8xlarge | 9 | 60 | 
| c8i-flex.12xlarge | 11 | 120 | 
| c8i-flex.16xlarge | 15 | 120 | 

## Otimizado para memória
<a name="eni-branch-mo"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| r5.large | 2 | 10 | 
| r5.xlarge | 3 | 20 | 
| r5.2xlarge | 3 | 40 | 
| r5.4xlarge | 7 | 60 | 
| r5.12xlarge | 7 | 60 | 
| r5.16xlarge | 14 | 120 | 
| r5.24xlarge | 14 | 120 | 
| r5a.large | 2 | 10 | 
| r5a.xlarge | 3 | 20 | 
| r5a.2xlarge | 3 | 40 | 
| r5a.4xlarge | 7 | 60 | 
| r5a.8xlarge | 7 | 60 | 
| r5a.12xlarge | 7 | 60 | 
| r5a.16xlarge | 14 | 120 | 
| r5a.24xlarge | 14 | 120 | 
| r5ad.large | 2 | 10 | 
| r5ad.xlarge | 3 | 20 | 
| r5ad.2xlarge | 3 | 40 | 
| r5ad.4xlarge | 7 | 60 | 
| r5ad.8xlarge | 7 | 60 | 
| r5ad.12xlarge | 7 | 60 | 
| r5ad.16xlarge | 14 | 120 | 
| r5ad.24xlarge | 14 | 120 | 
| r5b.16xlarge | 14 | 120 | 
| r5d.large | 2 | 10 | 
| r5d.xlarge | 3 | 20 | 
| r5d.2xlarge | 3 | 40 | 
| r5d.4xlarge | 7 | 60 | 
| r5d.8xlarge | 7 | 60 | 
| r5d.12xlarge | 7 | 60 | 
| r5d.16xlarge | 14 | 120 | 
| r5d.24xlarge | 14 | 120 | 
| r5dn.16xlarge | 14 | 120 | 
| r6a.large | 2 | 10 | 
| r6a.xlarge | 3 | 20 | 
| r6a.2xlarge | 3 | 40 | 
| r6a.4xlarge | 7 | 60 | 
| r6a.8xlarge | 7 | 90 | 
| r6a.12xlarge | 7 | 120 | 
| r6a.16xlarge | 14 | 120 | 
| r6a.24xlarge | 14 | 120 | 
| r6a.32xlarge | 14 | 120 | 
| r6a.48xlarge | 14 | 120 | 
| r6a.metal | 14 | 120 | 
| r6g.medium | 1 | 4 | 
| r6g.large | 2 | 10 | 
| r6g.xlarge | 3 | 20 | 
| r6g.2xlarge | 3 | 40 | 
| r6g.4xlarge | 7 | 60 | 
| r6g.8xlarge | 7 | 60 | 
| r6g.12xlarge | 7 | 60 | 
| r6g.16xlarge | 14 | 120 | 
| r6g.metal | 14 | 120 | 
| r6gd.medium | 1 | 4 | 
| r6gd.large | 2 | 10 | 
| r6gd.xlarge | 3 | 20 | 
| r6gd.2xlarge | 3 | 40 | 
| r6gd.4xlarge | 7 | 60 | 
| r6gd.8xlarge | 7 | 60 | 
| r6gd.12xlarge | 7 | 60 | 
| r6gd.16xlarge | 14 | 120 | 
| r6gd.metal | 14 | 120 | 
| r6i.large | 2 | 10 | 
| r6i.xlarge | 3 | 20 | 
| r6i.2xlarge | 3 | 40 | 
| r6i.4xlarge | 7 | 60 | 
| r6i.8xlarge | 7 | 90 | 
| r6i.12xlarge | 7 | 120 | 
| r6i.16xlarge | 14 | 120 | 
| r6i.24xlarge | 14 | 120 | 
| r6i.32xlarge | 14 | 120 | 
| r6i.metal | 14 | 120 | 
| r6id.large | 2 | 10 | 
| r6id.xlarge | 3 | 20 | 
| r6id.2xlarge | 3 | 40 | 
| r6id.4xlarge | 7 | 60 | 
| r6id.8xlarge | 7 | 90 | 
| r6id.12xlarge | 7 | 120 | 
| r6id.16xlarge | 14 | 120 | 
| r6id.24xlarge | 14 | 120 | 
| r6id.32xlarge | 14 | 120 | 
| r6id.metal | 14 | 120 | 
| r6idn.large | 2 | 10 | 
| r6idn.xlarge | 3 | 20 | 
| r6idn.2xlarge | 3 | 40 | 
| r6idn.4xlarge | 7 | 60 | 
| r6idn.8xlarge | 7 | 90 | 
| r6idn.12xlarge | 7 | 120 | 
| r6idn.16xlarge | 14 | 120 | 
| r6idn.24xlarge | 14 | 120 | 
| r6idn.32xlarge | 15 | 120 | 
| r6idn.metal | 15 | 120 | 
| r6in.large | 2 | 10 | 
| r6in.xlarge | 3 | 20 | 
| r6in.2xlarge | 3 | 40 | 
| r6in.4xlarge | 7 | 60 | 
| r6in.8xlarge | 7 | 90 | 
| r6in.12xlarge | 7 | 120 | 
| r6in.16xlarge | 14 | 120 | 
| r6in.24xlarge | 14 | 120 | 
| r6in.32xlarge | 15 | 120 | 
| r6in.metal | 15 | 120 | 
| r7a.medium | 1 | 4 | 
| r7a.large | 2 | 10 | 
| r7a.xlarge | 3 | 20 | 
| r7a.2xlarge | 3 | 40 | 
| r7a.4xlarge | 7 | 60 | 
| r7a.8xlarge | 7 | 90 | 
| r7a.12xlarge | 7 | 120 | 
| r7a.16xlarge | 14 | 120 | 
| r7a.24xlarge | 14 | 120 | 
| r7a.32xlarge | 14 | 120 | 
| r7a.48xlarge | 14 | 120 | 
| r7a.metal-48xl | 14 | 120 | 
| r7g.medium | 1 | 4 | 
| r7g.large | 2 | 10 | 
| r7g.xlarge | 3 | 20 | 
| r7g.2xlarge | 3 | 40 | 
| r7g.4xlarge | 7 | 60 | 
| r7g.8xlarge | 7 | 60 | 
| r7g.12xlarge | 7 | 60 | 
| r7g.16xlarge | 14 | 120 | 
| r7g.metal | 14 | 120 | 
| r7gd.medium | 1 | 4 | 
| r7gd.large | 2 | 10 | 
| r7gd.xlarge | 3 | 20 | 
| r7gd.2xlarge | 3 | 40 | 
| r7gd.4xlarge | 7 | 60 | 
| r7gd.8xlarge | 7 | 60 | 
| r7gd.12xlarge | 7 | 60 | 
| r7gd.16xlarge | 14 | 120 | 
| r7gd.metal | 14 | 120 | 
| r7i.large | 2 | 10 | 
| r7i.xlarge | 3 | 20 | 
| r7i.2xlarge | 3 | 40 | 
| r7i.4xlarge | 7 | 60 | 
| r7i.8xlarge | 7 | 90 | 
| r7i.12xlarge | 7 | 120 | 
| r7i.16xlarge | 14 | 120 | 
| r7i.24xlarge | 14 | 120 | 
| r7i.48xlarge | 14 | 120 | 
| r7i.metal-24xl | 14 | 120 | 
| r7i.metal-48xl | 14 | 120 | 
| r7iz.large | 2 | 10 | 
| r7iz.xlarge | 3 | 20 | 
| r7iz.2xlarge | 3 | 40 | 
| r7iz.4xlarge | 7 | 60 | 
| r7iz.8xlarge | 7 | 90 | 
| r7iz.12xlarge | 7 | 120 | 
| r7iz.16xlarge | 14 | 120 | 
| r7iz.32xlarge | 14 | 120 | 
| r7iz.metal-16xl | 14 | 120 | 
| r7iz.metal-32xl | 14 | 120 | 
| r8a.medium | 1 | 4 | 
| r8a.large | 2 | 10 | 
| r8a.xlarge | 3 | 20 | 
| r8a.2xlarge | 3 | 40 | 
| r8a.4xlarge | 7 | 60 | 
| r8a.8xlarge | 9 | 90 | 
| r8a.12xlarge | 11 | 120 | 
| r8a.16xlarge | 15 | 120 | 
| r8a.24xlarge | 15 | 120 | 
| r8a.48xlarge | 23 | 120 | 
| m8a.metal-24xl | 15 | 120 | 
| m8a.metal-48xl | 23 | 120 | 
| r8g.medium | 1 | 4 | 
| r8g.large | 2 | 10 | 
| r8g.xlarge | 3 | 20 | 
| r8g.2xlarge | 3 | 40 | 
| r8g.4xlarge | 7 | 60 | 
| r8g.8xlarge | 7 | 60 | 
| r8g.12xlarge | 7 | 60 | 
| r8g.16xlarge | 14 | 120 | 
| r8g.24xlarge | 14 | 120 | 
| r8g.48xlarge | 14 | 120 | 
| r8g.metal-24xl | 14 | 120 | 
| r8g.metal-48xl | 14 | 120 | 
| r8gb.medium | 1 | 4 | 
| r8gb.large | 2 | 10 | 
| r8gb.xlarge | 3 | 20 | 
| r8gb.2xlarge | 3 | 40 | 
| r8gb.4xlarge | 7 | 60 | 
| r8gb.8xlarge | 9 | 60 | 
| r8gb.12xlarge | 11 | 60 | 
| r8gb.16xlarge | 15 | 120 | 
| r8gb.24xlarge | 23 | 120 | 
| r8gb.48xlarge | 23 | 120 | 
| r8gb.metal-24xl | 23 | 120 | 
| r8gb.metal-48xl | 23 | 120 | 
| r8gd.medium | 1 | 4 | 
| r8gd.large | 2 | 10 | 
| r8gd.xlarge | 3 | 20 | 
| r8gd.2xlarge | 3 | 40 | 
| r8gd.4xlarge | 7 | 60 | 
| r8gd.8xlarge | 7 | 60 | 
| r8gd.12xlarge | 7 | 60 | 
| r8gd.16xlarge | 14 | 120 | 
| r8gd.24xlarge | 14 | 120 | 
| r8gd.48xlarge | 14 | 120 | 
| r8gd.metal-24xl | 14 | 120 | 
| r8gd.metal-48xl | 14 | 120 | 
| r8gn.medium | 1 | 4 | 
| r8gn.large | 2 | 10 | 
| r8gn.xlarge | 3 | 20 | 
| r8gn.2xlarge | 3 | 40 | 
| r8gn.4xlarge | 7 | 60 | 
| r8gn.8xlarge | 9 | 60 | 
| r8gn.12xlarge | 11 | 60 | 
| r8gn.16xlarge | 15 | 120 | 
| r8gn.24xlarge | 23 | 120 | 
| r8gn.48xlarge | 23 | 120 | 
| r8gn.metal-24xl | 23 | 120 | 
| r8gn.metal-48xl | 23 | 120 | 
| r8i.large | 2 | 10 | 
| r8i.xlarge | 3 | 20 | 
| r8i.2xlarge | 3 | 40 | 
| r8i.4xlarge | 7 | 60 | 
| r8i.8xlarge | 9 | 90 | 
| r8i.12xlarge | 11 | 120 | 
| r8i.16xlarge | 15 | 120 | 
| r8i.24xlarge | 15 | 120 | 
| r8i.32xlarge | 23 | 120 | 
| r8i.48xlarge | 23 | 120 | 
| r8i.96xlarge | 23 | 120 | 
| r8i.metal-48xl | 23 | 120 | 
| r8i.metal-96xl | 23 | 120 | 
| r8id.large | 2 | 10 | 
| r8id.xlarge | 3 | 20 | 
| r8id.2xlarge | 3 | 40 | 
| r8id.4xlarge | 7 | 60 | 
| r8id.8xlarge | 9 | 90 | 
| r8id.12xlarge | 11 | 120 | 
| r8id.16xlarge | 15 | 120 | 
| r8id.24xlarge | 15 | 120 | 
| r8id.32xlarge | 23 | 120 | 
| r8id.48xlarge | 23 | 120 | 
| r8id.96xlarge | 23 | 120 | 
| r8id.metal-48xl | 23 | 120 | 
| r8id.metal-96xl | 23 | 120 | 
| r8i-flex.large | 2 | 4 | 
| r8i-flex.xlarge | 3 | 10 | 
| r8i-flex.2xlarge | 3 | 20 | 
| r8i-flex.4xlarge | 7 | 40 | 
| r8i-flex.8xlarge | 9 | 60 | 
| r8i-flex.12xlarge | 11 | 120 | 
| r8i-flex.16xlarge | 15 | 120 | 
| u-3tb1.56xlarge | 7 | 12 | 
| u-6tb1.56xlarge | 14 | 12 | 
| u-18tb1.112xlarge | 14 | 12 | 
| u-18tb1.metal | 14 | 12 | 
| u-24tb1.112xlarge | 14 | 12 | 
| u-24tb1.metal | 14 | 12 | 
| u7i-6tb.112xlarge | 14 | 120 | 
| u7i-8tb.112xlarge | 14 | 120 | 
| u7i-12tb.224xlarge | 14 | 120 | 
| u7in-16tb.224xlarge | 15 | 120 | 
| u7in-24tb.224xlarge | 15 | 120 | 
| u7in-32tb.224xlarge | 15 | 120 | 
| u7inh-32tb.480xlarge | 15 | 120 | 
| x2gd.medium | 1 | 10 | 
| x2gd.large | 2 | 10 | 
| x2gd.xlarge | 3 | 20 | 
| x2gd.2xlarge | 3 | 40 | 
| x2gd.4xlarge | 7 | 60 | 
| x2gd.8xlarge | 7 | 60 | 
| x2gd.12xlarge | 7 | 60 | 
| x2gd.16xlarge | 14 | 120 | 
| x2gd.metal | 14 | 120 | 
| x2idn.16xlarge | 14 | 120 | 
| x2idn.24xlarge | 14 | 120 | 
| x2idn.32xlarge | 14 | 120 | 
| x2idn.metal | 14 | 120 | 
| x2iedn.xlarge | 3 | 13 | 
| x2iedn.2xlarge | 3 | 29 | 
| x2iedn.4xlarge | 7 | 60 | 
| x2iedn.8xlarge | 7 | 120 | 
| x2iedn.16xlarge | 14 | 120 | 
| x2iedn.24xlarge | 14 | 120 | 
| x2iedn.32xlarge | 14 | 120 | 
| x2iedn.metal | 14 | 120 | 
| x2iezn.2xlarge | 3 | 64 | 
| x2iezn.4xlarge | 7 | 120 | 
| x2iezn.6xlarge | 7 | 120 | 
| x2iezn.8xlarge | 7 | 120 | 
| x2iezn.12xlarge | 14 | 120 | 
| x2iezn.metal | 14 | 120 | 
| x8g.medium | 1 | 4 | 
| x8g.large | 2 | 10 | 
| x8g.xlarge | 3 | 20 | 
| x8g.2xlarge | 3 | 40 | 
| x8g.4xlarge | 7 | 60 | 
| x8g.8xlarge | 7 | 60 | 
| x8g.12xlarge | 7 | 60 | 
| x8g.16xlarge | 14 | 120 | 
| x8g.24xlarge | 14 | 120 | 
| x8g.48xlarge | 14 | 120 | 
| x8g.metal-24xl | 14 | 120 | 
| x8g.metal-48xl | 14 | 120 | 
| x8aedz.large | 3 | 10 | 
| x8aedz.xlarge | 3 | 20 | 
| x8aedz.3xlarge | 7 | 40 | 
| x8aedz.6xlarge | 7 | 60 | 
| x8aedz.12xlarge | 15 | 120 | 
| x8aedz.24xlarge | 15 | 120 | 
| x8aedz.metal-12xl | 15 | 120 | 
| x8aedz.metal-24xl | 15 | 120 | 
| x8i.large | 2 | 10 | 
| x8i.xlarge | 3 | 20 | 
| x8i.2xlarge | 3 | 40 | 
| x8i.4xlarge | 7 | 60 | 
| x8i.8xlarge | 9 | 90 | 
| x8i.12xlarge | 11 | 120 | 
| x8i.16xlarge | 15 | 120 | 
| x8i.24xlarge | 15 | 120 | 
| x8i.32xlarge | 23 | 120 | 
| x8i.48xlarge | 23 | 120 | 
| x8i.64xlarge | 23 | 120 | 
| x8i.96xlarge | 23 | 120 | 
| x8i.metal-48xl | 23 | 120 | 
| x8i.metal-96xl | 23 | 120 | 

## Otimizada para armazenamento
<a name="eni-branch-so"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| i4g.large | 2 | 10 | 
| i4g.xlarge | 3 | 20 | 
| i4g.2xlarge | 3 | 40 | 
| i4g.4xlarge | 7 | 60 | 
| i4g.8xlarge | 7 | 60 | 
| i4g.16xlarge | 14 | 120 | 
| i4i.xlarge | 3 | 8 | 
| i4i.2xlarge | 3 | 28 | 
| i4i.4xlarge | 7 | 58 | 
| i4i.8xlarge | 7 | 118 | 
| i4i.12xlarge | 7 | 118 | 
| i4i.16xlarge | 14 | 248 | 
| i4i.24xlarge | 14 | 118 | 
| i4i.32xlarge | 14 | 498 | 
| i4i.metal | 14 | 498 | 
| i7i.large | 2 | 10 | 
| i7i.xlarge | 3 | 20 | 
| i7i.2xlarge | 3 | 40 | 
| i7i.4xlarge | 7 | 60 | 
| i7i.8xlarge | 7 | 90 | 
| i7i.12xlarge | 7 | 90 | 
| i7i.16xlarge | 14 | 120 | 
| i7i.24xlarge | 14 | 120 | 
| i7i.48xlarge | 14 | 120 | 
| i7i.metal-24xl | 14 | 120 | 
| i7i.metal-48xl | 14 | 120 | 
| i7ie.large | 2 | 20 | 
| i7ie.xlarge | 3 | 29 | 
| i7ie.2xlarge | 3 | 29 | 
| i7ie.3xlarge | 3 | 29 | 
| i7ie.6xlarge | 7 | 60 | 
| i7ie.12xlarge | 7 | 60 | 
| i7ie.18xlarge | 14 | 120 | 
| i7ie.24xlarge | 14 | 120 | 
| i7ie.48xlarge | 14 | 120 | 
| i7ie.metal-24xl | 14 | 120 | 
| i7ie.metal-48xl | 14 | 120 | 
| i8g.large | 2 | 10 | 
| i8g.xlarge | 3 | 20 | 
| i8g.2xlarge | 3 | 40 | 
| i8g.4xlarge | 7 | 60 | 
| i8g.8xlarge | 7 | 60 | 
| i8g.12xlarge | 7 | 60 | 
| i8g.16xlarge | 14 | 120 | 
| i8g.24xlarge | 14 | 120 | 
| i8g.48xlarge | 14 | 120 | 
| i8g.metal-24xl | 14 | 120 | 
| i8g.metal-48xl | 14 | 120 | 
| i8ge.large | 2 | 20 | 
| i8ge.xlarge | 3 | 29 | 
| i8ge.2xlarge | 3 | 29 | 
| i8ge.3xlarge | 5 | 29 | 
| i8ge.6xlarge | 9 | 60 | 
| i8ge.12xlarge | 11 | 60 | 
| i8ge.18xlarge | 15 | 120 | 
| i8ge.24xlarge | 15 | 120 | 
| i8ge.48xlarge | 23 | 120 | 
| i8ge.metal-24xl | 15 | 120 | 
| i8ge.metal-48xl | 23 | 120 | 
| im4gn.large | 2 | 10 | 
| im4gn.xlarge | 3 | 20 | 
| im4gn.2xlarge | 3 | 40 | 
| im4gn.4xlarge | 7 | 60 | 
| im4gn.8xlarge | 7 | 60 | 
| im4gn.16xlarge | 14 | 120 | 
| is4gen.medium | 1 | 4 | 
| is4gen.large | 2 | 10 | 
| is4gen.xlarge | 3 | 20 | 
| is4gen.2xlarge | 3 | 40 | 
| is4gen.4xlarge | 7 | 60 | 
| is4gen.8xlarge | 7 | 60 | 

## Computação acelerada
<a name="eni-branch-ac"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| dl1.24xlarge | 59 | 120 | 
| dl2q.24xlarge | 14 | 120 | 
| f2.6xlarge | 7 | 90 | 
| f2.12xlarge | 7 | 120 | 
| f2.48xlarge | 14 | 120 | 
| g4ad.xlarge | 1 | 12 | 
| g4ad.2xlarge | 1 | 12 | 
| g4ad.4xlarge | 2 | 12 | 
| g4ad.8xlarge | 3 | 12 | 
| g4ad.16xlarge | 7 | 12 | 
| g5.xlarge | 3 | 6 | 
| g5.2xlarge | 3 | 19 | 
| g5.4xlarge | 7 | 40 | 
| g5.8xlarge | 7 | 90 | 
| g5.12xlarge | 14 | 120 | 
| g5.16xlarge | 7 | 120 | 
| g5.24xlarge | 14 | 120 | 
| g5.48xlarge | 6 | 120 | 
| g5g.xlarge | 3 | 20 | 
| g5g.2xlarge | 3 | 40 | 
| g5g.4xlarge | 7 | 60 | 
| g5g.8xlarge | 7 | 60 | 
| g5g.16xlarge | 14 | 120 | 
| g5g.metal | 14 | 120 | 
| g6.xlarge | 3 | 20 | 
| g6.2xlarge | 3 | 40 | 
| g6.4xlarge | 7 | 60 | 
| g6.8xlarge | 7 | 90 | 
| g6.12xlarge | 7 | 120 | 
| g6.16xlarge | 14 | 120 | 
| g6.24xlarge | 14 | 120 | 
| g6.48xlarge | 14 | 120 | 
| g6e.xlarge | 3 | 20 | 
| g6e.2xlarge | 3 | 40 | 
| g6e.4xlarge | 7 | 60 | 
| g6e.8xlarge | 7 | 90 | 
| g6e.12xlarge | 9 | 120 | 
| g6e.16xlarge | 14 | 120 | 
| g6e.24xlarge | 19 | 120 | 
| g6e.48xlarge | 39 | 120 | 
| g6f.large | 1 | 10 | 
| g6f.xlarge | 3 | 20 | 
| g6f.2xlarge | 3 | 40 | 
| g6f.4xlarge | 7 | 60 | 
| gr6.4xlarge | 7 | 60 | 
| gr6.8xlarge | 7 | 90 | 
| gr6f.4xlarge | 7 | 60 | 
| g7e.2xlarge | 3 | 242 | 
| g7e.4xlarge | 7 | 242 | 
| g7e.8xlarge | 7 | 242 | 
| g7e.12xlarge | 9 | 242 | 
| g7e.24xlarge | 19 | 242 | 
| g7e.48xlarge | 39 | 242 | 
| inf2.xlarge | 3 | 20 | 
| inf2.8xlarge | 7 | 90 | 
| inf2.24xlarge | 14 | 120 | 
| inf2.48xlarge | 14 | 120 | 
| p4d.24xlarge | 59 | 120 | 
| p4de.24xlarge | 59 | 120 | 
| p5.4xlarge | 3 | 60 | 
| p5.48xlarge | 63 | 242 | 
| p5e.48xlarge | 63 | 242 | 
| p5en.48xlarge | 63 | 242 | 
| p6-b200.48xlarge | 31 | 242 | 
| p6-b300.48xlarge | 67 | 242 | 
| p6e-gb200.36xlarge | 38 | 120 | 
| trn1.2xlarge | 3 | 19 | 
| trn1.32xlarge | 39 | 120 | 
| trn1n.32xlarge | 79 | 242 | 
| trn2.3xlarge | 1 | 14 | 
| trn2.48xlarge | 31 | 242 | 
| trn2u.48xlarge | 31 | 242 | 
| vt1.3xlarge | 3 | 40 | 
| vt1.6xlarge | 7 | 60 | 
| vt1.24xlarge | 14 | 120 | 

## Computação de alta performance
<a name="eni-branch-hpc"></a>


| Tipo de instância | Limite de tarefas sem truncamento da ENI | Limite de tarefas com truncamento da ENI | 
| --- | --- | --- | 
| hpc6a.48xlarge | 1 | 120 | 
| hpc6id.32xlarge | 1 | 120 | 
| hpc7g.4xlarge | 3 | 120 | 
| hpc7g.8xlarge | 3 | 120 | 
| hpc7g.16xlarge | 3 | 120 | 
| hpc8a.96xlarge | 3 | -2 | 

# Reserva de memória da instância de contêiner do Linux no Amazon ECS
<a name="memory-management"></a>

Quando o agente de contêiner do Amazon ECS registra uma instância de contêiner em um cluster, o agente deve determinar a quantidade de memória que a instância de contêiner tem disponível com a finalidade de reservar para as tarefas. Devido à sobrecarga de memória da plataforma e à memória ocupada pelo kernel do sistema, esse número é diferente da memória instalada anunciada para instâncias do Amazon EC2. Por exemplo, uma instância `m4.large` tem 8 GiB de memória instalada. No entanto, isso nem sempre significa que exatos 8.192 MiB de memória estão disponíveis para as tarefas quando a instância de contêiner é registrada.

## Determinação de recursos de memória das instâncias gerenciadas do ECS
<a name="ecs-mi-memory-calculation"></a>

As instâncias gerenciadas do Amazon ECS usam uma abordagem hierárquica para determinar os requisitos de recursos de memória para tarefas. Ao contrário do ECS no EC2, que depende da introspecção de memória do Docker, as instâncias gerenciadas do ECS calculam os requisitos de memória diretamente da carga útil da tarefa durante as decisões de agendamento.

Quando o agente de instâncias gerenciadas do ECS recebe uma tarefa, ele calcula a necessidade de memória usando a seguinte ordem de prioridade:

1. **Memória no nível da tarefa (prioridade mais alta)**: se a memória no nível da tarefa for especificada na definição de tarefa, o agente usará esse valor diretamente. Isso tem precedência sobre todas as configurações de memória no nível do contêiner.

1. **Soma de memória no nível do contêiner (fallback)**: se a memória no nível da tarefa não for especificada (ou for 0), o agente somará os requisitos de memória de todos os contêineres na tarefa. Para cada contêiner, ele usa:

   1. *Reserva de memória (limite flexível)*: se um contêiner especificar `memoryReservation` em sua configuração, o agente usará esse valor.

   1. *Memória do contêiner (limite fixo)*: se `memoryReservation` não for especificado, o agente usará o campo `memory` do contêiner.

**Example Memória especificada no nível da tarefa**  
Quando a memória no nível da tarefa é especificada, ela tem precedência sobre as configurações no nível do contêiner:  

```
{
  "family": "my-task",
  "memory": "2048",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    }
  ]
}
```
O agente reserva 2.048 MiB (a memória no nível da tarefa tem precedência).

**Example Memória no nível do contêiner com reservas**  
Quando a memória no nível da tarefa não é especificada, o agente soma os requisitos de memória do contêiner:  

```
{
  "family": "my-task",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    },
    {
      "name": "container2",
      "memory": 512
    }
  ]
}
```
O agente reserva 512 MiB (reserva de contêiner 1) \$1 512 MiB (memória de contêiner 2) = 1.024 MiB no total.

O agente de instâncias gerenciadas do ECS executa o cálculo de memória em três fases:

1. **Recepção da tarefa**: quando uma carga útil da tarefa chega do ambiente de gerenciamento do ECS, o agente calcula imediatamente a memória necessária.

1. **Armazenamento de recursos**: a necessidade de memória calculada é armazenada no modelo de tarefas para uso posterior em operações contábeis de recursos.

1. **Decisão de agendamento**: antes de aceitar uma tarefa, o agente verifica se há memória suficiente disponível. Se a memória disponível for insuficiente, a tarefa será rejeitada e permanecerá na fila de serviços do ECS até que os recursos estejam disponíveis.

**nota**  
Diferentemente do ECS no EC2, as instâncias gerenciadas do ECS não usam a variável de configuração `ECS_RESERVED_MEMORY`. A reserva de memória para os processos do sistema é feita por meio do gerenciamento de recursos da plataforma subjacente, e o agente faz uma contabilidade precisa dos recursos com base nas definições das tarefas.

 Na opção ECS no EC2, o agente de contêiner do Amazon ECS fornece uma variável de configuração denominada `ECS_RESERVED_MEMORY`, que pode ser usada para remover um número específico de MiB de memória do grupo alocado para as tarefas. Isso reserva de forma efetiva a memória para processos críticos do sistema.

Se você ocupar toda a memória em uma instância de contêiner com as tarefas, é possível que elas disputem a memória com processos essenciais do sistema e iniciem uma falha no sistema.

Por exemplo, se você especificar `ECS_RESERVED_MEMORY=256` no arquivo de configuração do agente de contêiner, o agente registrará a memória total menos 256 MiB para essa instância, e 256 MiB de memória não poderão ser atribuídos para tarefas do ECS. Para obter mais informações sobre as variáveis de configuração do agente e como configurá-las, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md) e [Inicialização de instâncias de contêiner do Linux no Amazon ECS para transmitir dados](bootstrap_container_instance.md).

Se você especificar 8.192 MiB para a tarefa e nenhuma de suas instâncias de contêiner tiver 8.192 MiB ou mais de memória disponível para atender a esse requisito, a tarefa não poderá ser posicionada no cluster. Se estiver usando um ambiente de computação gerenciado, o AWS Batch deverá executar um tipo de instância maior para acomodar a solicitação.

O atendente de contêiner do Amazon ECS usa a função `ReadMemInfo()` do Docker para consultar a memória disponível total para o sistema operacional. Tanto o Linux quanto o Windows oferecem utilitários de linha de comando para determinar a memória total.

**Example - Determinar a memória total do Linux**  
O comando **free** retorna a memória total reconhecida pelo sistema operacional.  

```
$ free -b
```
Exemplo de saída para uma instância `m4.large` executando a AMI do Amazon Linux otimizada para Amazon ECS.  

```
             total       used       free     shared    buffers     cached
Mem:    8373026816  348180480 8024846336      90112   25534464  205418496
-/+ buffers/cache:  117227520 8255799296
```
Essa instância tem 8.373.026.816 bytes de memória total, ou seja, 7.985 MiB estão disponíveis para tarefas.

**Example - Determinar a memória total do Windows**  
O comando **wmic** retorna a memória total reconhecida pelo sistema operacional.  

```
C:\> wmic ComputerSystem get TotalPhysicalMemory
```
Exemplo de saída para uma instância `m4.large` executando a AMI do Windows otimizada para o Amazon ECS.  

```
TotalPhysicalMemory
8589524992
```
Essa instância tem 8.589.524.992 bytes de memória total, ou seja, 8.191 MiB estão disponíveis para tarefas.

## Visualização da memória da instância de contêiner
<a name="viewing-memory"></a>

É possível visualizar a quantidade de memória com a qual uma instância de contêiner é registrada no console do Amazon ECS (ou com a operação da API [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html)). Se estiver tentando maximizar a utilização de recursos fornecendo às suas tarefas o máximo de memória possível para um tipo de instância específico, você pode observar a memória disponível para essa instância de contêiner e atribuir essa quantidade de memória às tarefas.

**Para visualizar a memória da instância de contêiner**

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** e selecione o cluster que hospeda a instância de contêiner.

1. Escolha **Infraestrutura** e, em Instâncias de contêiner, selecione uma instância de contêiner.

1. A seção **Recursos** mostra a memória registrada e disponível para a instância de contêiner.

   O valor da memória **Registrada** é o que a instância de contêiner registrou no Amazon ECS quando foi executada pela primeira vez, e o valor da memória **Disponível** é o que ainda não foi alocado para tarefas.

# Gerenciamento de instâncias de contêiner do Amazon ECS remotamente usando o AWS Systems Manager
<a name="ec2-run-command"></a>

É possível usar o recurso Run Command do AWS Systems Manager (Systems Manager) para gerenciar de forma remota e segura a configuração das instâncias de contêiner do Amazon ECS. O Run Command oferece uma maneira simples de executar tarefas administrativas comuns sem fazer login localmente na instância. É possível gerenciar as alterações de configuração entre clusters executando comandos simultaneamente nas várias instâncias de contêiner. O Run Command reporta o status e os resultados de cada comando.

Veja alguns exemplos dos tipos de tarefas que você pode executar com o Run Command:
+ Instale ou desinstale pacotes.
+ Execute atualizações de segurança.
+ Limpe imagens de docker.
+ Interrompa ou inicie serviços.
+ Visualize os recursos do sistema.
+ Visualize os arquivos de log.
+ Execute operações de arquivos.

Para obter mais informações sobre o Run Command, consulte [Run Command do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) no *Guia do usuário do AWS Systems Manager*.

A seguir, apresentamos os pré-requisitos para usar o Systems Manager com o Amazon ECS.

1. Você deve conceder permissões para acessar as APIs do Systems Manager ao perfil de instância de contêiner (**ecsInstanceRole**). É possível fazer isso ao atribuir **AmazonSSMManagedInstanceCore** ao perfil `ecsInstanceRole`. Para obter informações sobre como anexar uma política a um perfil, 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*.

1. Verifique se o SSM Agent está instalado nas instâncias de contêiner. Para obter mais informações, consulte [Instalar e desinstalar manualmente o SSM Agent em instâncias do EC2 para Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html).

Depois de anexar políticas gerenciadas do Systems Manager a `ecsInstanceRole` e verificar se o Agente (SSM Agent) do AWS Systems Manager está instalado nas instâncias de contêiner, será possível começar a usar o Run Command para enviar comandos às instâncias de contêiner. Para obter informações sobre a execução de comandos e scripts de shell nas instâncias e visualizar a saída resultante, consulte [Executar comandos usando o Run Command do Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) e [Demonstrações do Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command-walkthroughs.html) no *Guia do usuário do AWS Systems Manager.* 

Um caso de uso comum é atualizar o software da instância de contêiner com Executar comando. Você pode seguir os procedimentos no Guia do usuário do AWS Systems Manager com os parâmetros a seguir.


| Parâmetro | Valor | 
| --- | --- | 
|  **Documento de comando**  | AWS-RunShellScript | 
| Comando |  <pre>$ yum update -y</pre> | 
| Instâncias de destino | Suas instâncias de contêiner | 

# Uso de um proxy HTTP para instâncias de contêiner do Linux no Amazon ECS
<a name="http_proxy_config"></a>

É possível configurar as instâncias de contêiner do Amazon ECS para usar um proxy HTTP para o agente de contêiner do Amazon ECS e o daemon do Docker. Isso é útil se suas as instâncias de contêiner não têm acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância. 

Para configurar sua instância de contêiner do Linux do Amazon ECS para usar um proxy HTTP, defina as variáveis a seguir nos arquivos relevantes no momento da inicialização (com dados de usuário do Amazon EC2). Além disso, é possível editar manualmente o arquivo de configuração e, em seguida, reiniciar o agente.

`/etc/ecs/ecs.config` (Amazon Linux 2 e AmazonLinux AMI)    
`HTTP_PROXY=10.0.0.131:3128`  
Defina esse valor para o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo agente do Amazon ECS para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.  
`NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Defina esse valor como `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar metadados da instância do EC2, perfis do IAM para tarefas e o tráfego do daemon do Docker proveniente do proxy. 

`/etc/systemd/system/ecs.service.d/http-proxy.conf` (somente Amazon Linux 2)    
`Environment="HTTP_PROXY=10.0.0.131:3128/"`  
Defina esse valor como o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo `ecs-init` para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock"`  
Defina esse valor como `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar metadados da instância do EC2, funções do IAM para tarefas e o tráfego do daemon do Docker proveniente do proxy. 

`/etc/init/ecs.override` (Somente Amazon Linux AMI)    
`env HTTP_PROXY=10.0.0.131:3128`  
Defina esse valor como o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo `ecs-init` para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.  
`env NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Defina esse valor como `169.254.169.254,169.254.170.2,/var/run/docker.sock` para filtrar metadados da instância do EC2, perfis do IAM para tarefas e o tráfego do daemon do Docker proveniente do proxy. 

`/etc/systemd/system/docker.service.d/http-proxy.conf` (somente Amazon Linux 2)    
`Environment="HTTP_PROXY=http://10.0.0.131:3128"`  
Defina este valor para o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo daemon do Docker para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2"`  
Defina este valor como `169.254.169.254,169.254.170.2` para filtrar os metadados da instância EC2 no proxy. 

`/etc/sysconfig/docker` (somente AMI do Amazon Linux AMI e Amazon Linux 2)    
`export HTTP_PROXY=http://10.0.0.131:3128`  
Defina este valor para o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo daemon do Docker para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.  
`export NO_PROXY=169.254.169.254,169.254.170.2`  
Defina este valor como `169.254.169.254,169.254.170.2` para filtrar os metadados da instância EC2 no proxy. 

Definir essas variáveis de ambiente nos arquivos acima só afeta o agente de contêiner do Amazon ECS, `ecs-init`, e o daemon do Docker. Elas não configuram nenhum outro serviço (como **yum**) para usar o proxy.

Para obter informações sobre como configurar o proxy, consulte [How do I set up an HTTP proxy for Docker and the Amazon ECS container agent in Amazon Linux 2 or AL2023](https://repost.aws/knowledge-center/ecs-http-proxy-docker-linux2).

# Configuração de instâncias inicializadas previamente para o grupo do Amazon ECS Auto Scaling
<a name="using-warm-pool"></a>

O Amazon ECS oferece suporte a grupos de alta atividade do Amazon EC2 Auto Scaling. Um grupo de alta atividade é um grupo de instâncias do Amazon EC2 pré-inicializadas e prontas para serem colocadas em serviço. Sempre que sua aplicação precisar sofrer aumento de escala na horizontal, o Amazon EC2 Auto Scaling usa as instâncias pré-inicializadas do grupo de alta atividade em vez de iniciar instâncias frias, permite que qualquer processo de inicialização final seja executado e, em seguida, coloca a instância em serviço.

Para saber mais sobre grupos de alta atividade e como adicionar um grupo de alta atividade ao seu grupo do Auto Scaling, consulte [Grupos de alta atividade para o Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) no *Guia do usuário do Amazon EC2 Auto Scaling*.

Ao criar ou atualizar um grupo de alta atividade para um grupo do Auto Scaling para o Amazon ECS, não é possível definir a opção que retorna instâncias para o grupo de alta atividade ao reduzir a escala horizontalmente (`ReuseOnScaleIn`). Para obter mais informações, consulte [put-warm-pool](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-warm-pool.html) na *Referência da AWS Command Line Interface*.

Para usar grupos de alta atividade com seu cluster do Amazon ECS, defina a variável de configuração do agente `ECS_WARM_POOLS_CHECK` como `true` no campo **User data** (Dados do usuário) do seu modelo de inicialização do grupo do Amazon EC2 Auto Scaling. 

A seguir há um exemplo de como a variável de configuração do agente pode ser especificada no campo **User data** (Dados do usuário) de um modelo de inicialização do Amazon EC2. Substitua *MyCluster* pelo nome do seu cluster.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_WARM_POOLS_CHECK=true
EOF
```

Só há suporte para a variável `ECS_WARM_POOLS_CHECK` nas versões `1.59.0` e posteriores do agente. Para obter mais informações sobre as variáveis, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).

# Atualizar o agente de contêiner do Amazon ECS
<a name="ecs-agent-update"></a>

Ocasionalmente, pode ser necessário atualizar o agente de contêiner do Amazon ECS para obter correções de erros e novos recursos. A atualização do agente de contêiner do Amazon ECS não interrompe a execução das tarefas ou dos serviços na instância de contêiner. O processo de atualização do agente varia, dependendo do local em que a instância de contêiner foi iniciada, se na AMI otimizada para Amazon ECS ou em outro sistema operacional.

**nota**  
As atualizações de agente não se aplicam a instâncias de contêiner do Windows. É recomendável executar novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.

## Verificar a versão do agente de contêiner do Amazon ECS
<a name="checking_agent_version"></a>

É possível verificar a versão do agente de contêiner que está sendo executada nas instâncias de contêiner para saber se é preciso atualizá-la. A exibição da instância de contêiner no console do Amazon ECS fornece a versão do agente. Use o procedimento a seguir para verificar a versão do agente.

------
#### [ Amazon ECS console ]

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

1. Na barra de navegação, escolha a região em que sua instância externa está registrada.

1. No painel de navegação, escolha **Clusters** e selecione o cluster que hospeda a instância externa.

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

1. Em **Container instances** (Instâncias de contêiner), observe a coluna **Agent version** (Versão do agente) para suas instâncias de contêiner. Se a instância de contêiner não contiver a versão mais recente do agente de contêiner, o console o alertará com uma mensagem e sinalizará a versão desatualizada do agente.

   Se a sua versão do agente estiver desatualizada, será possível atualizar seu agente de contêiner com os procedimentos a seguir:
   + Se sua instância de contêiner estiver executando a AMI otimizada para o Amazon ECS, consulte [Atualizar o agente de contêiner do Amazon ECS em uma AMI otimizada para Amazon ECS](agent-update-ecs-ami.md).
   + Se sua instância de contêiner não estiver executando a AMI otimizada para o Amazon ECS, consulte [Atualizar manualmente o agente de contêiner do Amazon ECS (para AMIs não otimizadas para Amazon ECS)](manually_update_agent.md).
**Importante**  
Para atualizar versões do agente do Amazon ECS anteriores à v1.0.0 na AMI otimizada para Amazon ECS, recomendamos que você encerre a instância de contêiner atual e execute uma nova instância com a versão mais recente da AMI. Todas as instâncias de contêiner que usam uma versão de pré-visualização devem ser retiradas e substituídas pela AMI mais recente. Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

------
#### [ Amazon ECS container agent introspection API  ]

Também é possível usar a API de introspecção do agente de contêiner do Amazon ECS para verificar a versão do agente na própria instância de contêiner. Para obter mais informações, consulte [Introspecção de contêiner do Amazon ECS](ecs-agent-introspection.md).

**Para verificar se o agente de contêiner do Amazon ECS está executando a versão mais recente com a API de introspecção**

1. Faça login em sua instância de contêiner via SSH.

1. Consulte a API de introspecção.

   ```
   [ec2-user ~]$ curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```
**nota**  
A API de introspecção incluiu informações de `Version` na versão v1.0.0 do agente de contêiner do Amazon ECS. Se `Version` não estiver presente ao consultar a API de introspecção ou ela não estiver presente no seu agente, a versão que você está executando é v0.0.3 ou anterior. Você deve atualizar a versão.

------

# Atualizar o agente de contêiner do Amazon ECS em uma AMI otimizada para Amazon ECS
<a name="agent-update-ecs-ami"></a>

Se você estiver usando a AMI otimizada para Amazon ECS, terá várias opções para obter a versão mais recente do agente de contêiner do Amazon ECS (mostrado por ordem de recomendação):
+ Encerre as instâncias de contêiner e inicie a versão mais recente da AMI do Amazon Linux 2 otimizada para Amazon ECS (manualmente ou atualizando a configuração de execução do Auto Scaling com a AMI mais recente). O resultado será uma instância de contêiner atualizada com as versões testadas e validadas mais recentes do Amazon Linux, do Docker, do `ecs-init` e do agente de contêiner do Amazon ECS. Para obter mais informações, consulte [AMIs do Linux otimizadas para o Amazon ECS](ecs-optimized_AMI.md).
+ Conecte-se à instância com o SSH e atualize o pacote do `ecs-init` (e suas dependências) para a versão mais recente. Essa operação fornecerá as versões testadas e validadas mais recentes do Docker e do `ecs-init` que estão disponíveis nos repositórios do Amazon Linux e na versão mais recente do agente de contêiner do Amazon ECS. Para obter mais informações, consulte [Para atualizar o pacote `ecs-init` em uma AMI otimizada para o Amazon ECS](#procedure_update_ecs-init).
+ Atualize o agente de contêiner com a operação de API do `UpdateContainerAgent`, através do console ou com a AWS CLI ou os SDKs da AWS. Para obter mais informações, consulte [Atualizar o agente de contêiner do Amazon ECS com a operação de API do `UpdateContainerAgent`](#agent-update-api).

**nota**  
As atualizações de agente não se aplicam a instâncias de contêiner do Windows. É recomendável executar novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.<a name="procedure_update_ecs-init"></a>

**Para atualizar o pacote `ecs-init` em uma AMI otimizada para o Amazon ECS**

1. Faça login em sua instância de contêiner via SSH.

1. Atualize o pacote `ecs-init` com o comando a seguir.

   ```
   sudo yum update -y ecs-init
   ```
**nota**  
O pacote `ecs-init` e o agente de contêiner do Amazon ECS são atualizados imediatamente. No entanto, as versões mais recentes do Docker não serão carregadas até que o daemon do Docker seja reiniciado. Inicie novamente reinicializando a instância ou executando os seguintes comandos em sua instância:  
AMI do Amazon Linux 2 otimizada para Amazon ECS:  

     ```
     sudo systemctl restart docker
     ```
AMI do Amazon Linux otimizada para Amazon ECS:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## Atualizar o agente de contêiner do Amazon ECS com a operação de API do `UpdateContainerAgent`
<a name="agent-update-api"></a>

**Importante**  
A API do `UpdateContainerAgent` só é compatível com variantes Linux da AMI otimizada para o Amazon ECS, com exceção da AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS. Para instâncias de contêiner que usam a AMI do Amazon Linux 2 (arm64) otimizada para Amazon ECS, atualize o pacote `ecs-init` para atualizar o agente. Para instâncias de contêiner que estão executando outros sistemas operacionais, consulte [Atualizar manualmente o agente de contêiner do Amazon ECS (para AMIs não otimizadas para Amazon ECS)](manually_update_agent.md). Se você está usando instâncias de container do Windows. recomendamos que você inicie novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.

O processo da API do `UpdateContainerAgent` começa quando você solicita uma atualização do agente, por meio do console ou com a AWS CLI ou AWS SDKs. O Amazon ECS compara a versão atual do agente com a versão mais recente disponível e verifica se é possível realizar uma atualização. Se uma atualização não estiver disponível, por exemplo, se o agente já estiver executando a versão mais recente, um `NoUpdateAvailableException` será retornado.

Os estágios do processo de atualização mostrados acima são os seguintes:

`PENDING`  
Uma atualização de agente está disponível, e o processo de atualização iniciou.

`STAGING`  
O agente começou a baixar a atualização do agente. Se o agente não conseguir baixar a atualização ou se o conteúdo da atualização estiver incorreto ou corrompido, o agente enviará uma notificação da falha, e a atualização passará para o estado `FAILED`.

`STAGED`  
O download do agente foi concluído e o conteúdo do agente foi verificado.

`UPDATING`  
O serviço `ecs-init` é reiniciado e obtém a nova versão do agente. Se, por algum motivo, não for possível reiniciar o agente, a atualização passará para o estado `FAILED`; do contrário, o agente informará ao Amazon ECS que a atualização foi concluída.

**nota**  
As atualizações de agente não se aplicam a instâncias de contêiner do Windows. É recomendável executar novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.

**Para atualizar o agente de contêiner do Amazon ECS em uma AMI otimizada para Amazon ECS no console**

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

1. Na barra de navegação, escolha a região em que sua instância externa está registrada.

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

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

1. Em **Instâncias de contêiner**, selecione as instâncias a serem atualizadas e escolha **Ações**, **Agente de atualização**.

# Atualizar manualmente o agente de contêiner do Amazon ECS (para AMIs não otimizadas para Amazon ECS)
<a name="manually_update_agent"></a>

Ocasionalmente, pode ser necessário atualizar o agente de contêiner do Amazon ECS para obter correções de erros e novos recursos. A atualização do agente de contêiner do Amazon ECS não interrompe a execução das tarefas ou dos serviços na instância de contêiner.
**nota**  
As atualizações de agente não se aplicam a instâncias de contêiner do Windows. É recomendável executar novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.

1. Faça login em sua instância de contêiner via SSH.

1. Verifique se o seu agente usa a variável de ambiente `ECS_DATADIR` para salvar seu estado.

   ```
   ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Resultado:

   ```
   "ECS_DATADIR=/data",
   ```
**Importante**  
Se o comando anterior não retornar a variável de ambiente `ECS_DATADIR`, você deverá interromper todas as tarefas em execução nessa instância de contêiner antes de atualizar seu agente. Agentes mais novos com a variável de ambiente `ECS_DATADIR` salvam seu estado, e você pode atualizá-los enquanto as tarefas são executadas sem problemas.

1. Interrompa o agente de contêiner do Amazon ECS.

   ```
   ubuntu:~$ docker stop ecs-agent
   ```

1. Exclua o contêiner de agente.

   ```
   ubuntu:~$ docker rm ecs-agent
   ```

1. Verifique se o diretório `/etc/ecs` e o arquivo de configuração do agente de contêiner do Amazon ECS existem em `/etc/ecs/ecs.config`.

   ```
   ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
   ```

1. Edite o arquivo `/etc/ecs/ecs.config` e verifique se ele contém pelo menos as seguintes instruções de variável. Se você não quiser que sua instância de contêiner seja registrada no cluster padrão, especifique seu nome de cluster como o valor para `ECS_CLUSTER`.

   ```
   ECS_DATADIR=/data
   ECS_ENABLE_TASK_IAM_ROLE=true
   ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
   ECS_LOGFILE=/log/ecs-agent.log
   ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
   ECS_LOGLEVEL=info
   ECS_CLUSTER=default
   ```

   Para obter mais informações sobre essas e outras opções de runtime de agente, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).
**nota**  
É possível, opcionalmente, armazenar suas variáveis de ambiente do agente no Amazon S3 (que podem ser baixadas para as instâncias de contêiner no momento da inicialização usando os dados de usuário do Amazon EC2). Isso é recomendado para informações confidenciais, como credenciais de autenticação para repositórios privados. Para obter mais informações, consulte [Armazenamento da configuração da instância de contêiner do Amazon ECS no Amazon S3](ecs-config-s3.md) e [Uso de imagens de contêiner que não são da AWS no Amazon ECS](private-auth.md).

1. Extraia a imagem de agente de contêiner do Amazon ECS mais recente do Amazon Elastic Container Registry Public.

   ```
   ubuntu:~$ docker pull public.ecr.aws/ecs/amazon-ecs-agent:latest
   ```

   Resultado:

   ```
   Pulling repository amazon/amazon-ecs-agent
   a5a56a5e13dc: Download complete
   511136ea3c5a: Download complete
   9950b5d678a1: Download complete
   c48ddcf21b63: Download complete
   Status: Image is up to date for amazon/amazon-ecs-agent:latest
   ```

1. Execute o agente de contêiner do Amazon ECS mais recente na instância de contêiner.
**nota**  
Use políticas de reinicialização do Docker ou um gerenciador de processos (como **upstart** ou **systemd**) para tratar o agente de contêiner como um serviço ou um daemon e garantir que ele seja reiniciado após sair. A AMI otimizada para Amazon ECS usa o RPM `ecs-init` para essa finalidade, e você pode visualizar o [código-fonte para esse RPM](https://github.com/aws/amazon-ecs-init) no GitHub. 

   O comando de execução de agente do exemplo a seguir é dividido em linhas separadas para mostrar cada opção. Para obter mais informações sobre essas e outras opções de runtime de agente, consulte [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md).
**Importante**  
Os sistemas operacionais com o SELinux habilitado requerem a opção `--privileged` em seu comando **docker run**. Além disso, para instâncias de contêiner habilitadas para SELinux, recomendamos que você adicione a opção `:Z` às montagens de volume `/log` e `/data`. No entanto, as montagens de host para esses volumes devem existir para que você execute o comando; caso contrário, você receberá um erro `no such file or directory`. Execute a seguinte ação se você tiver dificuldades para executar o agente do Amazon ECS em uma instância de contêiner habilitada para o SELinux:  
Crie os pontos de montagem de volume de host na instância de contêiner.  

     ```
     ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
     ```
Adicione a opção `--privileged` ao comando **docker run** abaixo.
Anexe a opção `:Z` às montagens de volume de contêiner `/log` e `/data` (por exemplo, `--volume=/var/log/ecs/:/log:Z`) ao comando **docker run** abaixo.

   ```
   ubuntu:~$ sudo docker run --name ecs-agent \
   --detach=true \
   --restart=on-failure:10 \
   --volume=/var/run:/var/run \
   --volume=/var/log/ecs/:/log \
   --volume=/var/lib/ecs/data:/data \
   --volume=/etc/ecs:/etc/ecs \
   --volume=/etc/ecs:/etc/ecs/pki \
   --net=host \
   --env-file=/etc/ecs/ecs.config \
   amazon/amazon-ecs-agent:latest
   ```
**nota**  
Se você receber uma mensagem `Error response from daemon: Cannot start container`, poderá excluir o contêiner com falha com o comando **sudo docker rm ecs-agent** e tentar executar o comando novamente. 

# AMIs do Windows otimizadas para o Amazon ECS
<a name="ecs-optimized_windows_AMI"></a>

As AMIs otimizadas para Amazon ECS são pré-configuradas com os componentes necessários para a execução de workloads do ECS. Embora você possa criar sua própria AMI de instância de contêiner que atenda às especificações básicas necessárias para executar workloads em contêineres no Amazon ECS, as AMIs otimizadas para Amazon ECS são pré-configuradas e testadas no Amazon ECS por engenheiros da AWS. É a maneira mais simples de você começar e fazer com que seus contêineres sejam executados na AWS rapidamente.

Para cada variante, os metadados da AMI otimizada para o Amazon ECS, incluindo o nome da AMI, a versão do agente do contêiner do Amazon ECS e a versão do runtime do Amazon ECS, que inclui a versão do Docker, podem ser recuperados de forma programática. Para obter mais informações, consulte [Recuperação de metadados da AMI do Windows otimizada para o Amazon ECS](retrieve-ecs-optimized_windows_AMI.md).

**Importante**  
 Todas as variantes da AMI otimizadas para o ECS produzidas depois de agosto de 2022 serão migradas do Docker EE (Mirantis) para o Docker CE (projeto Moby).  
Para garantir que os clientes tenham as atualizações de segurança mais recentes por padrão, o Amazon ECS mantém pelo menos as três últimas AMIs otimizadas para Amazon ECS do Windows. Depois de lançar novas AMIs otimizadas para Amazon ECS do Windows, o Amazon ECS torna privadas as AMIs otimizadas para Amazon ECS do Windows mais antigas. Se você precisar ter acesso a uma AMI privada, avise-nos abrindo um tíquete no suporte à nuvem.

## Variantes da AMI otimizada para Amazon ECS
<a name="ecs-optimized-ami-variants"></a>

As seguintes variantes do Windows Server da AMI otimizada para Amazon ECS estão disponíveis para instâncias do Amazon EC2.

**Importante**  
Todas as variantes de AMI otimizadas para o ECS produzidas após agosto serão migradas do Docker EE (Mirantis) para o Docker CE (projeto Moby).
+ **AMI do Windows Server 2025 Full otimizada para Amazon ECS** 
+ **AMI do Windows Server 2025 Core otimizada para Amazon ECS** 
+ **AMI do Windows Server 2022 Full otimizada para Amazon ECS** 
+ **AMI do Windows Server 2022 Core otimizada para Amazon ECS** 
+ **AMI do Windows Server 2019 Full otimizada para Amazon ECS** 
+ **AMI do Windows Server 2019 Core otimizada para Amazon ECS** 
+ **AMI do Windows Server 2016 Full otimizada para Amazon ECS**

**Importante**  
O Windows Server 2016 não oferece suporte à versão mais recente do Docker, por exemplo, 25.x.x. Portanto, as AMIs do Windows Server 2016 Full não receberão patches de segurança ou bugs no runtime do Docker. Recomendamos que você mude para uma das seguintes plataformas do Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

Em 9 de agosto de 2022, a AMI do Windows Server 20H2 Core otimizada para Amazon ECS atingiu sua data de término do suporte. Nenhuma nova versão dessa AMI será lançada. Para obter mais informações, consulte [Windows Server release information](https://learn.microsoft.com/en-us/windows-server/get-started/windows-server-release-info).

O Windows Server 2025, Windows Server 2022, Windows Server 2019 e o Windows Server 2016 são versões de canal de manutenção em longo prazo (LTSC). O Windows Server 20H2 é uma versão do canal semestral (SAC). Para obter mais informações, consulte [Windows Server release information](https://learn.microsoft.com/en-us/windows-server/get-started/windows-server-release-info).

### Considerações
<a name="windows_caveats"></a>

Veja algumas coisas que você deve saber sobre contêineres do Windows do Amazon EC2 e o Amazon ECS.
+ Os contêineres do Windows não podem ser executados em instâncias de contêiner do Linux, e o oposto também ocorre. Para uma melhor colocação de tarefas para Windows e Linux, mantenha as instâncias de contêiner do Windows e do Linux em clusters separados e só coloque tarefas do Windows em clusters do Windows. É possível garantir que as definições de tarefa do Windows só sejam colocadas em instâncias do Windows, para tal definindo a restrição de posicionamento a seguir: `memberOf(ecs.os-type=='windows')`.
+ Há suporte para contêineres do Windows nas tarefas que usam o EC2 e o Fargate.
+ Os contêineres do Windows e as instâncias de contêiner não podem oferecer suporte a todos os parâmetros de definição de tarefa disponíveis para contêineres e instâncias de contêiner do Linux. Para alguns parâmetros, eles sequer são compatíveis e outros se comportam de maneira diferente no Windows em comparação com o Linux. Para obter mais informações, consulte [Diferenças de definição de tarefa do Amazon ECS para instâncias do EC2 executando o Windows](windows_task_definitions.md).
+ Para o recurso de funções do IAM para tarefas, é necessário configurar as instâncias de contêiner do Windows para permitir o recurso na inicialização. Seus contêineres devem executar algum código do PowerShell fornecido quando usam o recurso. Para obter mais informações, consulte [Configuração adicional de instância do Windows no Amazon EC2](task-iam-roles.md#windows_task_IAM_roles).
+ O recurso de funções do IAM para tarefas usa um proxy de credencial para fornecer credenciais aos contêineres. Como esse proxy de credencial ocupa a porta 80 na instância de contêiner, caso você use funções do IAM para as tarefas, a porta 80 não permanecerá disponível para tarefas. Para contêineres de serviço da Web, você pode usar o Application Load Balancer e o mapeamento de porta dinâmico para fornecer conexões de porta 80 HTTP padrão aos contêineres. Para obter mais informações, consulte [Uso do balanceamento de carga para distribuir o tráfego de serviço do Amazon ECS](service-load-balancing.md).
+ As imagens do Docker do servidor do Windows são grandes (9 GiB). Dessa forma, as instâncias de contêiner do Windows exigem mais espaço de armazenamento do que as instâncias de contêiner do Linux.
+ Para executar um contêiner do Windows em um Windows Server, a versão do sistema operacional da imagem base do contêiner deve corresponder à do host. Para obter mais informações, consulte [Compatibilidade de versão do contêiner do Windows](https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-2022%2Cwindows-11) no site de documentação da Microsoft. Caso seu cluster execute várias versões do Windows, é possível garantir que uma tarefa seja colocada em uma instância do EC2 em execução na mesma versão usando a restrição de posicionamento: `memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>)`. Para obter mais informações, consulte [Recuperação de metadados da AMI do Windows otimizada para o Amazon ECS](retrieve-ecs-optimized_windows_AMI.md).

# Recuperação de metadados da AMI do Windows otimizada para o Amazon ECS
<a name="retrieve-ecs-optimized_windows_AMI"></a>

O ID da AMI, o nome da imagem, o sistema operacional, a versão do agente de contêiner e a versão do runtime para cada variante das AMIs otimizadas para Amazon ECS podem ser recuperados de maneira programática, consultando a API do Systems Manager Parameter Store. Para obter mais informações sobre a API do Systems Manager Parameter Store, consulte [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) e [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html).

**nota**  
O usuário administrador precisa ter as seguintes permissões do IAM para recuperar os metadados da AMI otimizada para Amazon ECS. Essas permissões foram adicionadas à política `AmazonECS_FullAccess` do IAM.  
ssm:GetParameters
ssm:GetParameter
ssm:GetParametersByPath

## Formato de parâmetro do Systems Manager Parameter Store
<a name="ecs-optimized-ami-parameter-format"></a>

**nota**  
Os parâmetros a seguir da API do Systems Manager Parameter Store estão obsoletos e não devem ser usados para recuperar as AMIs mais recentes do Windows:  
`/aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended/image_id `
`/aws/service/ecs/optimized-ami/windows_server/2019/english/full/recommended/image_id`

Veja a seguir o formato do nome do parâmetro para cada variante da AMI otimizada para Amazon ECS.
+ Metadados da AMI do Windows Server 2025 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2025 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2022 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2022 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2019 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2019 Core:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized
  ```
+ Metadados da AMI do Windows Server 2016 Full:

  ```
  /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized
  ```

O formato de nome de parâmetro a seguir recupera os metadados da última versão estável da AMI do Windows Server 2019 Full.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
```

Veja a seguir um exemplo do objeto JSON retornado para o valor do parâmetro.

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized",
            "Type": "String",
            "Value": "{\"image_name\":\"Windows_Server-2019-English-Full-ECS_Optimized-2023.06.13\",\"image_id\":\"ami-0debc1fb48e4aee16\",\"ecs_runtime_version\":\"Docker (CE) version 20.10.21\",\"ecs_agent_version\":\"1.72.0\"}",
            "Version": 58,
            "LastModifiedDate": "2023-06-22T19:37:37.841000-04:00",
            "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

Cada um dos campos na saída acima está disponível para ser consultado como subparâmetros. Crie o caminho do parâmetro para um subparâmetro anexando o nome do subparâmetro ao caminho para a AMI selecionada. Os seguintes subparâmetros estão disponíveis:
+ `schema_version`
+ `image_id`
+ `image_name`
+ `os`
+ `ecs_agent_version`
+ `ecs_runtime_version`

## Exemplos
<a name="ecs-optimized-ami-windows-parameter-examples"></a>

Os exemplos a seguir mostram maneiras como você pode recuperar os metadados de cada variante da AMI otimizada para Amazon ECS.

### Recuperar os metadados da AMI otimizada para Amazon ECS estável mais recente
<a name="ecs-optimized-ami-windows-parameter-examples-1"></a>

É possível recuperar a AMI otimizada para Amazon ECS estável mais recente por meio da AWS CLI, usando os comandos da AWS CLI a seguir.
+ **Para a AMI do Windows Server 2025 Full otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2025 Core otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2022 Full otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2022 Core otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2019 Full otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2019 Core otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized --region us-east-1
  ```
+ **Para a AMI do Windows Server 2016 Full otimizada para Amazon ECS:**

  ```
  aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized --region us-east-1
  ```

### Usar a mais recente e recomendada AMI otimizada para Amazon ECS em um modelo do CloudFormation
<a name="ecs-optimized-ami-windows-parameter-examples-5"></a>

É possível referenciar a mais recente e recomendada AMI otimizada para Amazon ECS em um modelo do CloudFormation fazendo referência ao nome do armazenamento de parâmetros do Systems Manager.

```
Parameters:
  LatestECSOptimizedAMI:
    Description: AMI ID
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized/image_id
```

# Versões da AMI do Windows otimizada para o Amazon ECS
<a name="ecs-windows-ami-versions"></a>

Visualize as versões atuais e anteriores das AMIs otimizadas para o Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS, do Docker e do pacote `ecs-init`.

Os metadados da AMI otimizada para Amazon ECS, incluindo o ID da AMI, podem ser recuperados de maneira programática em cada variante. Para obter mais informações, consulte [Recuperação de metadados da AMI do Windows otimizada para o Amazon ECS](retrieve-ecs-optimized_windows_AMI.md). 

As guias a seguir exibem uma lista de versões de AMIs do Windows otimizadas para Amazon ECS. Para obter detalhes sobre como referenciar o parãmetro do Systems Manager Parameter Store em um modelo do CloudFormation, consulte [Usar a mais recente e recomendada AMI otimizada para Amazon ECS em um modelo do CloudFormation](retrieve-ecs-optimized_AMI.md#ecs-optimized-ami-parameter-examples-5).

**Importante**  
Para garantir que os clientes tenham as atualizações de segurança mais recentes por padrão, o Amazon ECS mantém pelo menos as três últimas AMIs otimizadas para Amazon ECS do Windows. Depois de lançar novas AMIs otimizadas para Amazon ECS do Windows, o Amazon ECS torna privadas as AMIs otimizadas para Amazon ECS do Windows mais antigas. Se você precisar ter acesso a uma AMI privada, avise-nos abrindo um tíquete no suporte à nuvem.  
O Windows Server 2016 não oferece suporte à versão mais recente do Docker, por exemplo, 25.x.x. Portanto, as AMIs do Windows Server 2016 Full não receberão patches de segurança ou bugs no runtime do Docker. Recomendamos que você mude para uma das seguintes plataformas do Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

**nota**  
O registro em log do plug-in gMSA foi migrado de log baseado em arquivo em `(C:\ProgramData\Amazon\gmsa)` para o Windows Event logging  com o lançamento da AMI de agosto de 2025. O script coletor de logs público coletará todos os logs do gMSA. Para obter mais informações, consulte [Coleta de logs de contêiner com o coletor de logs do Amazon ECS](ecs-logs-collector.md).

------
#### [ Windows Server 2025 Full AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2025 Full otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2025 Full otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.96.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Full-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2025 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2025 Core AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2025 Core otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2025 Core otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.96.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2025-English-Core-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2025 Core otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2025-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2022 Full AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2022 Full otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2022 Full otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2022-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2022 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2022 Core AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2022 Core otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2022 Core otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2022-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2022 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2019 Full AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2019 Full otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2019 Full otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2019-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2019 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
```

------
#### [ Windows Server 2019 Core AMI versions ]

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2019 Core otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2019 Core otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.08.24**  |  `1.98.0`  |  `25.0.6 (Docker CE)`  |  Public  | 
| Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.08.16 | 1.97.1 | 25.0.6 (Docker CE) | Public | 
|  **Windows\$1Server-2019-English-Core-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `25.0.6 (Docker CE)`  |  Public  | 

Use o seguinte comando da AWS CLI para recuperar a AMI do Windows Server 2019 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-ECS_Optimized
```

------
#### [ Windows Server 2016 Full AMI versions ]

**Importante**  
O Windows Server 2016 não oferece suporte à versão mais recente do Docker, por exemplo, 25.x.x. Portanto, as AMIs do Windows Server 2016 Full não receberão patches de segurança ou bugs no runtime do Docker. Recomendamos que você mude para uma das seguintes plataformas do Windows:  
Windows Server 2022 Full
Windows Server 2022 Core
Windows Server 2019 Full
Windows Server 2019 Core

A tabela a seguir lista as versões atuais e anteriores da AMI do Windows Server 2016 Full otimizada para Amazon ECS e suas versões correspondentes do agente de contêiner do Amazon ECS e do Docker.


|  AMI do Windows Server 2016 Full otimizada para Amazon ECS  |  Versão do agente de contêiner do Amazon ECS  |  Versão do Docker  |  Visibility  | 
| --- | --- | --- | --- | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.09.13**  |  `1.99.0`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.08.16**  |  `1.97.1`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.07.16**  |  `1.95.0`  |  `20.10.23 (Docker CE)`  |  Public  | 
|  **Windows\$1Server-2016-English-Full-ECS\$1Optimized-2025.06.13**  |  `1.94.0`  |  `20.10.23 (Docker CE)`  |  Public  | 

Use a seguinte AWS CLI AMI do Windows Server 2016 Full otimizada para Amazon ECS.

```
aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized
```

------

# Criar sua própria AMI do Windows otimizada para Amazon ECS
<a name="windows-custom-ami"></a>

Use o EC2 Image Builder para criar sua própria AMI personalizada do Windows otimizada para o Amazon ECS. Isso facilita o uso de uma AMI do Windows com sua própria licença no Amazon ECS. O Amazon ECS fornece um componente gerenciado do Image Builder que fornece a configuração do sistema necessária para executar instâncias do Windows para hospedar os contêineres. Cada componente gerenciado do Amazon ECS inclui um agente de contêiner específico e uma versão do Docker. É possível personalizar a imagem para usar o componente gerenciado do Amazon ECS mais recente ou, se for necessário um agente de contêiner ou uma versão do Docker mais antiga, poderá especificar um componente diferente.

Para obter uma demonstração completa do uso do EC2 Image Builder, consulte [Conceitos básicos do EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/set-up-ib-env.html#image-builder-accessing-prereq) no *Guia do usuário do EC2 Image Builder*.

Ao criar sua própria AMI do Windows otimizada para Amazon ECS usando o EC2 Image Builder, você cria uma receita de imagem. Sua receita de imagem deve atender aos seguintes requisitos:
+ A **imagem de origem** deve ser baseada no Windows Server 2019 Core, no Windows Server 2019 Full, no Windows Server 2022 Core ou no Windows Server 2022 Full. Nenhum outro sistema operacional Windows tem suporte. E, nesse caso, pode haver incompatibilidade com o componente.
+ Ao especificar os **Componentes de criação**, o componente `ecs-optimized-ami-windows` é obrigatório. O componente `update-windows` é recomendado, o que garante que a imagem contenha as atualizações de segurança mais recentes.

  Para especificar uma versão de componente diferente, expanda o menu **Versioning options** (Opções de versionamento) e especifique a versão do componente que quer usar. Para obter mais informações, consulte [Listar as versões do componente `ecs-optimized-ami-windows`](#windows-component-list).

## Listar as versões do componente `ecs-optimized-ami-windows`
<a name="windows-component-list"></a>

Ao criar uma receita do EC2 Image Builder e especificar o componente `ecs-optimized-ami-windows`, você pode usar a opção padrão ou especificar uma versão do componente específica. Para determinar quais versões do componente estão disponíveis, juntamente com o agente de contêiner do Amazon ECS e as versões do Docker contidas no componente, use o Console de gerenciamento da AWS.

**Para listar as versões do componente `ecs-optimized-ami-windows` disponíveis**

1. Abra o console do EC2 Image Builder em [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/).

1. Na barra de navegação, selecione a Região em que a imagem está sendo criada.

1. No painel de navegação, no menu **Saved configurations** (Configurações salvas), escolha **Components** (Componentes).

1. Na página **Components** (Componentes), na barra de pesquisa digite `ecs-optimized-ami-windows`, abra o menu de qualificação e selecione **Quick start (Amazon-managed)** (Início rápido [gerenciado pela Amazon]) .

1. Use a coluna **Description** (Descrição) para determinar a versão do componente com o agente de contêiner do Amazon ECS e a versão do Docker de que sua imagem precisa.

# Gerenciamento de instâncias de contêiner do Windows do Amazon ECS
<a name="manage-windows"></a>

Ao usar as instâncias do EC2 para workloads do Amazon ECS, você é responsável pela manutenção das instâncias.

As atualizações de agente não se aplicam a instâncias de contêiner do Windows. É recomendável executar novas instâncias de contêiner para atualizar a versão do agente nos clusters do Windows.

**Topics**
+ [Iniciar uma instância de contêiner](launch_window-container_instance.md)
+ [Inicialização de instâncias de contêiner](bootstrap_windows_container_instance.md)
+ [Uso de um proxy HTTP para instâncias de contêiner do Windows](http_proxy_config-windows.md)
+ [Configuração de instâncias de contêiner para receber avisos de instância spot](windows-spot-instance-draining-container.md)

# Iniciar uma instância de contêiner do Windows do Amazon ECS
<a name="launch_window-container_instance"></a>

As instâncias de contêiner do Amazon ECS são criadas por meio do console do Amazon EC2. Antes de começar, é necessário concluir as etapas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).

Para obter mais informações sobre o assistente de inicialização, consulte [Iniciar uma instância usando o novo assistente de inicialização de instância](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-launch-instance-wizard.html) no *Manual do usuário do Amazon EC2*. 

É possível usar o assistente do Amazon EC2 para iniciar uma instância. É possível usar a seguinte lista para os parâmetros e deixar os parâmetros não listados como padrão. As instruções a seguir orientam você por cada grupo de parâmetros.

## Procedimento
<a name="liw-initiate-instance-launch"></a>

Antes de começar, conclua as etapas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md).

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Na barra de navegação na parte superior da tela, a região atual AWS é exibida [por exemplo, Leste dos EUA (Ohio)]. Selecione uma região na qual a instância será iniciada. Essa escolha é importante, pois alguns recursos do Amazon EC2 podem ser compartilhados entre regiões, enquanto outros não podem. 

1. No painel do console do Amazon EC2, selecione **Launch instance (Executar instância)**.

## Nome e tags
<a name="liw-name-and-tags"></a>

O nome da instância é uma tag em que a chave é **Name** (Nome) e o valor é o nome que você especificar. É possível aplicar tags na instância, sos volumes e nos elementos gráficos elásticos. Para instâncias spot, é possível marcar apenas a solicitação de instância spot. 

A especificação de um nome de instância e de tags adicionais é opcional.
+ Em **Name** (Nome), insira um nome descritivo para a instância. Se você não especificar um nome, a instância poderá ser identificada por seu ID, que é gerado automaticamente quando você inicia a instância.
+ Para adicionar mais tags, selecione **Add additional tag** (Adicionar outra tag). Escolha **Add tag** (Adicionar tag), insira uma chave e um valor, e selecione o tipo de recurso a aplicar a tag. Escolha **Add tag** (Adicionar tag) para cada tag adicional a acrescentar.

## Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon)
<a name="liw-ami"></a>

Uma imagem de máquina da Amazon (AMI) contém as informações necessárias para criar uma instância. Por exemplo, uma AMI pode conter o software necessário para atuar como servidor Web, por exemplo, Apache e seu site.

Para obter as mais recentes AMIs otimizadas para o Amazon ECS e seus valores, consulte [AMI do Windows otimizada para o Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_windows_AMI.html).

Use a barra **Search** (Pesquisa) para encontrar uma AMI otimizada para o Amazon ECS publicada pela AWS.

1. Com base em seus requisitos, insira uma das AMIs a seguir na barra **Search** (Pesquisa) e pressione **Enter**.
   + Windows\$1Server-2022-English-Full-ECS\$1Optimized
   + Windows\$1Server-2022-English-Core-ECS\$1Optimized
   + Windows\$1Server-2019-English-Full-ECS\$1Optimized
   + Windows\$1Server-2019-English-Core-ECS\$1Optimized
   + Windows\$1Server-2016-English-Full-ECS\$1Optimized

1. Na página **Choose an Amazon Machine Image (AMI)** (Escolher uma imagem de máquina da Amazon [AMI]), selecione a guia **Community AMIs** (AMIs da comunidade).

1. Na lista exibida, escolha uma AMI verificada pela Microsoft com a data de publicação mais recente e clique em **Select** (Selecionar).

## Tipo de instância
<a name="liw-instance-type"></a>

O tipo de instância define a configuração do hardware e o tamanho da instância. Os tipos de instâncias maiores têm mais CPU e memória. Para obter mais informações, consulte [Tipos de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
+ Em **Instance type** (Tipo de instância), selecione o tipo de instância da instância. 

   O tipo de instância que você selecionar determinará os recursos disponíveis para execução de suas tarefas.

## Par de chaves (login)
<a name="liw-key-pair"></a>

Em **Key pair name** (Nome do par de chaves), escolha um par de chaves existente ou escolha **Create new key pair** (Criar um novo par de chaves) para criar um novo. 

**Importante**  
Se você escolher a opção **Proceed without key pair (Not recommended)** (Prosseguir sem par de chaves, não recomendado), não conseguirá se conectar à instância a menos que escolha uma AMI configurada para permitir que os usuários façam login de outro modo.

## Configurações de rede
<a name="liw-network-settings"></a>

Defina as configurações de rede, conforme necessário.
+ **Networking platform** (Plataforma de rede): escolha **Virtual Private Cloud (VPC)** (Nuvem privada virtual - VPC) e especifique a sub-rede na seção **Network interfaces** (Interfaces de rede). 
+ **VPC**: selecione uma VPC existente na qual criar o grupo de segurança.
+ **Subnet** (Sub-rede): é possível executar uma instância em uma sub-rede associada a uma zona de disponibilidade, a uma zona local, a uma zona Wavelength ou a um Outpost.

  Para iniciar a instância em uma zona de disponibilidade, selecione a sub-rede na qual a instância será iniciada. Para criar uma nova sub-rede, escolha **Create new subnet (Criar nova sub-rede)** para acessar o console da Amazon VPC. Quando tiver concluído, retorne ao assistente de inicialização da instância e escolha o ícone Refresh (Atualizar) para carregar sua sub-rede na lista.

  Para iniciar a instância em uma zona local, selecione uma sub-rede que você criou na zona local. 

  Para iniciar uma instância em um Outpost, selecione uma sub-rede em uma VPC associada ao Outpost.
+ **Auto-assign Public IP** (Atribuir IP público automaticamente): se sua instância tiver de ser acessada pela Internet pública, verifique se o campo **Auto-assign Public IP** (Atribuir IP público automaticamente) está definido como **Enable** (Habilitar). Em caso negativo, defina esse campo como **Disable** (Desabilitar).
**nota**  
Instâncias de contêiner precisam de acesso para se comunicar com o endpoint do serviço do Amazon ECS. Isso pode ser feito por meio de uma interface do endpoint da VPC ou por meio dos recursos de computação das instâncias de contêiner que tenham endereços IP públicos.  
Para saber mais sobre endpoints da VPC de interface, consulte [Endpoints da VPC de interface do Amazon ECS (AWS PrivateLink)](vpc-endpoints.md).  
Se você não tiver um endpoint da VPC de interface configurado e suas instâncias de contêiner não tiverem endereços IP públicos, elas deverão usar a conversão de endereço de rede (NAT) para fornecer esse acesso. 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* e [Uso de um proxy HTTP para instâncias de contêiner do Linux no Amazon ECS](http_proxy_config.md) neste guia.
+ **Firewall (security groups)** (Firewall, grupos de segurança): use um grupo de segurança para definir regras de firewall da sua instância de contêiner. Essas regras especificam qual tráfego de rede de entrada será fornecido para sua instância de contêiner. Todo o tráfego é ignorado. 
  + Para selecionar um grupo de segurança existente, escolha **Select an existing security group** (Selecionar um grupo de segurança existente) e escolha o grupo de segurança criado em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md)

## Configurar armazenamento
<a name="liw-storage"></a>

A AMI que você selecionou inclui um ou mais volumes de armazenamento, incluindo o volume raiz. É possível especificar volumes adicionais a serem anexados à instância.

É possível usar a exibição **Simple** (Simples).
+ **Storage type** (Tipo de armazenamento): configure o armazenamento para a sua instância de contêiner.

  Se você estiver usando o Amazon Linux AMI otimizado para Amazon ECS, a instância terá dois volumes configurados. O volume **Raiz** é para uso do sistema operacional e o segundo volume do Amazon EBS (anexado a `/dev/xvdcz`) é para uso do Docker.

  Você também pode aumentar ou diminuir os tamanhos de volumes para a sua instância para atender às necessidades dos seus aplicativos.

## Detalhes avançados
<a name="liw-advanced-details"></a>

Em **Advanced details (Detalhes avançados)**, expanda a seção para visualizar os campos e especifique quaisquer parâmetros adicionais para a instância.
+ **Purchasing option (Opção de compra)**: escolha **Request Spot instances** (Solicitar instâncias Spot) para solicitar instâncias Spot. Também é necessário definir os outros campos relacionados a instâncias spot. Para obter mais informações, consulte [Solicitações de instâncias spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html).
**nota**  
Se você estiver usando instâncias spot e vir uma mensagem `Not available`, pode ser necessário escolher um tipo de instância diferente.

  .
+ **IAM instance profile** (Perfil de instância do IAM): selecione a função do IAM de instância de contêiner. Isso geralmente é chamado de `ecsInstanceRole`.
**Importante**  
Se você não iniciar a instância de contêiner com as permissões apropriadas do IAM, o agente do Amazon ECS não poderá se conectar ao cluster. Para obter mais informações, consulte [Função do IAM de instância de contêiner do Amazon ECS](instance_IAM_role.md).
+ (Opcional) **User data** (Dados do usuário): configure a instância de contêiner do Amazon ECS com os dados do usuário, como as variáveis de ambiente de agente de [Configuração do agente de contêiner do Amazon ECS](ecs-agent-config.md). Os scripts de dados do usuário do Amazon EC2 são executados apenas uma vez, quando a instância é iniciada pela primeira vez. Veja a seguir exemplos comuns de quais dados do usuário são usados.
  + Por padrão, sua instância de contêiner é executada em seu cluster padrão. Para executar em um cluster que não seja padrão, escolha a lista **Detalhes avançados**. Em seguida, cole o seguinte script no campo **Dados do usuário** substituindo *your\$1cluster\$1name* pelo nome do seu cluster.

    O `EnableTaskIAMRole` ativa o recurso de funções de tarefas do IAM para as tarefas.

    Além disso, as seguintes opções estão disponíveis quando for usado o modo de rede `awsvpc`.
    + `EnableTaskENI`:este sinalizador ativa a rede de tarefas e é necessário quando é usado o modo de rede `awsvpc`.
    + `AwsvpcBlockIMDS`: este sinalizador opcional bloqueia o acesso IMDS para os contentores de tarefas em execução no modo de rede `awsvpc`.
    + `AwsvpcAdditionalLocalRoutes`: este sinalizador opcional permite que você tenha rotas adicionais no namespace da tarefa.

      Substitua `ip-address` pelo o endereço IP das rotas adicionais, por exemplo, 172.31.42.23/32.

    ```
    <powershell>
    Import-Module ECSTools
    Initialize-ECSAgent -Cluster your_cluster_name -EnableTaskIAMRole -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes
    '["ip-address"]'
    </powershell>
    ```

# Inicialização de instâncias de contêiner do Windows no Amazon ECS para transmitir dados
<a name="bootstrap_windows_container_instance"></a>

Ao iniciar uma instância do Amazon EC2, é possível transmitir dados do usuário para a instância do EC2. Os dados podem ser usados para realizar tarefas de configuração automatizadas em comum e até mesmo executar scripts na inicialização da instância. Para o Amazon ECS, os casos de uso mais comuns para dados de usuário devem transmitir informações de configuração para o daemon do Docker e o agente de contêiner do Amazon ECS.

É possível transmitir vários tipos de dados de usuário para o Amazon EC2, inclusive boothooks de nuvem, scripts de shell e diretivas `cloud-init`. Para obter mais informações sobre esses e outros tipos de formato, consulte a documentação [Cloud-Init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

É possível transmitir esses dados do usuário ao usar o assistente de inicialização do Amazon EC2. Para obter mais informações, consulte [Iniciar uma instância de contêiner do Linux do Amazon ECS](launch_container_instance.md).

## Dados dos usuário do Windows padrão
<a name="windows-default-userdata"></a>

Este exemplo de script de dados do usuário mostra os dados do usuário padrão que as instâncias de contêiner do Windows receberão se você usar o console. O script abaixo faz o seguinte:
+ Define o nome do cluster para o nome que você inseriu.
+ Define as funções do IAM para tarefas.
+ Define `json-file` e `awslogs` como os drivers de registro em log disponíveis.

Além disso, as seguintes opções estão disponíveis quando for usado o modo de rede `awsvpc`.
+ `EnableTaskENI`:este sinalizador ativa a rede de tarefas e é necessário quando é usado o modo de rede `awsvpc`.
+ `AwsvpcBlockIMDS`: este sinalizador opcional bloqueia o acesso IMDS para os contêineres de tarefas em execução no modo de rede `awsvpc`.
+ `AwsvpcAdditionalLocalRoutes`: este sinalizador opcional permite que você tenha rotas adicionais.

  Substitua `ip-address` pelo o endereço IP das rotas adicionais, por exemplo, 172.31.42.23/32.

É possível usar esse script nas próprias instâncias de contêiner (desde que elas sejam iniciadas em AMIs Windows Server otimizadas para o Amazon ECS). 

Substitua a linha `-Cluster cluster-name` para especificar o nome do seu próprio cluster.

```
<powershell>
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes
'["ip-address"]'
</powershell>
```

 Para tarefas do Windows configuradas para usar o driver de log `awslogs`, também é necessário definir a variável de ambiente `ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE` na instância de contêiner. Use a sintaxe a seguir. 

Substitua a linha `-Cluster cluster-name` para especificar o nome do seu próprio cluster.

```
<powershell>
[Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]'
</powershell>
```

## Dados do usuário da instalação do agente do Windows
<a name="agent-service-userdata"></a>

Este exemplo de script de dados do usuário instala o agente de contêiner do Amazon ECS em uma instância iniciada com uma AMI **Windows\$1Server-2016-English-Full-Containers**. Ele foi adaptado com base nas instruções de instalação do agente na página README [Repositório do GitHub do Amazon ECS Container Agent](https://github.com/aws/amazon-ecs-agent).

**nota**  
Esse script é compartilhado com finalidades de exemplo. É muito mais fácil começar a usar os contêineres do Windows usando a AMI do Windows Server otimizada para Amazon ECS. Para obter mais informações, consulte [Criar um cluster do Amazon ECS para workloads do Fargate](create-cluster-console-v2.md).

Para obter informações sobre como instalar o agente do Amazon ECS no Windows Server 2022 Full, consulte o [problema 3753](https://github.com/aws/amazon-ecs-agent/issues/3753) no GitHub.

É possível usar esse script para suas próprias instâncias de contêiner (desde que elas sejam executadas com uma versão da AMI **Windows\$1Server-2016-English-Full-Contêineres**). Não se esqueça de substituir a linha `windows` para especificar o nome de seu próprio cluster (caso não esteja usando um cluster chamado `windows`).

```
<powershell>
# Set up directories the agent uses
New-Item -Type directory -Path ${env:ProgramFiles}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS\data -Force
# Set up configuration
$ecsExeDir = "${env:ProgramFiles}\Amazon\ECS"
[Environment]::SetEnvironmentVariable("ECS_CLUSTER", "windows", "Machine")
[Environment]::SetEnvironmentVariable("ECS_LOGFILE", "${env:ProgramData}\Amazon\ECS\log\ecs-agent.log", "Machine")
[Environment]::SetEnvironmentVariable("ECS_DATADIR", "${env:ProgramData}\Amazon\ECS\data", "Machine")
# Download the agent
$agentVersion = "latest"
$agentZipUri = "https://s3.amazonaws.com/amazon-ecs-agent/ecs-agent-windows-$agentVersion.zip"
$zipFile = "${env:TEMP}\ecs-agent.zip"
Invoke-RestMethod -OutFile $zipFile -Uri $agentZipUri
# Put the executables in the executable directory.
Expand-Archive -Path $zipFile -DestinationPath $ecsExeDir -Force
Set-Location ${ecsExeDir}
# Set $EnableTaskIAMRoles to $true to enable task IAM roles
# Note that enabling IAM roles will make port 80 unavailable for tasks.
[bool]$EnableTaskIAMRoles = $false
if (${EnableTaskIAMRoles}) {
  $HostSetupScript = Invoke-WebRequest https://raw.githubusercontent.com/aws/amazon-ecs-agent/master/misc/windows-deploy/hostsetup.ps1
  Invoke-Expression $($HostSetupScript.Content)
}
# Install the agent service
New-Service -Name "AmazonECS" `
        -BinaryPathName "$ecsExeDir\amazon-ecs-agent.exe -windows-service" `
        -DisplayName "Amazon ECS" `
        -Description "Amazon ECS service runs the Amazon ECS agent" `
        -DependsOn Docker `
        -StartupType Manual
sc.exe failure AmazonECS reset=300 actions=restart/5000/restart/30000/restart/60000
sc.exe failureflag AmazonECS 1
Start-Service AmazonECS
</powershell>
```

# Uso de um proxy HTTP para instâncias de contêiner do Windows no Amazon ECS
<a name="http_proxy_config-windows"></a>

É possível configurar as instâncias de contêiner do Amazon ECS para usar um proxy HTTP para o agente de contêiner do Amazon ECS e o daemon do Docker. Isso é útil se suas as instâncias de contêiner não têm acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.

Para configurar sua instância de contêiner do Windows do Amazon ECS para usar um proxy HTTP, defina as variáveis a seguir no momento da inicialização (com dados de usuário do Amazon EC2).

`[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://proxy.mydomain:port", "Machine")`  
Defina `HTTP_PROXY` como o nome do host (ou endereço IP) e o número de porta de um proxy HTTP a serem usados pelo agente do Amazon ECS para se conectar à Internet. Por exemplo, as instâncias de contêiner podem não ter acesso à rede externa através de um gateway da Internet da Amazon VPC, um gateway NAT ou uma instância.

`[Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine")`  
Defina `NO_PROXY` como `169.254.169.254,169.254.170.2,\\.\pipe\docker_engine` para filtrar os metadados da instância do EC2, as funções do IAM para tarefas e o tráfego do daemon do Docker proveniente do proxy. 

**Example Script de dados do usuário do proxy HTTP do Windows**  
O exemplo de script PowerShell de dados de usuário abaixo configura o agente de contêiner do Amazon ECS e o daemon do Docker para usar um proxy HTTP especificado por você. Você também pode especificar um cluster no qual a instância de contêiner será registrada.  
Para usar esse script ao executar uma instância de contêiner, siga as etapas em [Iniciar uma instância de contêiner do Windows do Amazon ECS](launch_window-container_instance.md). Basta copiar e colar o script do PowerShell abaixo no campo **Dados do usuário** (substitua os valores de exemplo vermelhos pelas suas informações de proxy e cluster).  
A opção `-EnableTaskIAMRole` é necessária para habilitar funções do IAM para tarefas. Para obter mais informações, consulte [Configuração adicional de instância do Windows no Amazon EC2](task-iam-roles.md#windows_task_IAM_roles).

```
<powershell>
Import-Module ECSTools

$proxy = "http://proxy.mydomain:port"
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $proxy, "Machine")
[Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine")

Restart-Service Docker
Initialize-ECSAgent -Cluster MyCluster -EnableTaskIAMRole
</powershell>
```

# Configuração de instâncias de contêiner do Windows no Amazon ECS para receber avisos de instância spot
<a name="windows-spot-instance-draining-container"></a>

O Amazon EC2 encerra, interrompe ou coloca a instância spot em hibernação quando o preço spot excede o preço máximo da solicitação ou a capacidade não está mais disponível. O Amazon EC2 fornece um aviso de interrupção da instância spot, enviando à instância um aviso de dois minutos antes que ela seja interrompida. Se a drenagem da instância spot do Amazon ECS estiver habilitada na instância, o ECS receberá o aviso de interrupção da instância spot e colocará a instância no status `DRAINING`.

**Importante**  
O Amazon ECS monitora os avisos de interrupção da instância spot que têm as ações de instância `terminate` e `stop`. Se você especificou o comportamento de interrupção `hibernate` da instância ao solicitar as instâncias spot ou a frota spot, a drenagem de instâncias spot do Amazon ECS não é compatível com essas instâncias.

Quando uma instância de contêiner é definida como `DRAINING`, o Amazon ECS impede que novas tarefas sejam programadas para posicionamento na instância de contêiner. As tarefas de serviço nas instâncias de contêiner de drenagem que estão com o status de `PENDING` são interrompidas imediatamente. Se houver instâncias de contêiner no cluster disponíveis, as tarefas de serviço de substituição serão iniciadas nelas.

É possível ativar a drenagem de instância spot ao iniciar uma instância. Você deve definir o parâmetro `ECS_ENABLE_SPOT_INSTANCE_DRAINING` antes de iniciar o agente de contêiner. Substitua *my-cluster* pelo nome do cluster.

```
[Environment]::SetEnvironmentVariable("ECS_ENABLE_SPOT_INSTANCE_DRAINING", "true", "Machine")

# Initialize the agent
Initialize-ECSAgent -Cluster my-cluster
```

Para obter mais informações, consulte [Iniciar uma instância de contêiner do Windows do Amazon ECS](launch_window-container_instance.md).