Amazon Linux 2023 è disponibile a livello generale dal 15 marzo 2023. Con questo aggiornamento, versioni precedenti come Amazon Linux 2 si allontaneranno sempre di più dal concetto di "Latest and Greatest". Vediamo perché è un cambiamento importante e come conviene affrontarlo.
Un ciclo di vita prevedibile
Amazon Linux 2023 arriva senza sorprese come la nuova major release di Amazon Linux. Questa volta AWS si è impegnata a rilasciare, a partire da AL2023, una nuova major release di Amazon Linux ogni 2 anni, con un supporto di 5 anni per ciascuna versione.
- Il supporto per Amazon Linux 1 terminerà il 31 dicembre 2023.
- Amazon Linux 2 sarà supportato fino al 30 giugno 2025 con aggiornamenti minori.
L'in-place upgrade è una funzionalità che permette di aggiornare la versione di un'immagine Linux sulla stessa macchina. Ubuntu la supporta, ma su Amazon Linux non è ancora disponibile. AWS non ha né confermato né smentito eventuali piani in tal senso per il passaggio da Amazon Linux 2023 ad Amazon Linux 2025.
Cosa c'è di nuovo?
Senza elencare tutte le modifiche, ma soffermandoci su quelle più rilevanti dal punto di vista delle Cloud Operations, ecco alcune novità di Amazon Linux 2023.
- Python 2.7 è stato sostituito da Python 3.
- Per impostazione predefinita gli upgrade avvengono tra versioni minori. Per ottenere un upgrade major occorre specificare la versione come target.
- AL2023 include AWS CLI versione 2.
- AL2023 non include più alcun pacchetto userspace a 32 bit.
Un divario sempre più ampio
Al momento della stesura di questo articolo, l'ultima versione di Docker disponibile per Amazon Linux 2 era Docker 20.10.25, mentre per AL2023 è Docker 24.0.5.
Entrambe si installano con un semplice comando:
$ yum install docker
Immaginiamo di voler usare l'ultima versione di Docker continuando però a utilizzare Linux 2. La documentazione ufficiale di Docker fornisce istruzioni per le distribuzioni più diffuse, ma non supporta le Amazon Machine Images.
Verificando l'immagine core di Linux 2 con $cat /etc/os-release si ottiene:
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"
Si potrebbe pensare che la procedura di installazione per CentOS risolva il problema, ma più si scava — come tirando il filo di un maglione — più aumentano gli aspetti da considerare: dipendenze mancanti, errori durante la loro installazione, e così via.
Alla fine, anche con un'ottima padronanza di Linux, si arriva a una soluzione che solo lei è in grado di mantenere, con bug e malfunzionamenti che resteranno un problema esclusivamente suo.
Molto meglio, allora, passare a un'altra istanza con un'immagine più recente. Certo, le applicazioni custom vanno comunque reinstallate e i dati migrati, ma con le immagini più recenti tutto il resto dovrebbe funzionare out of the box.
Best practice
La best practice è affidarsi a istanze sostitutive: è una strada decisamente più affidabile e prevedibile sia in fase di rollout sia di rollback.
Se ha un'istanza con Linux 2 da aggiornare, ecco il percorso più rapido per farlo, mantenendo intatta tutta la configurazione di rete lato AWS:
- Crei uno snapshot del volume di root di Linux 2
- Crei un nuovo volume a partire dallo snapshot
- Crei una nuova istanza con AMI — Amazon Linux 2023
- Colleghi il volume appena creato alla nuova istanza
- Installi il software necessario
- Sposti i dati dal volume collegato al disco principale
- Scolleghi il volume aggiuntivo
- Testi l'ambiente
Una volta configurata e testata la nuova istanza con Amazon Linux 2023
Come sostituire la vecchia istanza:
- Crei uno snapshot dell'istanza testata (Amazon Linux 2023)
- Per la vecchia Network Interface (di Amazon Linux 2)
Modifichi il comportamento di terminazione impostando "Delete on instance termination: Disabled" 3. Termini la vecchia istanza ( inizio del downtime) 4. Crei una nuova istanza con lo snapshot di (Amazon Linux 2023)
Come network interface, selezioni la ENI esistente 5. La nuova istanza diventa operativa ( fine del downtime) 6. Testi l'ambiente e i sistemi che vi dipendono
Link utili:
Note di rilascio di Amazon Linux 2: [ https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html]
Note di rilascio di Amazon Linux 2023
[ https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html]
Confronto tra Amazon Linux 2 e Amazon Linux 2023 [ https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html]
FAQ di Amazon Linux 2023