Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migration depuis AMI Amazon Linux (AL1) vers AL2 ou AL2023
Si votre application Elastic Beanstalk est basée sur une branche de plateforme AMI Amazon Linux, utilisez cette section pour savoir comment migrer les environnements de votre application vers Amazon Linux 2 ou Amazon Linux 2023. Les branches de plateforme de génération précédente basées sur l'AMI Amazon Linux
Nous vous recommandons vivement de migrer vers Amazon Linux 2023, car ce système d'exploitation est plus récent qu'Amazon Linux 2. Le système d'exploitation Amazon Linux 2 atteindra la fin de sa prise en charge avant Amazon Linux 2023. Vous bénéficierez donc d'une période de prise en charge plus longue si vous migrez vers Amazon Linux 2023.
Il est intéressant de noter qu'il existe un degré élevé de compatibilité entre les plateformes Elastic Beanstalk Amazon Linux 2 et Amazon Linux 2023. Il existe cependant des différences dans certains domaines : l'option par défaut du service des métadonnées d'instance Version 1 (IMDSv1), la prise en charge de l'outil d'instance pkg-repo et certaines configurations d'Apache HTTPD. Pour plus d'informations, consultez Amazon Linux 2023.
Différences et compatibilité
Les branches de plateforme basées sur AL2023/AL2 ne sont pas garanties comme étant rétrocompatibles avec votre application existante. Il est également important de savoir que même si votre code d'application se déploie avec succès sur la nouvelle version de plateforme, il peut se comporter ou fonctionner différemment en raison des différences de système d'exploitation et d'exécution.
Bien que l'AMI Amazon Linux et AL2023/AL2 partagent le même noyau Linux, ils diffèrent sur les aspects suivants : leur système d'initialisation, les versions libc
, la chaîne d'outils du compilateur, et divers packages. Pour plus d'informations, consultez FAQ sur Amazon Linux 2
Le service Elastic Beanstalk a également mis à jour des versions de l'environnement d'exécution, d'outils de génération et d'autres dépendances spécifiques à la plateforme.
Par conséquent, nous vous recommandons de prendre votre temps, de tester soigneusement votre application dans un environnement de développement et d'effectuer les ajustements nécessaires.
Processus général de migration
Lorsque vous êtes prêt à passer en production, Elastic Beanstalk nécessite un déploiement bleu/vert pour effectuer la mise à niveau. Vous trouverez ci-dessous les étapes générales des meilleures pratiques que nous recommandons pour la migration avec une procédure de déploiement bleu/vert.
Préparer le test de votre migration
Avant de déployer votre application et de commencer les tests, consultez les informations contenues dans Considérations pour toutes les plateformes Linux, qui figure plus loin dans cette rubrique. Consultez également les informations qui s'appliquent à votre plateforme dans la section Considérations spécifiques à la plateforme qui suit. Prenez note des informations spécifiques de ce contenu qui s'appliquent ou peuvent s'appliquer à votre application et à votre configuration.
Étapes de migration de haut niveau
-
Créez un nouvel environnement basé sur une branche de plateforme AL2 ou AL2023. Nous vous recommandons de migrer vers une branche de plateforme AL2023.
-
Déployez votre application dans l'environnement AL2023/AL2 cible.
Votre environnement de production existant restera actif et non affecté, pendant que vous procédez à des tests et des ajustements du nouvel environnement.
-
Testez votre application de manière approfondie dans le nouvel environnement.
-
Lorsque votre environnement AL2023/AL2 de destination sera prêt à passer en production, échangez les CNAME des deux environnements afin de rediriger le trafic vers le nouvel environnement.
Étapes de migration plus détaillées et meilleures pratiques
Pour une procédure de déploiement bleu/vert plus détaillée, consultez Déploiements bleu/vert avec Elastic Beanstalk.
Pour des conseils plus spécifiques et des étapes détaillées des meilleures pratiques, consultez Blue/Green method.
Plus de références pour vous aider à planifier votre migration
Les références suivantes peuvent fournir des informations supplémentaires pour planifier votre migration.
-
Comparing Amazon Linux 2 and Amazon Linux 2023 Guide de l'utilisateur Amazon Linux 2023.
-
What is Amazon Linux 2023? dans le Guide de l'utilisateur Amazon Linux 2023
-
Plateformes prises en charge par Elastic Beanstalk dans AWS Elastic Beanstalk Platforms (Plateformes )
Considérations pour toutes les plateformes Linux
Le tableau suivant présente les considérations que vous devez prendre en compte lors de la planification d'une migration d'application vers AL2023/AL2. Ces considérations s'appliquent à toutes les plateformes Linux Elastic Beanstalk, quels que soient les langages de programmation ou les serveurs d'applications spécifiques.
Area | Modifications et informations |
---|---|
Fichiers de configuration |
Sur les plateformes AL2023/AL2, vous pouvez utiliser les fichiers de configuration comme précédemment, et toutes les sections fonctionnent de la même manière. Cependant, des paramètres spécifiques peuvent ne pas fonctionner de la même manière que sur les plateformes AMI Amazon Linux précédentes. Par exemple :
Nous vous recommandons d'utiliser des hooks de plateforme pour exécuter du code personnalisé sur vos instances d'environnement. Vous pouvez toujours utiliser des commandes et des commandes de conteneur dans les fichiers de configuration Vous devez toujours utiliser des fichiers de configuration |
Hooks de plateforme |
Les plateformes AL2 ont introduit une nouvelle façon d'étendre la plateforme de votre environnement en ajoutant des fichiers exécutables aux répertoires de hooks sur les instances de l'environnement. Avec les versions précédentes de la plateforme Linux, vous avez peut-être utilisé des hooks de plateforme personnalisée. Ces hooks n'étaient pas conçus pour les plateformes gérées et n'étaient pas pris en charge, mais pouvaient fonctionner de manière utile dans certains cas. Avec les versions de plateforme AL2023/AL2, les hooks de plateforme personnalisée ne fonctionnent pas. Vous devez migrer tous les hooks vers les nouveaux hooks de plateforme. Pour plus de détails, développez la section Platform Hooks dans Extension des plateformes Linux Elastic Beanstalk. |
Serveurs proxy pris en charge |
Les versions de plateforme AL2023/AL2 prennent en charge les mêmes serveurs proxys inverses que chaque plateforme prise en charge dans ses versions de plateforme d'AMI Amazon Linux. Toutes les versions de plateforme AL2023/AL2 utilisent nginx comme serveur proxy inverse par défaut, à l'exception des plateformes ECS et Docker. Les plateformes Tomcat, Node.js, PHP et Python prennent également en charge Apache HTTPD comme alternative. Toutes les plateformes permettent la configuration du serveur proxy de manière uniforme, comme décrit dans cette section. Toutefois, la configuration du serveur proxy est légèrement différente de celle de l'AMI Amazon Linux. Voici les différences pour toutes les plateformes :
Pour les modifications de configuration de proxy spécifiques à la plateforme, veuillez consulter Considérations spécifiques à la plateforme. Pour de plus amples informations sur la configuration de proxy sur AL2023/AL2, développez la section Configuration de proxy inverse dans Extension des plateformes Linux Elastic Beanstalk. |
Modifications de la configuration du proxy |
Il y a des modifications de configuration de proxy qui s'appliquent uniformément à toutes les plateformes, en plus des modifications de configuration de proxy spécifiques à chaque plateforme. Il est important de se référer aux deux pour configurer avec précision vos environnements.
|
Profil d'instance |
Les plateformes AL2023/AL2 nécessitent la configuration d'un profil d'instance. La création de l'environnement peut aboutir temporairement sans profil d'instance, mais l'environnement peut afficher des erreurs rapidement après sa création lorsque des actions nécessitant un profil d'instance commencent à échouer. Pour plus de détails, veuillez consulter Gestion des profils d'instance Elastic Beanstalk. |
Intégrité améliorée |
Les versions de plateforme AL2023/AL2 permettent d'améliorer l'intégrité par défaut. Il s'agit d'un changement si vous n'utilisez pas la console Elastic Beanstalk pour créer vos environnements. La console active l'intégrité améliorée par défaut chaque fois que cela est possible, quelle que soit la version de la plateforme. Pour plus de détails, veuillez consulter Surveillance et création de rapports d'intégrité améliorée. |
AMI personnalisée |
Si votre environnement utilise une AMI personnalisée, créez une nouvelle AMI basée sur AL2023/AL2 pour votre nouvel environnement à l'aide d'une plateforme Elastic Beanstalk AL2023/AL2. |
Plateformes personnalisées |
Les AMI gérées des versions de plateforme AL2023/AL2 ne prennent pas en charge les plateformes personnalisées. |
Considérations spécifiques à la plateforme
Cette section traite des considérations de migration spécifiques à certaines plateformes Linux Elastic Beanstalk.
La famille de branches de la plateforme Docker basée sur l'AMI Amazon Linux (AL1) comprend trois branches de plateforme. Nous recommandons un chemin de migration différent pour chacun d'entre eux.
Branche de la plateforme AL1 | Chemin de migration vers AL2023/AL2 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Docker multiconteneurs géré par Amazon ECS s'exécutant sur AMI Amazon Linux (AL1) |
Branche de plateforme Docker AL2023/AL2 basée sur ECSLa branche de la plateforme Docker AL2023/AL2 basée sur ECS offre un chemin de migration simple pour les environnements exécutés sur la branche de plateforme Docker AL1 multiconteneurs.
Pour plus d'informations sur la migration de vos applications exécutées sur la branche de plateforme Docker multiconteneur Amazon Linux vers une branche de plateforme Amazon ECS s'exécutant sur AL2023/AL2, consultez Migration de Docker multiconteneurs s'exécutant sur Amazon Linux vers ECS sur Amazon Linux 2023. |
||||||||
Docker s'exécutant sur AMI Amazon Linux (AL1) Docker préconfiguré (Glassfish 5.0) s'exécutant sur AMI Amazon Linux (AL1) |
Docker exécuté sur la branche de plateforme AL2023/AL2Nous vous recommandons de migrer vos applications s'exécutant sur des environnements basés sur Docker préconfiguré (Glassfish 5.0) ou Docker s'exécutant sur AMI Amazon Linux (AL1) vers des environnements basés sur les branches de plateforme Docker s'exécutant sur Amazon Linux 2 ou Docker s'exécutant sur AL2023. Si votre environnement repose sur la branche de plateforme Preconfigured Docker (Glassfish 5.0) (Docker préconfiguré [Glassfish 5.0]), consultez Déploiement d'une GlassFish application sur la plateforme Docker : une voie de migration vers Amazon Linux 2023. Le tableau ci-dessous répertorie les informations de migration spécifique à la branche de plateforme Docker s'exécutant sur AL2023/AL2.
|
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme Go.
Area | Modifications et informations |
---|---|
Transmission de port |
Sur les plateformes AL2023/AL2, Elastic Beanstalk ne transmet pas une valeur de port à votre processus d'application via la variable d'environnement |
Le tableau ci-dessous répertorie les informations de migration pour les branches de plateforme Corretto dans la plateforme Java SE.
Area | Modifications et informations |
---|---|
Corretto et OpenJDK |
Pour implémenter la plateforme Java édition standard (Java SE), les branches de plateforme AL2023/AL2 utilisent Amazon Corretto |
Outils de génération |
Les plateformes AL2023/AL2 disposent de versions d'outils de génération plus récentes : |
Gestion des fichiers JAR |
Sur les plateformes AL2023/AL2, si votre bundle de fichiers source (fichier ZIP) contient un seul fichier JAR et aucun autre fichier, Elastic Beanstalk ne renomme plus le fichier JAR |
Transmission de port |
Sur les plateformes AL2023/AL2, Elastic Beanstalk ne transmet pas une valeur de port à votre processus d'application via la variable d'environnement |
Java 7 |
Elastic Beanstalk ne prend pas en charge une branche de plateforme AL2023/AL2 Java 7. Si vous avez une application Java 7, migrez vers Corretto 8 ou Corretto 11. |
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme Tomcat.
Area | Modifications et informations | ||||||
---|---|---|---|---|---|---|---|
Options de configuration |
Sur les versions de plateforme AL2023/AL2, Elastic Beanstalk ne prend en charge qu'un sous-ensemble des options de configuration et des valeurs d'option dans l'espace de noms
L'option |
||||||
Chemin d'accès de l'application |
Sur les plateformes AL2023/AL2, le chemin d'accès au répertoire de l'application sur les instances Amazon EC2 de votre environnement est |
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme Node.js.
Area | Modifications et informations | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versions de Node.js installées |
Sur les plateformes AL2023/AL2, Elastic Beanstalk conserve plusieurs branches de plateforme Node.js et installe uniquement la dernière version majeure de Node.js correspondant à la branche de plateforme sur chaque version de plateforme. Par exemple, chaque version de plateforme dans la branche de plateforme Node.js 12 n'a que Node.js 12.x.y installé par défaut. Sur les versions de plateforme AMI Amazon Linux, nous avons installé les versions multiples de plusieurs versions de Node.js sur chaque version de plateforme, et nous n'avons maintenu qu'une seule branche de plateforme. Choisissez la branche de plateforme Node.js qui correspond à la version majeure de Node.js dont votre application a besoin. |
||||||||||
Noms des fichiers journaux HTTPD Apache |
Sur les plateformes AL2023/AL2, si vous utilisez le serveur proxy HTTPD Apache, les noms des fichiers journaux HTTPD sont Pour de plus amples informations sur les noms et les emplacements des fichiers journaux de toutes les plateformes, veuillez consulter Méthode de configuration de CloudWatch Logs par Elastic Beanstalk. |
||||||||||
Options de configuration |
Sur les plateformes AL2023/AL2, Elastic Beanstalk ne prend pas en charge les options de configuration de l'espace de noms
|
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme PHP.
Area | Modifications et informations |
---|---|
Traitement des fichiers PHP |
Sur les plateformes AL2023/AL2, les fichiers PHP sont traités à l'aide de PHP-FPM (gestionnaire de processus CGI). Sur les plateformes AMI Amazon Linux, nous avons utilisé mod_php (un module Apache). |
Serveur proxy |
Les versions de plateforme AL2023/AL2 PHP prennent en charge à la fois les serveurs proxys nginx et Apache HTTPD. La valeur par défaut est nginx. Les versions de la plateforme PHP AMI Amazon Linux prenaient uniquement en charge Apache HTTPD. Si vous avez ajouté des fichiers de configuration Apache personnalisés, vous pouvez définir l'option |
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme Python.
Area | Modifications et informations |
---|---|
Serveur WSGI |
Sur les plateformes AL2023/AL2, Gunicorn Vous pouvez également utiliser un |
Chemin d'accès de l'application |
Sur les plateformes AL2023/AL2, le chemin d'accès au répertoire de l'application sur les instances Amazon EC2 de votre environnement est |
Serveur proxy |
Les versions de plateforme AL2023/AL2 Python prennent en charge à la fois les serveurs proxys nginx et Apache HTTPD. La valeur par défaut est nginx. Les versions de plateforme AMI Python Amazon Linux prennent uniquement en charge Apache HTTPD. Si vous avez ajouté des fichiers de configuration Apache personnalisés, vous pouvez définir l'option |
Le tableau ci-dessous répertorie les informations de migration pour les versions de plateforme AL2023/AL2 dans la plateforme Ruby.
Area | Modifications et informations |
---|---|
Versions de Ruby installées |
Sur les plateformes AL2023/AL2, Elastic Beanstalk n'installe que la dernière version d'une seule version de Ruby, correspondant à la branche de plateforme, sur chaque version de plateforme. Par exemple, chaque version de plateforme de la branche de plateforme Ruby 2.6 dispose uniquement de Ruby 2.6.x installé. Sur les versions de la plateforme AMI Amazon Linux, nous avons installé les dernières versions de plusieurs versions de Ruby, par exemple 2.4.x, 2.5.x et 2.6.x. Si votre application utilise une version de Ruby qui ne correspond pas à la branche de plateforme que vous utilisez, nous vous recommandons de basculer vers une branche de plateforme qui dispose de la version de Ruby correcte pour votre application. |
Serveur d'application |
Sur les plateformes AL2023/AL2, Elastic Beanstalk installe uniquement le serveur d'applications Puma sur toutes les versions de plateforme Ruby. Vous pouvez utiliser un Sur la plateforme AMI Amazon Linux, nous avons pris en charge deux types de branches de plateforme pour chaque version Ruby : l'une avec le serveur d'applications Puma et l'autre avec le serveur d'applications Passenger. Si votre application utilise Passenger, vous pouvez configurer votre environnement Ruby pour installer et utiliser Passenger. Pour plus d'informations et d'exemples, consultez Utilisation de la plateforme Elastic Beanstalk Ruby. |