

# 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