AWS Elastic Beanstalk
Manuel du développeur

Déploiements bleu/vert avec Elastic Beanstalk

Comme AWS Elastic Beanstalk exécute une mise à niveau sur place lorsque vous mettez à jour vos versions d'application, les utilisateurs peuvent ne plus avoir accès à votre application pendant une brève période. Vous pouvez éviter ce temps d'arrêt en effectuant un déploiement bleu/vert : vous déployez la nouvelle version dans un environnement distinct, puis vous échangez les CNAME des deux environnements afin de rediriger instantanément le trafic vers la nouvelle version.

Les déploiements bleu/vert nécessitent que votre environnement s'exécute indépendamment de votre base de données de production, si votre application en utilise une. Si votre environnement est associé à une instance DB Amazon RDS, les données ne seront pas transférées vers votre deuxième environnement, et elles seront perdues si vous suspendez l'environnement d'origine.

Pour plus d'informations sur la configuration de votre application en vue de la connecter à une instance Amazon RDS externe (non gérée par Elastic Beanstalk), consultez Utilisation d'Elastic Beanstalk avec Amazon Relational Database Service.

Pour effectuer un déploiement bleu/vert

  1. Ouvrez la Console Elastic Beanstalk.

  2. Clonez votre environnement actuel ou lancez un nouvel environnement exécutant la configuration souhaitée.

  3. Déployez la nouvelle version d'application dans le nouvel environnement.

  4. Testez la nouvelle version sur le nouvel environnement.

  5. Dans le tableau de bord du nouvel environnement, choisissez Actions, puis Échanger l'URL d'un environnement.

  6. Dans la liste Nom de l'environnement, sélectionnez l'environnement actuel.

    
          Page Échanger l'URL d'un environnement
  7. Choisissez Permuter.

Elastic Beanstalk échange les enregistrements CNAME de l'ancien et du nouvel environnements, en redirigeant le trafic depuis l'ancienne version vers la nouvelle version et vice versa.


      Événements d'échange d'URL d'un environnement

Une fois l'opération d'échange effectuée par Elastic Beanstalk, assurez-vous que le nouvel environnement répond lorsque vous essayez de vous connecter à l'ancienne URL de l'environnement. Toutefois, avant de résilier votre ancien environnement, attendez que les modifications DNS se propagent et que vos anciens enregistrements DNS arrivent à expiration. Les serveurs DNS n'effacent pas forcément les anciens enregistrements de leur cache, selon la durée de vie que vous avez définie dans vos enregistrements DNS.