Déploiement d'applications dans des environnements Elastic Beanstalk - AWS Elastic Beanstalk

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.

Déploiement d'applications dans des environnements Elastic Beanstalk

Vous pouvez utiliser la console AWS Elastic Beanstalk pour télécharger une solution groupée source mise à jour et la déployer dans votre environnement Elastic Beanstalk ou redéployer une version précédemment téléchargée.

Chaque utilisateur est identifié par un ID de déploiement. Les ID de déploiement démarrent à 1 et augmentent d'un à chaque changement de configuration d'instance et de déploiement. Si vous activez les rapports améliorés sur l'état, Elastic Beanstalk affiche l'ID de déploiement dans la console de surveillance de l'état et dans la CLI EB quand il rapporte l'état de santé de l'instance. L'ID de déploiement vous aide à déterminer l'état de votre environnement lorsqu'une mise à jour propagée échoue.

Elastic Beanstalk fournit plusieurs stratégies et paramètres de déploiement. Pour de plus amples informations sur la configuration d'une stratégie et d'autres paramètres, veuillez consulter Paramètres et stratégies de déploiement. Le tableau suivant répertorie les stratégies et les types d'environnements qui les prennent en charge.

Stratégies de déploiement prises en charge
Stratégie de déploiement Environnements à charge équilibrée Environnements d'instance unique Environnements Windows Server existants†

Simultanément

Oui

Oui

Oui

Propagation

Oui

Non

Oui

Propagation avec un lot supplémentaire

Oui

Non

Non

Immuable

Oui

Oui

Non

Répartition du trafic

Oui (Équilibreur de charge Application Load Balancer)

Non

Non

† Dans ce tableau, un environnement Windows Server existant est un environnement basé sur une configuration de plateforme Windows Server qui utilise une version d'IIS antérieure à IIS 8.5.

Avertissement

Certaines politiques remplacent toutes les instances pendant le déploiement ou la mise à jour. Cela entraîne la perte de tous les équilibres de rafale Amazon EC2 cumulés. Une telle situation se produit dans les cas suivants :

  • Mises à jour de la plate-forme gérée avec le remplacement d'instance activé

  • Mises à jour immuables

  • Déploiements avec mises à jour immuables ou fractionnement du trafic activé

Choix d'une stratégie de déploiement

Le choix de la stratégie de déploiement adaptée pour votre application est un compromis entre plusieurs considérations et dépend de vos besoins particuliers. La page Paramètres et stratégies de déploiement contient de plus amples informations sur chaque stratégie et une description détaillée du fonctionnement de certaines d'entre elles.

La liste suivante fournit des informations récapitulatives sur les différentes stratégies de déploiement et ajoute des considérations connexes.

  • Simultanée – Méthode de déploiement la plus rapide. Convient si vous pouvez accepter une courte perte de service et si des déploiements rapides sont importants pour vous. Avec cette méthode, Elastic Beanstalk déploie la nouvelle version de l'application sur chaque instance. Ensuite, le proxy Web ou le serveur d'applications peut avoir besoin de redémarrer. Par conséquent, votre application peut être indisponible pour les utilisateurs (ou présenter une faible disponibilité) pendant une courte période.

  • Propagation – Évite les temps d'arrêt et minimise la disponibilité réduite, au prix d'un temps de déploiement plus long. Convient si vous ne pouvez accepter aucune période de service complètement perdu. Avec cette méthode, votre application est déployée dans votre environnement, un lot d'instances à la fois. La plupart de la bande passante est conservée tout au long du déploiement.

  • Propagation avec un lot supplémentaire – Évite toute disponibilité réduite, au prix d'un temps de déploiement encore plus long que la méthode Propagation. Convient si vous devez conserver la même bande passante tout au long du déploiement. Avec cette méthode, Elastic Beanstalk lance un lot supplémentaire d'instances, puis effectue un déploiement par propagation. Le lancement du lot supplémentaire prend du temps et garantit que la même bande passante est conservée tout au long du déploiement.

  • Immuable – Méthode de déploiement plus lente, qui garantit que la nouvelle version de votre application est toujours déployée sur les nouvelles instances, au lieu de mettre à jour les instances existantes. Elle présente également l'avantage supplémentaire d'une restauration rapide et sûre en cas d'échec du déploiement. Avec cette méthode, Elastic Beanstalk effectue une mise à jour immuable pour déployer votre application. Dans une mise à jour immuable, un second groupe Auto Scaling est lancé dans votre environnement et la nouvelle version sert le trafic parallèlement à l'ancienne version jusqu'à ce que les nouvelles instances transmettent les vérifications de l'état.

  • Répartition du trafic – Méthode de déploiement avec tests Canary. Convient si vous souhaitez tester l'intégrité de la nouvelle version de votre application en utilisant une partie du trafic entrant, tout en conservant le reste du trafic servi par l'ancienne version de l'application.

Le tableau suivant compare les propriétés des méthodes de déploiement :

Méthodes de déploiement
Method Impact d'un échec de déploiement Temps de déploiement Aucune interruption Pas de modification DNS Processus de restauration Code déployé sur
Simultanément Temps d'arrêt Non Oui Redéploiement manuel Instances existantes
Propagation Lot unique hors service. Tout lot ayant abouti avant l'échec de l'exécution de la nouvelle version de l'application Oui Oui Redéploiement manuel Instances existantes
Propagation avec un lot supplémentaire Minime si le premier lot échoue, sinon similaire à Propagation. Oui Oui Redéploiement manuel Instances nouvelles et existantes
Immuable Minimale Oui Oui Résilier les nouvelles instances Nouvelles instances
Répartition du trafic Pourcentage du trafic client acheminé vers la nouvelle version temporairement affecté †† Oui Oui Réacheminer le trafic et résilier les nouvelles instances Nouvelles instances
Bleu/vert Minimale Oui Non Permutation URL Nouvelles instances

Varie en fonction de la taille du lot.

†† Varie en fonction du réglage de l'option du temps d'évaluation.

Déploiement d'une nouvelle version de l'application

Vous pouvez effectuer des déploiements à partir du tableau de bord de votre environnement.

Pour déployer une nouvelle version de l'application dans un environnement Elastic Beanstalk
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Choisissez Upload and Deploy (Charger et déployer).

  4. Utilisez le formulaire à l'écran pour télécharger le bundle source de l'application.

  5. Choisissez Deploy (Déployer).

Redéploiement d'une version précédente

Vous pouvez également déployer une version précédemment chargée de votre application sur n'importe lequel de ses environnements depuis la page des versions d'application.

Pour déployer une version de l'application existante dans un environnement existant
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Applications, puis sélectionnez le nom de votre application dans la liste.

    Note

    Si vous avez plusieurs applications, utilisez la barre de recherche pour filtrer la liste des applications.

  3. Dans le volet de navigation, recherchez le nom de votre application et choisissez Application versions (Versions d'application).

  4. Sélectionnez la version d'application à déployer.

  5. Choisissez Actions, puis Deploy (Déployer).

  6. Choisissez un environnement, puis Deploy (Déployer).

Autres méthodes de déploiement de votre application

Si vous procédez à des déploiements fréquents, pensez à utiliser l'interface de ligne de commande Elastic Beanstalk (CLI EB) pour gérer vos environnements. La CLI EB crée un référentiel parallèlement à votre code source. Elle peut également créer un bundle de fichiers source, le charger dans Elastic Beanstalk et le déployer à l'aide d'une seule commande.

Pour les déploiements qui reposent sur des modifications de configuration de ressources ou une nouvelle version qui ne peut pas s'exécuter parallèlement à l'ancienne version, vous pouvez lancer un nouvel environnement avec la nouvelle version et effectuer un échange CNAME pour un déploiement bleu/vert.