

# Arquitetar instâncias gerenciadas do Amazon ECS
<a name="ManagedInstances"></a>

As instâncias gerenciadas do Amazon ECS são uma opção de computação totalmente gerenciada para o Amazon ECS que permite que você execute workloads em contêineres em toda a variedade de tipos de instância do Amazon EC2 enquanto transfere o gerenciamento da infraestrutura para a AWS. Com as instâncias gerenciadas do Amazon ECS, você pode acessar recursos computacionais específicos, como aceleração de GPU, arquiteturas de CPU próprias, alta performance de rede e tipos especializados de instância, enquanto a AWS lida com provisionamento, ajuste de escala, aplicação de patches e manutenção da infraestrutura subjacente.

Ao usar as instâncias gerenciadas do Amazon ECS, você empacota sua aplicação em contêineres e especifica seus requisitos computacionais. A AWS seleciona automaticamente os tipos de instância do Amazon EC2 de uso geral mais econômicos que atendem às suas necessidades de workload, ou você pode especificar os atributos de instância desejados, incluindo tipos de instância, fabricantes de CPU e aceleradores. As instâncias gerenciadas do Amazon ECS gerenciam completamente todos os aspectos da infraestrutura, incluindo escalabilidade, aplicação de patches e otimização de custos, sem comprometer o acesso aos recursos da AWS e as integrações do Amazon EC2.

As instâncias gerenciadas do Amazon ECS oferecem suporte a contêineres Linux com otimizações e configurações de segurança específicas da plataforma. Por padrão, as instâncias gerenciadas do Amazon ECS otimizam a utilização da infraestrutura colocando várias tarefas menores em instâncias maiores, ajudando a reduzir custos e melhorar os tempos de lançamento das tarefas.

Este tópico descreve os diferentes componentes das tarefas e dos serviços das instâncias gerenciadas do Amazon ECS e identifica as considerações especiais para usá-las com o Amazon ECS.

## Introdução
<a name="managed-instances-walkthrough"></a>

Para começar a usar as instâncias gerenciadas do Amazon ECS, você cria os perfis do IAM necessários e habilita as instâncias gerenciadas do Amazon ECS em sua conta da AWS. Em seguida, você pode criar um provedor de capacidade e iniciar tarefas ou serviços usando o provedor de capacidade de instâncias gerenciadas do Amazon ECS.

Para obter instruções detalhadas sobre como começar, consulte:
+ [Como criar uma tarefa para instâncias gerenciadas do Amazon ECS](getting-started-managed-instances.md)
+ [Como criar uma tarefa para instâncias gerenciadas do Amazon ECS com a AWS CLI](getting-started-managed-instances-cli.md)

## Provedores de capacidade
<a name="managed-instances-capacity-providers"></a>

As instâncias gerenciadas do Amazon ECS usam provedores de capacidade para gerenciar a capacidade computacional das workloads. Você pode usar o provedor de capacidade padrão ou criar provedores personalizados com requisitos de instância específicos.

As seguintes opções de provedores de capacidade estão disponíveis:
+ **Provedor de capacidade padrão**: seleciona automaticamente os tipos de instância de uso geral mais econômicos para seus requisitos de workload.
+ **Provedores de capacidade personalizados**: permitem que você especifique atributos de instância usando a seleção de tipo de instância baseada em atributo, incluindo contagem de vCPU, memória, fabricantes de CPU, tipos de acelerador e tipos específicos de instância.

Uma estratégia de provedor de capacidade só pode conter um tipo de provedor de capacidade da seguinte lista:
+ Instâncias gerenciadas do Amazon ECS
+ Auto Scaling group (Grupo do Auto Scaling)
+ Fargate/Fargate\$1SPOT

## Seleção e otimização de instância
<a name="managed-instances-instance-selection"></a>

O Amazon ECS escolhe os tipos de instância para workloads de instâncias gerenciadas do Amazon ECS usando um dos seguintes métodos:
+ **Seleção automática**: ao usar o provedor de capacidade padrão, o Amazon ECS seleciona automaticamente os tipos de instância de uso geral mais econômicos que atendem aos requisitos de CPU e memória especificados na definição da tarefa.
+ **Seleção baseada em atributo**: ao usar provedores de capacidade personalizados, você pode especificar os atributos da instância como contagem de vCPU, tamanho da memória, fabricantes de CPU, tipos de acelerador e tipos específicos de instância. O Amazon ECS seleciona entre todos os tipos de instância que correspondem aos atributos especificados.

As instâncias gerenciadas do Amazon ECS otimizam a utilização e o custo da infraestrutura por meio de vários mecanismos:
+ Posicionamento multitarefa: por padrão, o Amazon ECS coloca várias tarefas menores em instâncias maiores para maximizar a utilização e reduzir os custos.
+ Consolidação de workload ativa: o Amazon ECS identifica quando as instâncias de contêiner estão realmente ociosas enquanto tenta evitar o encerramento prematuro, o que pode afetar a disponibilidade da aplicação ou a performance da implantação. O sistema respeita o número mínimo e máximo de tarefas definidas para um serviço, o comportamento de iniciar antes de parar e o comportamento de proteção de tarefas.
+ Dimensionamento correto: conforme os requisitos de workload mudam, o Amazon ECS lança instâncias substitutas que são dimensionadas adequadamente para as necessidades atuais.

O Amazon ECS usa janelas de eventos do Amazon EC2 para programar atividades de manutenção durante períodos de tempo preferenciais. As janelas de eventos permitem que você defina períodos recorrentes em que a AWS pode realizar a manutenção nas instâncias, ajudando a minimizar a interrupção das workloads ao alinhar a manutenção com a programação operacional. Para obter mais informações, consulte [Eventos programados para sua instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html) no *Guia do usuário do Amazon EC2 para instâncias do Linux*.

Se você precisar de um isolamento forte, poderá configurar as instâncias gerenciadas do Amazon ECS para executar cada tarefa em uma instância separada, com limites de isolamento de segurança da VM.

## Definições de tarefa
<a name="managed-instances-task-definitions"></a>

As tarefas que usam instâncias gerenciadas do Amazon ECS oferecem suporte à maioria dos parâmetros de definição de tarefa do Amazon ECS. As instâncias gerenciadas do Amazon ECS são compatíveis com as atuais definições de tarefas do Fargate usando a versão 1.4.0 da plataforma, facilitando a migração.

Para usar as instâncias gerenciadas do Amazon ECS, defina o parâmetro de definição de tarefa `requiresCompatibilities` para incluir `MANAGED_INSTANCES`. Suas definições de tarefa podem especificar a compatibilidade das instâncias gerenciadas do Fargate e do Amazon ECS para flexibilidade nas opções de implantação.

## Arquitetura de sistema operacional e CPU
<a name="welcome-operating-system"></a>

Há suporte para os seguintes sistemas operacionais:
+ Bottlerocket

Existem duas arquiteturas disponíveis para a definição de tarefa do Amazon ECS, ARM e X86\$164.

Quando você executar contêineres do Linux nas instâncias gerenciadas do Amazon ECS, será possível usar a arquitetura de CPU X86\$164 ou a arquitetura ARM64 para suas aplicações baseadas em ARM.

## Atributos principais
<a name="managed-instances-key-features"></a>

Veja abaixo os principais recursos de instâncias gerenciadas do Amazon ECS:
+ Selecione tipos de instância do EC2 específicos para atender aos requisitos da sua aplicação, permitindo o acesso a recursos de hardware especializados, como computação acelerada por GPU, recursos específicos de CPU e memória grande.
+ Otimize a utilização e o custo dos recursos com várias tarefas em uma única instância por padrão, ao contrário do Fargate, que executa cada tarefa em seu próprio ambiente isolado.
+ Garanta a conformidade de segurança e a aplicação regular de patches nas instâncias. As instâncias gerenciadas do ECS iniciam a drenagem de instâncias após 14 dias e substituem automaticamente as tarefas baseadas em serviços por novas instâncias.
+ Habilite funções avançadas de rede e administração de sistema em contêineres usando recursos privilegiados do Linux, incluindo CAP\$1NET\$1ADMIN, CAP\$1SYS\$1ADMIN e CAP\$1BPF.

## Perfis do IAM
<a name="managed-instances-iam-roles"></a>

As instâncias gerenciadas do Amazon ECS exigem dois perfis do IAM:
+ *Perfil de infraestrutura*: esse perfil permite que a AWS administre as instâncias gerenciadas do Amazon ECS em seu nome.
+ *Perfil de instância*: é uma forma de transmitir um perfil do IAM às instâncias gerenciadas do Amazon ECS. Esse perfil é usado para:
  + Definir as permissões do IAM para as instâncias gerenciadas do Amazon ECS que executam workloads de contêiner.
  + Permitir que a AWS gerencie essas instâncias em seu nome.
  + Permitir que as instâncias acessem os serviços da AWS de acordo com as permissões definidas no perfil.

## Segurança e conformidade
<a name="managed-instances-security"></a>

As instâncias gerenciadas do Amazon ECS implementam várias camadas de segurança para proteger as workloads:
+ **Configuração segura**: as instâncias gerenciadas do Amazon ECS seguem as práticas recomendadas de segurança da AWS, incluindo nenhum acesso SSH, sistema de arquivos raiz imutável e controles de acesso obrigatórios de kernel via SELinux.
+ **Aplicação automática de patches**: a AWS atualiza as instâncias gerenciadas do Amazon ECS com os patches de segurança mais recentes, respeitando as janelas de manutenção que você configura.
+ **Vida útil limitada da instância**: o ECS inicia automaticamente a drenagem de instâncias após 14 dias, garantindo que suas aplicações sejam executadas em instâncias configuradas adequadamente e com patches de segurança atualizados.
+ **Capacidades privilegiadas**: você tem a opção de habilitar recursos privilegiados do Linux para workloads que precisam deles, como soluções de monitoramento e observabilidade de rede.

As instâncias gerenciadas do Amazon ECS oferecem suporte aos mesmos programas de conformidade do Amazon ECS, incluindo PCI-DSS, HIPAA e FedRAMP. Nas regiões com suporte, as instâncias gerenciadas do Amazon ECS respeitam as configurações de endpoint FIPS da conta para ajudar a alcançar a conformidade com o FedRAMP.

## Redes
<a name="managed-instances-networking"></a>

As instâncias gerenciadas do Amazon ECS oferecem suporte aos modos de rede `awsvpc` e `host`. O modo de rede `awsvpc` fornece a cada tarefa sua própria interface de rede elástica e endereço IP privado na VPC. Isso permite controles refinados de grupo de segurança e ACL de rede da tarefa. No modo de rede `host`, as tarefas compartilham o namespace de rede do host da instância gerenciada do Amazon ECS. Para obter mais informações sobre a rede de tarefas nas instâncias gerenciadas do Amazon ECS, consulte [Rede de tarefas do Amazon ECS para instâncias gerenciadas do Amazon ECS](managed-instance-networking.md).

## Armazenamento de instâncias
<a name="managed-instances-storage"></a>

As instâncias gerenciadas do Amazon ECS oferecem suporte à configuração do tamanho do volume de dados do Amazon EBS anexado à instância. Esse armazenamento é compartilhado entre todas as tarefas executadas na instância e pode ser usado para bind mounts. O volume pode ser compartilhado e montado entre os contêineres usando os parâmetros `volumes`, `mountPoint` e `volumesFrom` na definição da tarefa.

 Ele é anexado durante a criação da instância. Você pode especificar o tamanho do volume, em GiB, ao criar um provedor de capacidade das instâncias gerenciadas do Amazon ECS usando o parâmetro `storageConfiguration`.

```
{
...

    "managedInstancesProvider": {
        "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
        "instanceLaunchTemplate": {
            "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
            "networkConfiguration": {
                "subnets": [
                    "subnet-abcdef01234567",
                    "subnet-bcdefa98765432"
                ],
                "securityGroups": [ 
                    "sg-0123456789abcdef"
                ]
            },
            "storageConfiguration": {
                "storageSizeinGiB" : 100

            }
        }
    }
 ... 
}
```

O tamanho mínimo desse volume é 30 GiB, e o máximo é 16.384 GiB. Por padrão, o tamanho desse volume é 80 GiB.

A imagem de contêiner extraída, compactada e descompactada da tarefa é armazenada no volume. Para determinar a quantidade total de armazenamento de instâncias que sua tarefa precisa usar como bind mount, subtraia a quantidade de armazenamento usada pela imagem do contêiner da quantidade total de armazenamento de instâncias em que a tarefa está alocada.



A performance dos volumes do Amazon EBS anexados às instâncias gerenciadas do Amazon ECS é igual à correspondente performance das instâncias gerenciadas do Amazon EC2, conforme descrito na documentação [Instâncias otimizadas para o Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) no *Guia do usuário do Amazon EC2*.

Você pode criar snapshots do volume para executar uma análise forense dos problemas de segurança ou para depurar sua aplicação. Para obter mais informações sobre como criar snapshots dos volumes do Amazon EBS, consulte [Snapshots do Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html) no *Guia do usuário do Amazon EBS*. Se você habilitar a criptografia do Amazon EBS por padrão, o volume será criptografado com a chave do AWS KMS especificada para criptografia por padrão. Para obter mais informações sobre criptografia por padrão, consulte [Habilitar criptografia do Amazon EBS por padrão](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html) no *Guia do usuário do Amazon EBS*.

Além de usar o volume de dados anexado à instância, você também pode configurar volumes de dados para cada tarefa executada nas instâncias gerenciadas do Amazon ECS. Para obter mais informações sobre as opções disponíveis de armazenamento de tarefa, consulte [Opções de armazenamento para tarefas do Amazon ECS](using_data_volumes.md).

## Balanceamento de carga do serviço
<a name="managed-instances-load-balancing"></a>

O serviço do Amazon ECS que usa as instâncias gerenciadas pode ser configurado para usar o Elastic Load Balancing na distribuição uniforme do tráfego entre as tarefas do serviço.

Os serviços do Amazon ECS nas instâncias gerenciadas oferecem suporte aos tipos de balanceadores de carga Application Load Balancer, Network Load Balancer e Gateway Load Balancer. Os Application Load Balancers roteiam o tráfego HTTP/HTTPS (camada 7), enquanto os Network Load Balancers roteiam o tráfego TCP ou UDP (camada 4).

Ao criar grupos de destino para esses serviços, você precisa escolher `ip` como o tipo de destino, e não `instance`. Isso ocorre porque as tarefas que usam o modo de rede `awsvpc` estão associadas a uma interface de rede elástica, e não diretamente a uma instância do Amazon EC2.

## Monitoramento e observabilidade
<a name="managed-instances-monitoring"></a>

As instâncias gerenciadas do Amazon ECS fornecem recursos abrangentes de monitoramento por meio de métricas do CloudWatch e integração com ferramentas de observabilidade:
+ **Métricas do CloudWatch**: monitore a utilização de CPU, memória, rede e armazenamento no nível da tarefa e da instância.
+ **Insights de contêiner**: obtenha métricas e registros detalhados de performance para suas aplicações em contêineres.
+ **Integrações de terceiros**: com recursos privilegiados habilitados, você pode executar soluções avançadas de monitoramento e observabilidade que exigem permissões elevadas do Linux.

## Preço e otimização de custo
<a name="managed-instances-pricing"></a>

Com as instâncias gerenciadas do Amazon ECS, a cobrança é feita por toda a instância do Amazon EC2 que executa suas tarefas. O preço depende dos tipos de instância selecionados para suas workloads.

As instâncias gerenciadas do Amazon ECS oferecem vários recursos de otimização de custos:
+ **Otimização multitarefa**: maximize a utilização da instância executando várias tarefas em instâncias com o tamanho adequado.

Seus Savings Plans de computação e instância também se aplicam às workloads das instâncias gerenciadas do Amazon ECS.

## Cotas de serviço
<a name="managed-instances-service-quotas"></a>

As workloads das instâncias gerenciadas do Amazon ECS estão sujeitas às cotas de serviço de instâncias sob demanda do Amazon EC2. Seus serviços do Amazon ECS que usam as instâncias gerenciadas do Amazon ECS estão sujeitos às cotas do Amazon ECS.

Para obter mais informações sobre cotas de serviço, consulte:
+ [Endpoints e cotas do Amazon EC2](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html) na *Referência geral da Amazon Web Services*
+ [Cotas de serviço do Amazon ECS](service-quotas.md)

## Considerações sobre a migração
<a name="managed-instances-migration"></a>

A migração para instâncias gerenciadas do Amazon ECS é simples para a maioria das workloads:
+ **Do Fargate**: exige apenas uma alteração na configuração do provedor de capacidade e a reimplantação. As definições das tarefas atuais que usam a versão 1.4.0 da plataforma são totalmente compatíveis.
+ **Do EC2**: semelhante à migração para o Fargate, mas você mantém o acesso aos recursos do Amazon EC2, como tipos de instância específicos.

Considere o seguinte ao planejar sua migração:
+ As aplicações devem tolerar a vida útil da instância de 14 dias e as janelas de manutenção planejadas.
+ Tarefas de longa execução (que excedam 14 dias) não são adequadas para instâncias gerenciadas do Amazon ECS.
+ Não há suporte para AMIs personalizadas. As instâncias gerenciadas do Amazon ECS usam AMIs otimizadas para segurança e gerenciadas pela AWS.

## Limitações e considerações
<a name="managed-instances-limitations"></a>

As seguintes limitações se aplicam às instâncias gerenciadas do Amazon ECS:
+ AMIs personalizadas: a AMI pertence à AWS e é gerenciada por ela.
+ Vida útil da instância: runtime máximo de 14 dias por instância para garantir a conformidade e a aplicação de patches de segurança.
+ Acesso SSH: não disponível por motivos de segurança. Use o Amazon ECS Exec para depuração e solução de problemas. Operações de gerenciamento somente por meio das APIs do Amazon ECS.

## Controles organizacionais
<a name="managed-instances-organization-controls"></a>

Alguns controles organizacionais podem impedir que as Instâncias Gerenciadas do Amazon ECS funcionem corretamente. Nesse caso, você deve atualizar esses controles para permitir que o Amazon ECS tenha as permissões necessárias para gerenciar instâncias do EC2 em seu nome.

O Amazon ECS usa um perfil de infraestrutura para lançar as instâncias do EC2 que apoiam as instâncias gerenciadas do Amazon ECS. Esse perfil de infraestrutura é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) criado em sua conta e permite que o Amazon ECS gerencie as instâncias gerenciadas do Amazon ECS em seu nome. As [políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) sempre se aplicam às ações realizadas nos perfis de infraestrutura. Isso permite que uma SCP iniba as operações de instância gerenciada do Amazon ECS. A ocorrência mais comum é quando uma SCP é usada para restringir as imagens de máquina da Amazon (AMIs) que podem ser executadas. Para permitir que as instâncias gerenciadas do Amazon ECS funcionem, modifique a SCP para permitir a execução de AMIs de contas AMI de instâncias gerenciadas do Amazon ECS.

Você também pode usar o recurso de [AMIs permitidas pelo EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html) para limitar a visibilidade das AMIs em outras contas. Se usar esse atributo, você deverá expandir os critérios de imagens para incluir também as contas das AMIs das instências gerenciadas do Amazon ECS nas regiões de interesse.

### Exemplo de SCP para bloquear todas as AMIs, exceto as AMIs das instâncias gerenciadas do Amazon ECS
<a name="example-scp-managed-instances"></a>

A SCP abaixo impede chamadas a `ec2:RunInstances`, a menos que a AMI pertença à conta da AMI das instâncias gerenciadas do Amazon ECS para us-west-2 ou us-east-1.

**nota**  
É importante **não** usar a chave de contexto `ec2:Owner`. A Amazon possui as contas das AMIs das instâncias gerenciadas do Amazon ECS e o valor dessa chave sempre será `amazon`. A criação de uma SCP que permita a execução de AMIs, se o `ec2:Owner` for a `amazon`, permitirá a execução de qualquer AMI de propriedade da Amazon, não apenas as das instâncias gerenciadas do Amazon ECS.

```
{
  "Version":"2012-10-17",		 	 	                                 
  "Statement": [
    {
      "Sid": "DenyAMI",
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": "arn:*:ec2:*::image/ami-*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "187296253231",
            "260073348889"
          ]
        }
      }
    }
  ]
}
```

### Contas da AMI das instâncias gerenciadas do Amazon ECS
<a name="managed-instances-ami-accounts"></a>

As contas da AWS que variam de acordo com a região hospedam as AMIs públicas das instâncias gerenciadas do Amazon ECS.


| Região da AWS | Conta | 
| --- | --- | 
| af-south-1 | 070957084703 | 
| ap-east-1 | 587573215167 | 
| ap-northeast-1 | 679336465495 | 
| ap-northeast-2 | 309903600357 | 
| ap-northeast-3 | 384570461223 | 
| ap-south-1 | 062344138989 | 
| ap-south-2 | 624198668379 | 
| ap-southeast-1 | 832199679391 | 
| ap-southeast-2 | 552073033681 | 
| ap-southeast-3 | 368903466070 | 
| ap-southeast-4 | 696793786439 | 
| ap-southeast-5 | 003457290689 | 
| ap-southeast-6 | 465836752572 | 
| ap-southeast-7 | 622515864387 | 
| ca-central-1 | 853167153192 | 
| ca-west-1 | 899469777611 | 
| eu-central-1 | 832570432258 | 
| eu-central-2 | 041659148495 | 
| eu-north-1 | 851563870067 | 
| eu-south-1 | 766433696616 | 
| eu-south-2 | 003380494496 | 
| eu-west-1 | 986619735082 | 
| eu-west-2 | 591706807364 | 
| eu-west-3 | 108582616801 | 
| il-central-1 | 009537862704 | 
| me-central-1 | 540883425316 | 
| me-south-1 | 181438624895 | 
| mx-central-1 | 210749644920 | 
| sa-east-1 | 591338347621 | 
| us-east-1 | 260073348889 | 
| us-east-2 | 292185169523 | 
| us-west-1 | 187296253231 | 
| us-west-2 | 491085424538 | 

# Tipos de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-instance-types"></a>

As instâncias gerenciadas do Amazon ECS permitem que você selecione tipos específicos de instância do EC2 para suas aplicações em contêineres. 

## Famílias de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-instance-families"></a>

Somente os seguintes tipos de instância são compatíveis:

### Finalidade geral
<a name="general-purpose-instances"></a>
+ m5, m5a, m5ad, m5d, m5dn, m5n, m5zn: computação balanceada, memória e rede
+ m6a, m6g, m6gd, m6i, m6id, m6idn, m6in: última geração com performance aprimorada
+ m7a, m7g, m7gd, m7i, m7i-flex: instâncias de uso geral da próxima geração
+ m8g, m8gd: instâncias de uso geral do ARM de última geração
+ t3, t3a, t4g: instâncias de desempenho expansível (excluindo os tamanhos nano e micro)

### Otimizadas para computação
<a name="compute-optimized-instances"></a>
+ c5, c5a, c5ad, c5d, c5n: processadores de alta performance para aplicações com intenso uso de computação
+ c6a, c6g, c6gd, c6i, c6id, c6in: instâncias otimizadas para computação de última geração
+ c7a, c7g, c7gd, c7gn, c7i, c7i-flex: instâncias otimizadas para computação da próxima geração
+ c8g, c8gd, c8gn: instâncias otimizadas para computação do ARM de última geração
+ hpc6a, hpc6id, hpc7a: instâncias para computação de alto desempenho

### Otimizadas para memória
<a name="memory-optimized-instances"></a>
+ r5, r5a, r5ad, r5b, r5d, r5dn, r5n: alta taxa de memória/vCPU para aplicações com uso intenso de memória
+ r6a, r6g, r6gd, r6i, r6id, r6idn, r6in: instâncias otimizadas para memória de última geração
+ r7a, r7g, r7gd, r7i, r7iz: instâncias otimizadas para memória da próxima geração
+ r8g, r8gd: instâncias otimizadas para memória do ARM de última geração
+ u-3tb1, u7i-6tb, u7i-8tb, u7i-12tb, u7in-24tb, u7in-32tb: instâncias de alta memória com até 32 TB de RAM
+ x2gd, x2idn, x2iedn, x2iezn: memória extrema para bancos de dados em memória e analytics
+ x8g: instâncias de memória extrema de última geração
+ z1d: armazenamento SSD de alta frequência e NVMe

### Otimizada para armazenamento
<a name="storage-optimized-instances"></a>
+ d3, d3en: armazenamento em HDD denso para sistemas de arquivos distribuídos
+ i4g, i4i: instâncias otimizadas para armazenamento de última geração
+ i7i, i7ie, i8g: instâncias de armazenamento de alta performance da próxima geração
+ im4gn, is4gen: instâncias de armazenamento otimizadas para rede

### Computação acelerada
<a name="accelerated-computing-instances"></a>
+ g4dn: GPUs NVIDIA T4 para inferência e gráficos de machine learning
+ g5, g5g: GPUs NVIDIA A10G para gráficos de alta performance e ML
+ g6, g6e, g6f: instâncias de GPU de última geração
+ gr6, gr6f: instâncias de GPU com GPUs NVIDIA L4 Tensor Core e proporção 1:8 vCPU:RAM para workloads gráficas
+ p3dn: GPUs NVIDIA V100 para treinamento em aprendizado profundo e HPC
+ p4d: GPUs NVIDIA A100 para treinamento da mais alta performance em ML
+ p5: última geração com GPUs NVIDIA H100
+ p6-b200: próxima geração com GPUs NVIDIA B200

## Métodos de seleção de instâncias
<a name="managed-instances-instance-selection-methods"></a>

As instâncias gerenciadas do Amazon ECS oferecem dois métodos para selecionar tipos de instância:
+ *Seleção de tipo de instância específico*: você especifica explicitamente o tipo de instância do EC2 a ser usado em suas tarefas.
+ *Seleção do tipo de instância com base em atributos*: você especifica os atributos (como vCPU, memória e arquitetura) que sua aplicação exige, e as instâncias gerenciadas do Amazon ECS selecionam um tipo de instância apropriado.

## Seleção de tipo de instância específico
<a name="managed-instances-specific-instance-types"></a>

Com a seleção do tipo específico de instância, você especifica explicitamente o tipo de instância do EC2 a ser usado nas suas tarefas de instâncias gerenciadas do Amazon ECS. Isso é útil quando sua aplicação exige um tipo de instância específico com determinadas características de hardware.

## Seleção de tipo de instância baseada em atributos
<a name="managed-instances-attribute-based-selection"></a>

Na seleção do tipo de instância com base em atributos, você especifica os atributos que sua aplicação exige, e as instâncias gerenciadas do Amazon ECS selecionam um tipo de instância apropriado que atenda a esses requisitos. Isso proporciona mais flexibilidade e pode ajudar a garantir que suas tarefas sejam realizadas com êxito, mesmo que tipos específicos de instância não estejam disponíveis.

Ao especificar vários atributos, você obtém os tipos de instâncias que satisfazem a todos os atributos especificados. Se você especificar vários valores para um atributo, obterá os tipos de instâncias que satisfazem a qualquer dos valores especificados.

Os atributos a seguir são compatíveis com a seleção de tipo de instância baseada em atributos:

**cpuArchitecture**  
A arquitetura da CPU.  
Valores válidos: `X86_64` \$1 `ARM64`

**instanceGeneration**  
Indica se os tipos de instância da geração atual ou anterior estão incluídos.  
+ Para os tipos de instância da geração atual, especifique `current`. A geração atual inclui tipos de instância do EC2 atualmente recomendados para uso. Isso normalmente inclui as últimas duas a três gerações em cada família de instâncias. 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*.
+ Para os tipos de instância da geração anterior, especifique `previous`.
+ Para incluir tipos de instância da geração atual e da geração anterior, especifique `all`.
Valores válidos: `current` \$1 `previous` \$1 `all`  
Padrão: Qualquer geração atual ou anterior.

**burstablePerformance**  
Indica se os tipos de instância de perfomance expansíveis estão incluídos, excluídos ou são obrigatórios. Para obter mais informações, consulte [Instâncias de desempenho expansível](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) no *Guia do usuário do Amazon EC2*.  
Valores válidos: `included` \$1 `excluded` \$1 `required`  
Padrão: `excluded`

**cpuManufacturer**  
Lista quais fabricantes de CPU específicos devem ser incluídos.  
+ Para tipos de instância com CPUs da Intel, especifique `intel`.
+ Para tipos de instância com CPUs AMD, especifique `amd`.
+ Para instâncias com CPUs da AWS (como a AWS Graviton), especifique `amazon-web-services`.
Não confunda o fabricante do hardware da CPU com a arquitetura de hardware da CPU. As instâncias serão iniciadas com uma arquitetura de CPU compatível, com base na imagem de máquina da Amazon (AMI) que você especificar.
Valores válidos: `intel` \$1 `amd` \$1 `amazon-web-services`  
Padrão: Qualquer fabricante.

**networkBandwidth**  
As quantidades mínima e máxima de largura de banda da rede em gigabits por segundo (Gbps).  
Padrão: Sem limites mínimos ou máximos.

**networkInterfaceCount**  
O número mínimo e máximo de interfaces de rede.  
Padrão: Sem limites mínimos ou máximos.

**localStorage**  
Indica se os tipos de instância com volumes de armazenamento de instâncias estão incluídos, excluídos ou são obrigatórios. Para acessar mais informações, consulte [Armazenamento de instância do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) no *Guia do usuário do Amazon EC2*.  
Valores válidos: `included` \$1 `excluded` \$1 `required`  
Padrão: `included`

**Tipo de armazenamento local**  
Indica o tipo de armazenamento local necessário.  
+ Para tipos de instância com armazenamento em unidade de disco rígido (HDD), especifique `hdd`.
+ Para tipos de instância com armazenamento de unidade de estado sólido (SSD), especifique `ssd`.
Valores válidos: `hdd` \$1 `ssd`  
Padrão: qualquer tipo de armazenamento local.

## Opções de faturamento e compra
<a name="managed-instances-instance-billing-and-purchase-options"></a>

As instâncias gerenciadas do Amazon ECS oferecem suporte a vários recursos para ajudar a otimizar o custo de suas workloads em contêiner:
+ *Savings Plans (SPs)*: as instâncias gerenciadas do Amazon ECS se beneficiam dos Savings Plans que você adquiriu para os tipos de instância usados ​​por suas tarefas. Não é exigida nenhuma configuração adicional.
+ *Instâncias reservadas (IRs)*: as tarefas de instâncias gerenciadas do Amazon ECS podem se beneficiar das RIs que você comprou para os tipos de instância usados pelas tarefas. Não é exigida nenhuma configuração adicional.
+ *Instâncias Spot*: você pode configurar o provedor de capacidade do Amazon ECS Managed Instances para utilizar instâncias Spot do EC2 definindo `capacityOptionType=Spot`
+ *Reservas de capacidade*: você pode configurar o provedor de capacidade do Amazon ECS Managed Instances para utilizar suas reservas de capacidade do EC2, definindo `capacityOptionType=Reserved` e fornecendo um [grupo de reservas de capacidade](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-cr-group.html). Você também pode definir as seguintes preferências de reserva: use `reservations-only` para garantir que as instâncias sejam iniciadas exclusivamente na capacidade reservada, a fim de obter o máximo de previsibilidade; `reservations-first` para dar preferência às reservas, mantendo a flexibilidade de recorrer à capacidade sob demanda quando necessário; ou `reservations-excluded` para impedir que seu provedor de capacidade utilize reservas.

# Práticas recomendadas de seleção de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-instance-selection-best-practices"></a>

Selecionar a configuração de instância certa para suas workloads de instâncias gerenciadas do Amazon ECS é crucial para otimizar a performance, o custo e a utilização de recursos. O Amazon ECS fornece opções flexíveis de seleção de instâncias que permitem equilibrar os requisitos da aplicação com a eficiência de custos. As práticas recomendadas a seguir ajudam você a tomar decisões informadas sobre seleção de instâncias para workloads em contêiner.

1. Use o provedor de capacidade padrão de instâncias gerenciadas do Amazon ECS

   O Amazon ECS escolhe as instâncias mais econômicas que atendem aos seguintes requisitos de definição de tarefas e parâmetros de serviço:

   definição da tarefa
   + operatingSystemFamily
   + cpuArchitecture
   + cpu
   + memória

   Definição de serviço
   + placementConstraints
   + placementStrategy

1. Use a seleção baseada em atributos para a maioria das workloads para fornecer flexibilidade e melhorar as taxas de sucesso do posicionamento

   A seleção de instâncias baseada em atributos permite que o Amazon ECS escolha entre uma variedade mais ampla de tipos de instância que atendam aos requisitos especificados. Essa abordagem aumenta a probabilidade de posicionamento bem-sucedido de tarefas e fornece melhor otimização de custos, permitindo que o Amazon ECS selecione as instâncias mais econômicas disponíveis no momento do lançamento.

1. Use tipos de instância específicos somente quando as aplicações tiverem requisitos específicos de hardware

   Reserve a seleção do tipo específico de instância para workloads que exigem recursos de hardware específicos, como aceleração de GPU, processadores de alta frequência ou recursos de rede especializados. Para aplicações de uso geral, a seleção baseada em atributos normalmente oferece melhor flexibilidade e otimização de custos.

1. Escolha recursos balanceados para evitar provisionamento excessivo e custos desnecessários

   Selecione configurações de instância que correspondam perfeitamente aos requisitos de CPU e memória da sua aplicação. Evite o superprovisionamento excessivo de recursos, já que isso gera custos maiores e diminui a eficiência. Use dados de monitoramento para entender seus padrões reais de utilização de recursos e ajustar a seleção de instâncias adequadamente.

1. Combine tipos de instância para aplicações com workloads variadas para equilibrar performance e custo

   Para aplicações com diversos requisitos de performance ou padrões de workload variados, considere usar vários provedores de capacidade com diferentes configurações de instância. Essa abordagem permite que você otimize os custos usando os tipos de instância apropriados para diferentes componentes da sua aplicação, mantendo a performance quando necessário.

1. Ao utilizar um provedor de capacidade de instâncias gerenciadas do Amazon ECS configurado com `capacityOptionType=Reserved`, esteja ciente de que os serviços do ECS utilizam uma configuração de implantação padrão de `minimumHealthyPercent=100%` e `maximumPercent=200%`, o que significa que as implantações do ECS tentam iniciar novas tarefas antes de encerrar as antigas e são necessárias temporariamente até 200% da sua capacidade em estado estacionário. Se o seu serviço consumir toda a capacidade disponível nas suas Reservas de Capacidade do EC2 em estado de equilíbrio, as implantações falharão, pois não haverá capacidade adicional disponível para iniciar novas tarefas durante o processo de implantação. Para evitar isso, defina `minimumHealthyPercent` como um valor inferior a 100% (por exemplo, 75%) e considere definir `maximumPercent` como 100% para garantir que o serviço interrompa as tarefas antes de iniciar novas, permitindo que as implantações sejam concluídas com êxito ao liberar capacidade antes de iniciar as tarefas de troca. Além disso, considere monitorar regularmente a utilização da sua capacidade para manter uma margem de segurança nas suas reservas, a fim de acomodar implantações e lidar com picos de tráfego.

# Comportamento de extração de imagem de contêiner de instâncias gerenciadas do Amazon ECS
<a name="managed-instance-pull-behavior"></a>

O tempo de inicialização de um contêiner varia de acordo com a imagem do contêiner subjacente. Por exemplo, uma imagem maior (versões completas do Debian, Ubuntu e Amazon2) pode levar mais tempo para ser inicializada porque há mais serviços executados nos contêineres em comparação com suas respectivas versões menores (Debian-slim, Ubuntu-slim e Amazon-slim) ou imagens de base menores (Alpine).

Quando o Amazon ECS inicia uma tarefa executada em instâncias gerenciadas, ele só extrai a imagem remotamente se ela não foi extraída por uma tarefa anterior na mesma instância de contêiner ou se a imagem armazenada em cache foi removida pelo processo de limpeza automática de imagens. Caso contrário, a imagem armazenada em cache na instância gerenciada do Amazon ECS será usada. Isso garante que nenhum pull de imagem desnecessário seja tentado. 

# Aplicação de patches em instâncias gerenciadas do Amazon ECS
<a name="managed-instances-patching"></a>

Nas instâncias gerenciadas do Amazon ECS, a aplicação de patches é um processo crítico de manutenção em que a AWS gerencia e atualiza automaticamente o software em instâncias gerenciadas de contêineres para garantir a segurança e a conformidade, mantendo a disponibilidade da workload por meio de um processo controlado e configurável.

## Ciclo de vida da instância
<a name="managed-instances-lifecycle"></a>

Por padrão, as instâncias de contêiner gerenciadas do Amazon ECS operam em um ciclo de vida padronizado de 14 a 21 dias. O Amazon ECS inicia a drenagem regular da workload no dia 14 a partir do lançamento da instância, com o encerramento final ocorrendo até o dia 21. O Amazon ECS acomoda a drenagem antecipada em circunstâncias específicas:
+ Detecção de vulnerabilidades de segurança no software
+ Degradação da integridade do hardware
+ Para honrar janelas de eventos configuradas pelo cliente

Essa abordagem mantém a conformidade do sistema, respeitando os requisitos de manutenção definidos pelo cliente.

## Janelas de eventos e agendamento de manutenção
<a name="managed-instances-event-windows"></a>

A AWS gerencia o ciclo de vida de uma instância de contêiner gerenciada por meio de processos automatizados em segundo plano que monitoram o registro de data e hora de criação de um nó e os cronogramas de manutenção. Após o lançamento da instância, a AWS define um cronograma padrão de drenagem de 14 dias e avalia todas as janelas de eventos configuradas pelo cliente.

Você pode programar atividades de manutenção para instâncias gerenciadas do Amazon ECS configurando janelas de eventos. É possível associar uma ou mais instâncias gerenciadas do Amazon ECS a uma janela de evento usando IDs ou tags de instância. Quando uma janela de evento é marcada com um valor específico, o Amazon ECS mapeia essas tags para as instâncias gerenciadas do Amazon ECS correspondentes dos clusters correspondentes e programa a manutenção da instância durante os períodos de tempo definidos com base no melhor esforço.

Para obter mais informações sobre janelas de eventos, consulte [Criar janelas de eventos personalizadas para eventos programados que afetam as instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html) no *Guia do usuário do Amazon EC2*.

Se houver janelas de eventos, a AWS ajustará o cronograma de drenagem para se alinhar com essas janelas, o que pode resultar em uma drenagem antes do período padrão de 14 dias para honrar a janela de eventos especificada. As modificações na janela de eventos afetam somente instâncias de contêiner gerenciadas recém-lançadas, garantindo um agendamento de manutenção preditiva.

Até o horário de drenagem programado, o Amazon ECS continua com as operações normais de posicionamento de tarefas nas instâncias de contêiner gerenciadas, de acordo com a configuração do cliente.

## Sequência de manutenção
<a name="managed-instances-maintenance-sequence"></a>

No horário de manutenção designado, o Amazon ECS inicia sua sequência de manutenção invocando a API `UpdateContainerInstancesState` para iniciar a drenagem normal da workload. Durante o período de encerramento normal, o Amazon ECS tenta interromper a workload na instância marcada para ser drenada.

O Amazon ECS utiliza uma estratégia que consiste em iniciar antes de parar para tarefas de serviço (ou de acordo com a configuração do serviço do Amazon ECS), garantindo que as tarefas de substituição sejam iniciadas antes de interromper as existentes, minimizando a interrupção do serviço. Durante todo esse processo, os serviços do Amazon ECS respeitam todas as configurações de implantação do serviço, enquanto continuam esgotando as tentativas até o dia 21 a partir do lançamento da instância.

Se a drenagem não for concluída até o dia 21, o Amazon ECS executará a API `DeregisterContainerInstance` para interromper a instância de contêiner gerenciada e suas workloads restantes para manter a conformidade e corrigir a instância gerenciada com o software mais recente.

# Considerações de segurança para instâncias gerenciadas do Amazon ECS
<a name="managed-instances-security"></a>

 As instâncias gerenciadas do Amazon ECS fornecem uma experiência computacional de contêiner totalmente gerenciada que permite que você execute workloads em tipos específicos de instância do Amazon EC2 e, ao mesmo tempo, transfira as responsabilidades de segurança para a AWS. Este tópico descreve o modelo de segurança, os recursos e as considerações ao usar instâncias gerenciadas do Amazon ECS. 

## Modelo de segurança
<a name="managed-instances-security-model"></a>

 As instâncias gerenciadas do Amazon ECS implementam um modelo de segurança abrangente que equilibra flexibilidade com proteção: 
+ **Infraestrutura gerenciada pela AWS**: a AWS controla o ciclo de vida das instâncias gerenciadas e lida com a aplicação de patches de segurança, eliminando a possibilidade de erro humano e adulteração
+ **Sem acesso administrativo**: o modelo de segurança é bloqueado e proíbe o acesso administrativo às instâncias gerenciadas.
+ **Posicionamento multitarefa**: por padrão, as instâncias gerenciadas do Amazon ECS colocam várias tarefas em uma única instância para otimizar o custo e a utilização, o que flexibiliza a restrição de isolamento da workload em comparação com o Fargate.
+ **Isolamento de dados**: embora a AWS controle o ciclo de vida da instância e o posicionamento das tarefas, a AWS não pode fazer login nas instâncias gerenciadas nem acessar os dados do cliente.

## Recursos de segurança
<a name="managed-instances-security-features"></a>

 As instâncias gerenciadas do Amazon ECS incluem vários recursos de segurança integrados projetados para proteger suas workloads e manter uma forte postura de segurança. Esses recursos variam de aplicações automatizadas de patches de segurança ao suporte a recursos privilegiados do Linux, quando necessário. 

### Práticas recomendadas de segurança
<a name="managed-instances-security-best-practices"></a>

 As instâncias gerenciadas são configuradas de acordo com as práticas recomendadas de segurança da AWS, incluindo: 
+ **Sem acesso SSH**: o acesso remoto ao shell fica desabilitado para impedir o acesso não autorizado.
+ **Sistema de arquivos raiz imutável**: o sistema de arquivos raiz não pode ser modificado, garantindo a integridade do sistema.
+ **Controles de acesso obrigatórios do kernel**: o SELinux fornece fiscalização de segurança adicional do kernel.

### Aplicação automática de patches de segurança
<a name="managed-instances-security-patching"></a>

 As instâncias gerenciadas do Amazon ECS ajudam a melhorar a postura de segurança de suas workloads por meio de aplicações automatizadas de patches: 
+ **Atualizações regulares de segurança**: as instâncias são atualizadas regularmente com os patches de segurança mais recentes pela AWS, com relação às janelas de manutenção que você configura.
+ **Vida útil limitada da instância**: a vida útil máxima de uma instância em execução está limitada a 14 dias, para garantir que as aplicações sejam executadas em instâncias configuradas corretamente, com patches de segurança atualizados.
+ **Controle da janela de manutenção**: você pode usar o recurso de janelas de eventos do Amazon EC2 para especificar quando o Amazon ECS deve substituir suas instâncias por instâncias corrigidas com patch.

### Recursos privilegiados do Linux
<a name="managed-instances-privileged-capabilities"></a>

 As instâncias gerenciadas do Amazon ECS oferecem suporte a software que exige privilégios elevados do Linux, permitindo soluções avançadas de monitoramento e segurança: 
+ **Capacidades com suporte**: você pode optar por todas as capacidades privilegiadas do Linux, incluindo `CAP_NET_ADMIN`, `CAP_SYS_ADMIN` e `CAP_BPF`.
+ **Soluções conhecidas**: isso permite que você execute soluções conhecidas de monitoramento e observabilidade de rede, como Wireshark e Datadog.
+ **Configuração explícita obrigatória**: você deve configurar explicitamente seu provedor de capacidade de instâncias gerenciadas do Amazon ECS para habilitar recursos privilegiados do Linux, pois isso pode representar riscos adicionais de segurança para suas aplicações.

**Importante**  
 Habilitar recursos privilegiados do Linux pode expor suas tarefas a riscos de segurança adicionais. Só habilite esses recursos quando exigido por suas aplicações e garanta que você compreenda as implicações de segurança. 

## Conformidade e suporte regulatório
<a name="managed-instances-compliance"></a>

 As instâncias gerenciadas do Amazon ECS mantêm a mesma postura de conformidade do Amazon ECS: 
+ **Programas de conformidade**: as instâncias gerenciadas do Amazon ECS oferecem suporte aos mesmos programas de conformidade da AWS do Amazon ECS, incluindo PCI-DSS, HIPAA e FedRAMP.
+ **Endpoints FIPS**: as instâncias gerenciadas do Amazon ECS respeitam as configurações da conta para usar endpoints FIPS nas regiões da AWS para ajudar a alcançar a conformidade com o FedRAMP.
+ **Chaves gerenciadas pelo cliente**: oferecem suporte aos recursos de segurança necessários para alcançar a conformidade, como chaves gerenciadas pelo cliente para criptografia.

## Considerações de segurança para instâncias gerenciadas do Amazon ECS validadas pelo FIPS-140
<a name="managed-instances-fips-considerations"></a>

Considere o seguinte ao usar a conformidade com o FIPS-140 nas instâncias gerenciadas do Amazon ECS:
+ As AMIs de instâncias gerenciadas compatíveis com FIPS-140 estão disponíveis somente nas regiões AWS GovCloud (US).
+ As instâncias gerenciadas do Amazon ECS oferecem suporte ao FIPS-140-3
+ A conformidade com o FIPS-140 está habilitada por padrão nas regiões AWS GovCloud (US). Se você precisar executar workloads sem conformidade com FIPS, desative a conformidade com FIPS na configuração do provedor de capacidade de instâncias gerenciadas.
+ O `cpuArchitecture` para suas tarefas deve ser `X86_64` para estar em conformidade com o FIPS-140.

## Desabilite o FIPS nas instâncias gerenciadas do Amazon ECS
<a name="managed-instances-use-fips"></a>

Por padrão, os provedores de capacidade de instâncias gerenciadas do Amazon ECS nas regiões AWS GovCloud (US) executam AMIs compatíveis com FIPS. Você escolheu desabilitar a conformidade com o FIPS-140 ao criar um novo provedor de capacidade de instâncias gerenciadas do Amazon ECS. Siga estas etapas para criar um novo provedor de capacidade sem conformidade com o FIPS.

1. Desabilite a conformidade com o FIPS-140 no provedor de capacidade.

   ```
   aws ecs create-capacity-provider \
       --cluster cluster-name \
       --name capacity-provider-name \
       --managed-instances-provider '{
           "infrastructureRoleArn": "infrastructure-role-arn",
           "instanceLaunchTemplate": {
               "ec2InstanceProfileArn": "instance-profile-arn",
               "fipsEnabled": false,
               "networkConfiguration": {
                   "subnets": ["subnet-id"],
                   "securityGroups": ["security-group-id"]
               }
           }
       }'
   ```

1. Opcionalmente, é possível usar o ECS Exec para executar o comando a seguir para verificar o status de conformidade com o FIPS-140 de um provedor de capacidade.

   Substitua *cluster-name* pelo nome do cluster, *task-id* pelo ID ou o ARN da tarefa e *container-name* pelo nome do contêiner da tarefa para a qual você deseja executar o comando.

   Um valor de retorno de “1" indica que você está usando FIPS.

   ```
   aws ecs execute-command \
       --cluster cluster-name \
       --task task-id \
       --container container-name \
       --interactive \
       --command "cat /proc/sys/crypto/fips_enabled"
   ```

## Considerações sobre segurança
<a name="managed-instances-security-considerations"></a>

 Ao usar as instâncias gerenciadas do Amazon ECS, há várias considerações de segurança importantes que devem ser entendidas e planejadas. Essas considerações ajudam você a tomar decisões informadas sobre sua arquitetura de workload e seus requisitos de segurança. 

### Modelo de segurança multitarefa
<a name="managed-instances-multi-task-security"></a>

 O modelo padrão de posicionamento multitarefa nas instâncias gerenciadas do Amazon ECS difere do isolamento de tarefa única do Fargate: 
+ **Recursos de instância compartilhada**: várias tarefas podem ser executadas na mesma instância, potencialmente expondo uma tarefa às vulnerabilidades de outras tarefas executadas na mesma instância ou no mesmo cluster do ECS.
+ **Opção de tarefa única**: você pode configurar as instâncias gerenciadas do Amazon ECS para usar o modo de tarefa única para clientes que precisam do modelo de segurança padrão do Fargate com limite de isolamento de segurança da VM.
+ **Compensação entre custo e segurança**: o modo multitarefa fornece otimização de custos e tempos de inicialização de tarefas mais rápidos, enquanto o modo de tarefa única fornece isolamento mais forte.

### Lidar com interrupções da instância
<a name="managed-instances-interruption-handling"></a>

 É importante projetar suas aplicações para tolerar interrupções ao usar as instâncias gerenciadas do Amazon ECS: 
+ **Tolerância à interrupção**: use as instâncias gerenciadas do Amazon ECS com aplicações que toleram a interrupção de serviços ou tarefas subjacentes.
+ **Workloads baseadas em serviços**: use os serviços do Amazon ECS para substituição automática de tarefas ou execute workloads com duração controlada e limitada que não exceda 14 dias em tarefas autônomas.
+ **Desligamento normal**: configure o período de tolerância de encerramento da tarefa para controlar o impacto das interrupções.

### Acesso e privacidade de dados
<a name="managed-instances-data-access"></a>

 As instâncias gerenciadas do Amazon ECS mantêm controles rígidos de acesso a dados: 
+ **Sem acesso aos dados do cliente**: embora a AWS controle o ciclo de vida das instâncias gerenciadas e a colocação de tarefas nas instâncias, a AWS não pode fazer login nas instâncias gerenciadas nem acessar os dados do cliente.
+ **Somente métricas e logs**: a AWS captura somente métricas e logs relacionados necessários para fornecer os recursos de instâncias gerenciadas do Amazon ECS.
+ **Modelo de segurança bloqueado**: o modelo de segurança proíbe o acesso administrativo, eliminando a possibilidade de erro humano e adulteração.

## Práticas recomendadas de segurança
<a name="managed-instances-security-best-practices-recommendations"></a>

 Siga estas práticas recomendadas ao usar instâncias gerenciadas do Amazon ECS: 
+ **Avalie o modelo de segurança**: tome uma decisão consciente sobre a adoção de instâncias gerenciadas do Amazon ECS com base em seus requisitos de segurança, especialmente em relação ao modelo de posicionamento multitarefa.
+ **Use o modo de tarefa única quando necessário**: se suas workloads exigirem um isolamento mais forte, configure as instâncias gerenciadas do Amazon ECS para usar o modo de tarefa única.
+ **Minimize os recursos privilegiados**: só ative os recursos privilegiados do Linux quando for absolutamente necessário, e compreenda os riscos de segurança associados.
+ **Planeje interrupções**: projete aplicações para lidar com substituições de instâncias sem problemas, especialmente considerando a vida útil máxima de 14 dias da instância.
+ **Configure janelas de manutenção**: use as janelas de eventos do EC2 para controlar quando as substituições de instâncias ocorrem para minimizar o impacto em suas workloads.
+ **Monitore e audite**: revise regularmente a configuração das instâncias gerenciadas do Amazon ECS e monitore quaisquer eventos ou alterações relacionados à segurança.

# Como habilitar o controle de criptografia da VPC para instâncias gerenciadas do Amazon ECS
<a name="managed-instances-vpc-encryption"></a>

As instâncias gerenciadas do Amazon ECS oferecem suporte aos controles de criptografia da VPC, um atributo de segurança e conformidade que fornece controle centralizado para monitorar e aplicar a criptografia em trânsito para todos os fluxos de tráfego dentro e entre suas VPCs em uma região. Quando os controles de criptografia de VPC está habilitado em sua sub-rede, você pode especificar tipos de instância que suportam criptografia em trânsito em seu provedor de capacidade personalizada de instâncias gerenciadas do Amazon ECS, garantindo que as workloads das instâncias gerenciadas do Amazon ECS sejam executadas com criptografia em trânsito.

## Pré-requisitos
<a name="managed-instances-vpc-encryption-prerequisites"></a>

Antes de começar, você precisa de:
+ Uma VPC com criptografia em trânsito habilitada em sub-redes. Para obter mais informações, consulte [VPC encryption controls documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html).
+ Um provedor de capacidade personalizado para instâncias gerenciadas do Amazon ECS. Para obter mais informações, consulte [Arquitetar instâncias gerenciadas do Amazon ECS](ManagedInstances.md).

## Identifique os tipos de instância compatíveis
<a name="managed-instances-vpc-encryption-compatible-types"></a>

Os tipos de instância do Amazon EC2 devem atender a dois requisitos:

1. **Ofereça suporte à criptografia VPC em trânsito**: use o comando AWS CLI a seguir para listar os tipos de instância do Amazon EC2 que oferecem suporte à criptografia em trânsito:

   ```
   aws ec2 describe-instance-types \
       --filters Name=network-info.encryption-in-transit-supported,Values=true \
       --query "InstanceTypes[*].[InstanceType]" \
       --output text | sort
   ```

1. **Compatível com instâncias gerenciadas do Amazon ECS**: todos os tipos de instância do Amazon EC2 suportados pelas instâncias gerenciadas do Amazon ECS estão documentados em [Tipos de instâncias gerenciadas do Amazon ECS](managed-instances-instance-types.md).

Se você tiver requisitos adicionais (como necessidades específicas de CPU, memória ou arquitetura), filtre ainda mais os tipos de instância compatíveis com base nos requisitos da workload.

## Crie um cluster com suporte à criptografia da VPC
<a name="managed-instances-vpc-encryption-cluster-config"></a>

Para configurar instâncias gerenciadas do Amazon ECS para criptografia da VPC em trânsito:

1. Crie um novo cluster e selecione **Fargate e instâncias gerenciadas** para a infraestrutura.

1. Selecione **Usar personalizado — avançado** para acessar parâmetros de configuração adicionais.

1. Em **Tipos de instâncias permitidas**, adicione somente os tipos de instância específicos que oferecem suporte à criptografia da VPC em trânsito.

Quando configuradas dessa forma, as instâncias gerenciadas do Amazon ECS iniciarão somente os tipos de instância do Amazon EC2 que oferecem suporte à criptografia da VPC em trânsito.

## Considerações
<a name="managed-instances-vpc-encryption-considerations"></a>
+ **Instâncias de desempenho expansível**: os tipos de instância T3, T3a e T4G não oferecem suporte à criptografia da VPC em trânsito e não podem ser usados em sub-redes com o controle de criptografia ativado no modo forçado.
+ **Transições de modo**: você só pode fazer a transição da sub-rede VPC do modo Monitor para o modo Enforced se todas as instâncias em execução oferecerem suporte à criptografia VPC em trânsito.
+ **Falhas na inicialização da tarefa**: mo modo Enforced, as tarefas não serão iniciadas se você especificar tipos de instância que não oferecem suporte à criptografia em trânsito.

## Solução de problemas
<a name="managed-instances-vpc-encryption-troubleshooting"></a>

Falhas na inicialização da tarefa no modo Enforced  
Se as tarefas falharem na inicialização, verifique se todos os tipos de instância especificados oferecem suporte à criptografia da VPC em trânsito usando o comando AWS CLI fornecido acima.

Não é possível fazer a transição para o modo Enforced  
Use o console ou o comando `GetVpcResourcesBlockingEncryptionEnforcement` para identificar recursos que não estão aplicando criptografia em trânsito.

Para obter mais informações sobre os controles de criptografia da VPC, consulte [VPC encryption controls documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html).

# Otimização da infraestrutura de instâncias gerenciadas do Amazon ECS
<a name="managed-instances-infrastructure-optimization"></a>

As instâncias gerenciadas do Amazon ECS provisionam automaticamente instâncias do EC2 do tamanho certo com base na configuração do seu provedor de capacidade e nas demandas atuais de workload, garantindo que suas aplicações em contêineres tenham os recursos computacionais adequados desde o momento em que são implantados. À medida que os padrões de tráfego de suas aplicações evoluem e os requisitos de workload mudam com o tempo, as instâncias gerenciadas do Amazon ECS monitoram e otimizam continuamente a infraestrutura ajustando de forma inteligente os tamanhos das instâncias para atender às necessidades atuais, substituindo proativamente as instâncias que se desviaram das configurações ideais e equilibrando dinamicamente a eficiência de custo, a performance da aplicação e a confiabilidade do sistema. Esse sistema de gerenciamento de recursos opera sem qualquer intervenção manual, reduzindo o custo da infraestrutura e mantendo a alta disponibilidade das aplicações.

A otimização da infraestrutura oferece os seguintes benefícios:
+ Otimização de custos: reduz os custos de infraestrutura maximizando a utilização de recursos e eliminando a capacidade ociosa
+ Melhoria da performance: otimiza o posicionamento da workload com base nos requisitos de recursos e nas características de performance
+ Simplicidade operacional: automatiza decisões complexas de gerenciamento de recursos sem exigir intervenção manual
+ Aprimoramento da confiabilidade: mantém a alta disponibilidade por meio da distribuição inteligente de workloads e do monitoramento da integridade

As instâncias gerenciadas do Amazon ECS fazem dois tipos de otimizações de infraestrutura para maximizar a eficiência e reduzir custos:

## Detecção de instâncias ociosas
<a name="idle-instance-detection"></a>

Identifica e remove instâncias do EC2 que não têm tarefas em execução, eliminando custos de infraestrutura desnecessários decorrentes da capacidade não utilizada. Quando uma instância ociosa é detectada, o processo de otimização marca a instância de contêiner como DEREGISTERING, o que inicia a sequência de limpeza que encerra com segurança a instância do EC2 subjacente.

## Detecção de instâncias subutilizadas
<a name="underutilized-instance-detection"></a>

Analisa a distribuição de tarefas entre instâncias para identificar oportunidades de melhor alocação de recursos. Quando as tarefas estão sendo executadas abaixo do ideal em várias instâncias, as instâncias gerenciadas do Amazon ECS consolidam as workloads em menos instâncias utilizadas com mais eficiência, reduzindo os custos gerais e mantendo a performance. O processo de otimização marca as instâncias de contêiner subutilizadas como DRAINING, o que aciona a substituição de tarefas para mover workloads para instâncias existentes ou novas, mais eficientes. Depois que todas as tarefas são migradas com segurança, a instância passa para o estado DEREGISTERING e é limpa. Essa otimização se aplica às instâncias que executam tarefas de serviço e garante uma consolidação segura, respeitando os limites mínimos e máximos das tarefas do seu serviço, respeitando o comportamento de iniciar antes de parar da implantação e mantendo todas as configurações de proteção de tarefas durante todo o processo de drenagem. As instâncias que executam tarefas autônomas não são consideradas para otimização, uma vez que as instâncias gerenciadas do ECS não substituem as tarefas autônomas.

Essas otimizações funcionam em conjunto para garantir que sua infraestrutura se adapte continuamente às demandas reais de workload, eliminando automaticamente o desperdício e melhorando a utilização dos recursos sem afetar a disponibilidade das aplicações. Ambos os mecanismos usam o monitoramento orientado por eventos que responde aos eventos do ciclo de vida da tarefa e da instância para identificar oportunidades de otimização em tempo real. As instâncias gerenciadas do Amazon ECS detectam quando a última tarefa é interrompida em uma instância de contêiner, indicando uma possível condição de inatividade para otimização de custos. Para instâncias subutilizadas, qualquer interrupção de tarefa ou lançamento de nova instância aciona a análise para identificar oportunidades de consolidação da workload e maior eficiência dos recursos.

## ScaleInAfter
<a name="scale-in-after"></a>

Ambas as otimizações de infraestrutura buscam oportunidades de encerrar instâncias em execução para melhorar a utilização e reduzir custos. Você pode controlar o tempo dessas ações usando a configuração ScaleInAfter nas definições do provedor de capacidade de instâncias gerenciadas do Amazon ECS, que se aplica a instâncias ociosas e subutilizadas. O ScaleInAfter permite que você especifique o atraso, em segundos, entre o momento em que a instância fica ociosa ou subutilizada e o momento em que as instâncias gerenciadas do Amazon ECS começam a otimizar a infraestrutura. Você pode definir o atraso entre 0 e 3.600 segundos. Você também pode especificar -1 para desabilitar a otimização da infraestrutura.

**Instâncias ociosas**  
+ O ECS aguarda a duração especificada após a interrupção da última tarefa antes de cancelar o registro da instância
+ Se uma nova tarefa for iniciada durante o período de espera, a instância não será mais considerada ociosa e o encerramento será cancelado.

**Instâncias subutilizadas**  
+ O ECS aguarda a duração especificada após um evento de interrupção da tarefa que resulta na subutilização da instância antes de drená-la.
+ Se uma nova tarefa for iniciada ou uma tarefa existente for interrompida em uma instância específica durante o período de espera, o cronômetro será redefinido a partir da parada da tarefa mais recente ou do momento da criação de uma nova tarefa, e as instâncias gerenciadas do Amazon ECS reavaliam as ineficiências e tomam medidas, se necessário, após o término do novo período de espera

Essa configuração é opcional. Quando não especificadas, as instâncias gerenciadas do ECS determinam automaticamente o tempo ideal com base na configuração padrão das instâncias gerenciadas do ECS.

# Migrar do AWS Fargate para as instâncias gerenciadas do Amazon ECS
<a name="migrate-fargate-to-managed-instances"></a>

Você pode migrar as workloads existentes do Fargate para as instâncias gerenciadas do Amazon ECS. Essa migração permite que você acesse toda a gama de tipos de instância, reservas de capacidade e recursos avançados do Amazon EC2, mantendo a infraestrutura gerenciada pela AWS.

## Considerações sobre a migração
<a name="migration-considerations"></a>

Tenha em mente as seguintes considerações ao migrar do Fargate para instâncias gerenciadas do Amazon ECS:

Compatibilidade de tarefas  
As definições de tarefas existentes configuradas para o Fargate são, em sua maioria, compatíveis com as instâncias gerenciadas do Amazon ECS. Para obter mais informações sobre diferenças de definição de tarefa, consulte [Diferenças de definição de tarefa do Amazon ECS para instâncias gerenciadas do Amazon ECS](managed-instances-tasks-services.md).

Alterações no modelo de segurança  
Por padrão, as instâncias gerenciadas do Amazon ECS permitem várias tarefas por instância. Considere habilitar o modo de tarefa única se suas workloads exigirem um isolamento mais forte.

Ciclo de vida da instância  
As instâncias gerenciadas do Amazon ECS têm uma vida útil máxima de 14 dias. Planeje a substituição de tarefas e use os serviços do Amazon ECS para gerenciamento automático de tarefas.

Alterações de preço  
Com as instâncias gerenciadas do Amazon ECS, você paga por toda a instância mais uma taxa de gerenciamento, em vez de recursos por tarefa, como no Fargate.

Janelas de manutenção  
Configure janelas de manutenção usando janelas de eventos do Amazon EC2 para controlar quando as instâncias gerenciadas do Amazon ECS são substituídas para aplicação de patches.

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

Antes de migrar para instâncias gerenciadas do Amazon ECS, certifique-se de que você tenha:
+ Tarefas atuais do Fargate que usam a versão 1.4.0 ou posterior da plataforma
+ Você tem os perfis do IAM necessários para instâncias gerenciadas do Amazon ECS. Isso inclui:
  + **Perfil de infraestrutura**: permite que o Amazon ECS faça chamadas para serviços da AWS em seu nome para gerenciar a infraestrutura de instâncias gerenciadas do Amazon ECS.

    Para obter mais informações, consulte [Perfil do IAM de infraestrutura do Amazon ECS](infrastructure_IAM_role.md).
  + **Perfil de instância**: fornece permissões para o agente de contêiner do Amazon ECS e para o daemon do Docker em execução nas instâncias gerenciadas.

    Para obter mais informações, consulte [Perfil de instância de instâncias gerenciadas do Amazon ECS](managed-instances-instance-profile.md).
+ Compreensão das diferenças do modelo de segurança entre o Fargate e as instâncias gerenciadas do Amazon ECS

**Importante**  
As instâncias gerenciadas do Amazon ECS usam um modelo de segurança diferente do Fargate. Por padrão, várias tarefas podem ser executadas na mesma instância, o que pode expor as tarefas a vulnerabilidades de outras tarefas. Analise seus requisitos de segurança antes de migrar.

## Etapa 1: atualizar o cluster para usar instâncias gerenciadas do Amazon ECS
<a name="update-to-managed-instances"></a>

Criar um provedor de capacidade. Quando você cria um provedor de capacidade com as instâncias gerenciadas do Amazon ECS, ele só fica disponível dentro do cluster especificado.

Para obter mais informações, consulte [Criar um provedor de capacidade para instâncias gerenciadas do Amazon ECS](create-capacity-provider-managed-instances.md).

## Etapa 2: atualizar a definição da tarefa para ter a capacidade de instâncias gerenciadas do Amazon ECS
<a name="update-task-def"></a>

Atualize a definição da tarefa para que ela tenha o parâmetro requiresCapabilities para as instâncias gerenciadas do Amazon ECS.

Para obter mais informações, consulte [Atualizar uma definição de tarefa do Amazon ECS usando o console](update-task-definition-console-v2.md).

## Etapa 3: atualizar o serviço para usar o provedor de capacidade de instâncias gerenciadas do Amazon ECS
<a name="migrate-service"></a>

Atualize o serviço do Amazon ECS existente para usar o provedor de capacidade de instâncias gerenciadas do Amazon ECS.

Para obter mais informações, consulte [Atualizar um serviço do Amazon ECS para usar um provedor de capacidade](update-service-managed-instances.md).

## Etapa 4: migrar tarefas autônomas
<a name="migrate-standalone-task"></a>

Para tarefas autônomas, especifique o provedor de capacidade de instâncias gerenciadas do Amazon ECS ao executar a tarefa.

Para obter mais informações, consulte [Execução de uma aplicação como uma tarefa do Amazon ECS](standalone-task-create.md).

# Migrar do Amazon EC2 para instâncias gerenciadas do Amazon ECS
<a name="migrate-ec2-to-managed-instances"></a>

Migre workloads existentes do Amazon EC2 para instâncias gerenciadas do Amazon ECS. Essa migração permite que você acesse toda a gama de tipos de instância, reservas de capacidade e recursos avançados do Amazon EC2, mantendo a infraestrutura gerenciada pela AWS.

## Considerações sobre a migração
<a name="ec2-migration-considerations"></a>

Tenha em mente as seguintes considerações ao migrar do Amazon EC2 para instâncias gerenciadas do Amazon ECS:

Compatibilidade de tarefas  
As definições de tarefas existentes configuradas para o Amazon EC2 são, em sua maioria, compatíveis com as instâncias gerenciadas do Amazon ECS. Para obter uma lista das diferenças na definição de tarefas, consulte [Diferenças de definição de tarefa do Amazon ECS para instâncias gerenciadas do Amazon ECS](managed-instances-tasks-services.md).

Alterações no modelo de segurança  
Por padrão, as instâncias gerenciadas do Amazon ECS permitem várias tarefas por instância. Considere habilitar o modo de tarefa única se suas workloads exigirem um isolamento mais forte.

Ciclo de vida da instância  
As instâncias gerenciadas do Amazon ECS têm uma vida útil máxima de 14 dias. Planeje a substituição de tarefas e use os serviços do Amazon ECS para gerenciamento automático de tarefas.

Alterações de preço  
Com as instâncias gerenciadas do Amazon ECS, você paga por toda a instância mais uma taxa de gerenciamento, com a AWS administrando a sobrecarga do gerenciamento de infraestrutura.

Janelas de manutenção  
Configure janelas de manutenção usando janelas de eventos do Amazon EC2 para controlar quando as instâncias gerenciadas do Amazon ECS são substituídas para aplicação de patches.

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

Antes de migrar para instâncias gerenciadas do Amazon ECS, certifique-se de que você tenha:
+ Você tem os perfis do IAM necessários para instâncias gerenciadas do Amazon ECS. Isso inclui:
  + **Perfil de infraestrutura**: permite que o Amazon ECS faça chamadas para serviços da AWS em seu nome para gerenciar a infraestrutura de instâncias gerenciadas do Amazon ECS.

    Para obter mais informações, consulte [Perfil do IAM de infraestrutura do Amazon ECS](infrastructure_IAM_role.md).
  + **Perfil de instância**: fornece permissões para o agente de contêiner do Amazon ECS e para o daemon do Docker em execução nas instâncias gerenciadas.

    Para obter mais informações, consulte [Perfil de instância de instâncias gerenciadas do Amazon ECS](managed-instances-instance-profile.md).
+ Compreensão das diferenças do modelo de segurança entre instâncias gerenciadas do Amazon EC2 e do Amazon ECS

## Etapa 1: atualizar o cluster para usar instâncias gerenciadas do Amazon ECS
<a name="ec2-update-to-managed-instances"></a>

Criar um provedor de capacidade. Quando você cria um provedor de capacidade com as instâncias gerenciadas do Amazon ECS, ele só fica disponível dentro do cluster especificado.

Para obter mais informações, consulte [Criar um provedor de capacidade para instâncias gerenciadas do Amazon ECS](create-capacity-provider-managed-instances.md).

## Etapa 2: atualizar a definição da tarefa para ter a capacidade de instâncias gerenciadas do Amazon ECS
<a name="ec2-update-task-def"></a>

Atualize a definição da tarefa para que ela tenha o parâmetro requiresCapabilities para as instâncias gerenciadas do Amazon ECS.

Para obter mais informações, consulte [Atualizar uma definição de tarefa do Amazon ECS usando o console](update-task-definition-console-v2.md).

## Etapa 3: atualizar o serviço para usar o provedor de capacidade de instâncias gerenciadas do Amazon ECS
<a name="ec2-migrate-service"></a>

Atualize o serviço do Amazon ECS existente para usar o provedor de capacidade de instâncias gerenciadas do Amazon ECS.

Para obter mais informações, consulte [Atualizar um serviço do Amazon ECS para usar um provedor de capacidade](update-service-managed-instances.md).

## Etapa 4: migrar tarefas autônomas
<a name="ec2-migrate-standalone-task"></a>

Para tarefas autônomas, especifique o provedor de capacidade de instâncias gerenciadas do Amazon ECS ao executar a tarefa.

Para obter mais informações, consulte [Execução de uma aplicação como uma tarefa do Amazon ECS](standalone-task-create.md).