Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Nouveau cycle de mise à niveau avec Amazon Linux 2023

By Mikhail SokolovDec 5, 20234 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

Amazon Linux 2023 est disponible depuis le 15 mars 2023. Avec cette mise à jour, les versions plus anciennes comme Amazon Linux 2 s'éloignent de plus en plus du dernier cri. Voyons pourquoi cela compte et ce qu'il convient de faire.

Un cycle de vie prévisible

Amazon Linux 2023 arrive sans surprise comme prochaine version majeure d'Amazon Linux. Cette fois, AWS s'engage : à partir d'AL2023, une nouvelle version majeure d'Amazon Linux sortira tous les 2 ans. Et chaque version majeure bénéficiera d'un support pendant 5 ans.

  • Le support d'Amazon Linux 1 prendra fin le 31 décembre 2023.
  • Amazon Linux 2 sera pris en charge jusqu'au 30 juin 2025, avec des mises à jour mineures.

La mise à niveau sur place (in-place upgrade) permet de mettre à jour la version d'une image Linux sur la même machine. Ubuntu la prend en charge, mais elle se fait toujours attendre du côté d'Amazon Linux. AWS n'a ni confirmé ni infirmé son arrivée entre Amazon Linux 2023 et Amazon Linux 2025.

Quoi de neuf ?

Sans dresser la liste exhaustive des changements, voici les plus marquants du point de vue des Cloud Operations parmi les nouveautés d'Amazon Linux 2023.

  • Python 2.7 a été remplacé par Python 3.
  • Par défaut, les mises à niveau s'effectuent entre versions mineures. Pour passer à une version majeure, vous devez préciser la version cible.
  • AL2023 est livré avec AWS CLI version 2.
  • AL2023 n'inclut plus aucun paquet userspace 32 bits.

L'écart se creuse

Au moment de la rédaction de cet article, la dernière version de Docker disponible pour Amazon Linux 2 était Docker 20.10.25. Pour AL2023, il s'agit de Docker 24.0.5.

Les deux s'installent avec une simple commande :

$ yum install docker

Imaginons que vous souhaitiez utiliser le dernier Docker tout en restant sous Linux 2. La documentation officielle de Docker fournit des instructions pour les distributions les plus courantes, mais ne prend pas en charge les Amazon Machine Images.

Vérifier l'image principale de Linux 2 avec $cat /etc/os-release renvoie :

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"

On pourrait croire que la procédure d'installation prévue pour CentOS suffira, mais plus vous creusez — comme un fil qu'on tire d'un pull — plus la liste des éléments à prendre en compte s'allonge. Vous vous heurterez à des dépendances manquantes, à des erreurs lors de leur installation, etc.

Au bout du compte, même en maîtrisant Linux, vous obtiendrez une solution que vous seul saurez maintenir. Et tous les bugs et dysfonctionnements seront pour vous.

Mieux vaut tout simplement basculer sur une autre instance avec une image plus récente. Bien sûr, les applications personnalisées devront être réinstallées et les données migrées. Mais avec une image récente, tout devrait fonctionner d'emblée.

Bonne pratique

La bonne pratique consiste à s'appuyer sur des instances de remplacement, bien plus fiables et prévisibles pour avancer ou revenir en arrière.

Si vous souhaitez mettre à niveau une instance sous Linux 2, voici la marche à suivre la plus rapide, tout en conservant la configuration réseau côté AWS :

  1. Créer un snapshot du volume racine de Linux 2
  2. Créer un nouveau volume à partir du snapshot
  3. Créer une nouvelle instance avec l'AMI — Amazon Linux 2023
  4. Attacher le volume créé à la nouvelle instance
  5. Installer les logiciels nécessaires
  6. Déplacer les données du volume attaché vers le disque principal
  7. Détacher le volume supplémentaire
  8. Tester l'environnement

Une fois la nouvelle instance Amazon Linux 2023 configurée et testée

Comment remplacer l'ancienne instance :

  1. Créer un snapshot de l'instance testée (Amazon Linux 2023)
  2. Sur l'ancienne interface réseau (Amazon Linux 2)

Passer le comportement de terminaison à Delete on instance termination: Disabled 3. Terminer l'ancienne instance (début de l'interruption de service) 4. Créer une nouvelle instance à partir du snapshot d'Amazon Linux 2023

Comme interface réseau, sélectionner l'ENI existant 5. La nouvelle instance est prête (fin de l'interruption de service) 6. Tester l'environnement et les systèmes qui en dépendent

Liens utiles :