déploiement de référence

Déploiement bleu/vert sur AWS

Utilisation d'AWS CodePipeline pour le déploiement vers des environnements AWS Elastic Beanstalk

Ce Quick Start déploie automatiquement une architecture bleu/vert sur AWS à l'aide d'AWS CodePipeline. Il crée un pipeline d'intégration continue/de livraison continue (CI/CD) en 15 minutes environ.

Quand une application est développée et déployée dans un environnement AWS Elastic Beanstalk contenant deux environnements séparés mais identiques (bleu et vert), cela augmente la disponibilité et réduit les risques. Dans cette architecture Quick Start, l'environnement bleu est l'environnement de production que traite normalement le trafic en vif. L’architecture de pipeline CI/CD crée un clone (vert) de l’environnement Elastic Beanstalk réel (bleu). Le pipeline échange ensuite les URL entre les deux environnements.

Tandis que CodePipeline déploie le code de l’application vers l'environnement d’origine, et que le teste et la maintenance sont en cours, l’environnement clone temporaire traite le trafic en vif. Une fois le déploiement vers l’environnement bleu réussi, et l’analyse et le test du code effectués, le pipeline échange à nouveau les URL entre l’environnement vert et le bleu. L'environnement bleu recommence à diffuser le trafic en vif et le pipeline supprime l'environnement vert.

 

 

Ce Quick Start a été développé par
les architectes de solution AWS.

 

  •  Ce que vous allez construire
  • Utilisez ce Quick Start pour déployer et configurer l'environnement suivant pour un déploiement bleu/vert sur AWS :

    • Un pipeline qui est déclenché lorsqu'un compartiment Amazon S3 est chargé avec une nouvelle version du package d'application déployée vers l'environnement AWS Elastic Beanstalk.
    • Des fonctions AWS Lambda pour cloner l’environnement bleu en tant qu’environnement vert, échanger les URL, puis supprimer l’environnement vert une fois le déploiement et le test de l’environnement bleu terminés.
    • Des projets AWS CodeBuild pour effectuer l’échange d’URL initial entre les environnements bleu et vert et pour tester le déploiement de l’environnement bleu.
    • Si un environnement Elastic Beanstalk existant et l’application dans laquelle il se trouve ne sont pas fournis, ce Quick Start crée un exemple d’environnement.
    • Des rôles AWS IAM pour les fonctions Lambda, les projets CodeBuild, CodePipeline et un rôle de service pour l’exemple d’application Elastic Beanstalk.
    • Séparez les compartiments Amazon S3 pour le stockage d’artefacts CodePipeline, les ressources de fonction Lambda et les ressources CodeBuild. Vous pouvez disposez d'un compartiment S3 optionnel pour stocker le package ZIP qui contient le code d'application pour le déploiement Elastic Beanstalk.
  •  Processus de déploiement
  • Pour créer une architecture bleu/vert sur AWS, suivez les instructions du guide de déploiement. Le processus de déploiement, qui comprend les étapes suivantes, dure environ 15 minutes :

    1. Consultez les prérequis.
    2. Si vous n'avez pas encore de compte AWS, inscrivez-vous à l'adresse https://aws.amazon.com.
    3. (Facultatif) Prenez note de tout environnement et application Elastic Beanstalk existant. Vous pouvez ignorer cette étape si vous souhaitez lancer un exemple d’environnement et d’application.
    4. Lancez le Quick Start et personnalisez vos paramètres.
    5. (Facultatif) Si Git pour l'intégration S3 est activé, configurez votre référentiel Git.
    6. Testez le déploiement.

    Amazon peut être amené à partager les informations relatives au déploiement des utilisateurs avec le partenaire AWS qui a élaboré cette solution en collaboration avec AWS.  

  •  Coût et licences
  • Vous devez assumer les coûts liés aux services AWS utilisés pendant l'exécution du déploiement de référence de ce Quick Start. L'utilisation du déploiement Quick Start n'entraîne aucun coût supplémentaire.

    Ce Quick Start lance un pipeline qui interagit avec les fonctions Lambda, AWS CodeBuild, Amazon Simple Notification Service (SNS) et Elastic Beanstalk pour des déploiements rentables. Si vous le souhaitez, vous pouvez activer le Quick Start Webhooks Git avec les services AWS avec ce Quick Start pour lier votre référentiel Git à Amazon S3. Git pour l’intégration Amazon S3 fournit un point de terminaison Amazon API Gateway et des fonctions Lambda afin de gérer le téléchargement, la compression et le déploiement du code vers Amazon S3.

    AWS CodePipeline entraîne un coût pour chaque pipeline actif. Consultez la tarification AWS CodePipeline. AWS CodeBuild et Amazon SNS proposent une approche tarifaire en fonction de l’utilisation. Pour plus d’informations, consultez les pages AWS CodeBuild et Amazon SNS. Selon votre configuration, le Quick Start Webhooks Git avec les services AWS peut déployer une clé AWS Key Management Service (AWS KMS). Pour connaître les frais, consultez la tarification AWS Key Management Service. Les coûts applicables à API Gateway, Amazon S3 et Lambda varient en fonction du nombre de fois où vous validez un code dans votre référentiel. Chaque commit déclenche une requête vers l’exécution Lambda dans API Gateway. Pour plus de détails, consultez les pages de tarification concernant API Gateway, Amazon S3 et Lambda.