O Amazon Linux 2023 está disponível ao público desde 15 de março de 2023. Com essa atualização, versões mais antigas como o Amazon Linux 2 ficam cada vez mais distantes do famoso "Latest and Greatest". Vamos entender por que isso importa e o que fazer a respeito.
Ciclo de vida previsível
O Amazon Linux 2023 chega sem grandes surpresas como a próxima versão major do Amazon Linux. Desta vez, a AWS se comprometeu: a partir do AL2023, uma nova versão major do Amazon Linux será lançada a cada 2 anos, e cada uma delas terá suporte por 5 anos.
- O suporte ao Amazon Linux 1 será encerrado em 31 de dezembro de 2023.
- O Amazon Linux 2 terá suporte até 30 de junho de 2025, com atualizações menores.
O upgrade in-place é um recurso que permite atualizar a versão da imagem Linux na mesma máquina. O Ubuntu oferece esse recurso, mas ainda não vimos algo parecido para o Amazon Linux. A AWS não confirmou nem descartou planos para isso na transição do Amazon Linux 2023 para o Amazon Linux 2025.
O que há de novo?
Sem listar todas as mudanças, mas destacando as mais relevantes do ponto de vista de Cloud Operations, veja algumas novidades do Amazon Linux em 2023.
- O Python 2.7 foi substituído pelo Python 3.
- Por padrão, os upgrades acontecem entre versões menores. Para receber um upgrade de versão major, é preciso indicar a versão como destino do upgrade.
- O AL2023 já vem com o AWS CLI versão 2.
- O AL2023 não inclui mais nenhum pacote de userspace de 32 bits.
Ficando para trás
Quando este artigo foi escrito, a versão mais recente do Docker disponível para o Amazon Linux 2 era a Docker 20.10.25. No AL2023, é a Docker 24.0.5.
As duas são instaladas com um comando simples:
$ yum install docker
Imagine que você quer usar a versão mais recente do Docker, mas continuar com o Linux 2. A documentação oficial do Docker traz instruções para as distros mais populares, mas não dá suporte a Amazon Machine Images.
Se você verificar a imagem base do Linux 2 com $cat /etc/os-release, o retorno é:
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
SUPPORT_END="2025–06–30"
Você pode achar que basta seguir a instalação para CentOS para resolver o problema, mas, conforme você se aprofunda — como o fio que você puxa de uma blusa de lã, a lista de coisas a considerar só cresce. Vão aparecer dependências faltando, problemas na hora de instalá-las e por aí vai.
No fim das contas, mesmo que você manje muito de Linux, vai acabar com uma solução que só você sabe manter. E todos os bugs e instabilidades serão só seus.
Em vez disso, vale mais a pena simplesmente usar outra instância com uma imagem mais nova. Sim, aplicações customizadas ainda vão precisar ser reinstaladas e os dados, migrados. Mas, com imagens mais novas, tudo deve funcionar de cara.
Boas práticas
A boa prática é apostar na substituição de instâncias, que é muito mais confiável e previsível tanto para avançar quanto para voltar atrás.
Se você tem uma instância com Linux 2 que quer atualizar, este é o caminho mais curto, mantendo toda a configuração de rede do lado da AWS:
- Crie um snapshot do volume root do Linux 2
- Crie um novo volume a partir do snapshot
- Crie uma nova instância com a AMI — Amazon Linux 2023
- Anexe o volume criado à nova instância
- Instale os softwares necessários
- Mova os dados do volume anexado para o disco principal
- Desanexe o volume extra
- Teste o ambiente
Depois de configurar e testar a nova instância com Amazon Linux 2023
Como substituir a instância antiga:
- Crie um snapshot da instância testada (Amazon Linux 2023)
- Na Network Interface antiga (do Amazon Linux 2)
Altere o comportamento de encerramento para "Delete on instance termination: Disabled" 3. Encerre a instância antiga (começa o downtime) 4. Crie uma nova instância com o snapshot do (Amazon Linux 2023)
Como network interface, escolha a ENI existente 5. A nova instância fica pronta (termina o downtime) 6. Teste o ambiente e os sistemas que dependem dele
Links úteis:
Release notes do Amazon Linux 2: [ https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html]
Release notes do Amazon Linux 2023
[ https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html]
Comparativo entre Amazon Linux 2 e Amazon Linux 2023 [ https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html]
FAQs do Amazon Linux 2023