Migrar de um Amazon Linux 2 para uma AMI do Amazon Linux 2023 otimizada para Amazon ECS - Amazon Elastic Container Service

Migrar de um Amazon Linux 2 para uma AMI do Amazon Linux 2023 otimizada para Amazon ECS

Após o Amazon Linux, 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, no Guia do usuário do Amazon Linux 2023, e as Perguntas frequentes sobre o Amazon Linux 2023.

Considerações sobre compatibilidade

Gerenciamento de pacotes e atualizações do sistema operacional

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 no Guia do usuário do Amazon Linux 2023.

versão de kernel do Linux

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 no Guia do usuário do Amazon Linux 2023.

Alterações na disponibilidade de pacotes

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 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 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 no Guia do usuário do Amazon Linux 2023.

Alterações nos grupos de controle (cgroups)

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 tempo de execução 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 no Guia do usuário do Amazon Linux 2023.

Alterações no serviço de metadados de instância (IMDS)

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 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 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.

Alterações na validação do FIPS

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 no Guia do usuário do Amazon Linux 2023.

Compatibilidade acelerada de instâncias

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.

Criar AMIs personalizadas

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.

Estratégias de migração

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

  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.

  2. 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.

  3. 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.

  4. 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

  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.

  2. 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.

  3. 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.

  4. 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.

Migração com instâncias gerenciadas manualmente

  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.

  2. 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.

  3. 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.