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.
À propos des déploiements bleu/vert
Cette rubrique fournit une vue d'ensemble de l'exécution des blue/green deployments with CloudFormation works. It also explains how to prepare your CloudFormation template for blue/green déploiements.
Rubriques
Comment ça marche
Lorsque vous l'utilisez CloudFormation pour effectuer des déploiements ECS bleu/vert CodeDeploy, vous commencez par créer un modèle de pile qui définit les ressources pour vos environnements d'applications bleus et verts, notamment en spécifiant les paramètres de routage et de stabilisation du trafic à utiliser. Ensuite, vous créez une pile à partir de ce modèle. Cela génère votre application bleue (actuelle). CloudFormation crée uniquement les ressources bleues lors de la création de la pile. Les ressources pour un déploiement vert ne sont pas créées tant qu'elles ne sont pas requises.
Ensuite, si, lors d'une future mise à jour de la pile, vous mettez à jour la définition des tâches ou les ressources de l'ensemble de tâches dans votre application CloudFormation bleue, procédez comme suit :
-
Génère toutes les ressources d'environnement d'applications « vertes » nécessaires.
-
Déplace le trafic en fonction des paramètres de routage de trafic spécifiés.
-
Supprime les ressources « bleu »
Si une erreur se produit à un moment quelconque avant que le déploiement vert ne soit réussi et finalisé, CloudFormation rétablit la pile à son état initial avant que le déploiement vert entier ne soit lancé.
Mises à jour des ressources qui initient des déploiements écologiques
Lorsque vous effectuez une mise à jour de la pile qui met à jour certaines propriétés de ECS ressources spécifiques, CloudFormation un processus de déploiement écologique est lancé. Les ressources qui initient ce processus sont les suivantes :
Toutefois, si les mises à jour de ces ressources n'impliquent pas de modifications de propriétés nécessitant un remplacement, aucun déploiement écologique ne sera lancé. Pour de plus amples informations, veuillez consulter Comprendre les comportements de mise à jour des ressources de pile.
Il est important de noter que vous ne pouvez pas combiner les mises à jour des ressources ci-dessus avec les mises à jour d'autres ressources au cours de la même opération de mise à jour de la pile. Si vous devez mettre à jour à la fois les ressources répertoriées et les autres ressources de la même pile, deux options s'offrent à vous :
-
Effectuez deux opérations de mise à jour de pile distinctes : l'une qui inclut uniquement les mises à jour des ressources ci-dessus et l'autre qui inclut les modifications apportées à d'autres ressources.
-
Supprimez les sections
Hooks
Transform
de votre modèle, puis effectuez la mise à jour de la pile. Dans ce cas, CloudFormation n'effectuera pas de déploiement écologique.
Préparation de votre modèle pour effectuer des déploiements ECS bleu/vert
Pour activer les déploiements bleu/vert sur votre pile, incluez les sections suivantes dans votre modèle de pile avant d'effectuer une mise à jour de pile.
-
Ajoutez une référence à la transformation
AWS::CodeDeployBlueGreen
dans votre modèle :"Transform": [ "AWS::CodeDeployBlueGreen" ],
-
Ajoutez une section
Hooks
qui appelle le hookAWS::CodeDeploy::BlueGreen
et spécifie les propriétés de votre déploiement. Pour de plus amples informations, veuillez consulter AWS::CodeDeploy::BlueGreensyntaxe du crochet. -
Dans la section
Resources
, définissez les ressources bleues et vertes pour votre déploiement.
Vous pouvez ajouter ces sections lorsque vous créez le modèle pour la première fois (c'est-à-dire avant de créer la pile elle-même), ou vous pouvez les ajouter à un modèle existant avant d'effectuer une mise à jour de la pile. Si vous spécifiez le déploiement bleu/vert pour une nouvelle pile, les ressources bleues CloudFormation ne sont créées que lors de la création de la pile. Les ressources pour le déploiement vert ne sont créées que lorsqu'elles sont requises lors d'une mise à jour de la pile.
Modélisation de votre déploiement bleu/vert à l'aide des ressources CloudFormation
Pour effectuer un déploiement CodeDeploy bleu/vert surECS, votre CloudFormation modèle doit inclure les ressources qui modélisent votre déploiement, telles qu'un ECS service Amazon et un équilibreur de charge. Pour plus de détails sur ce que représentent ces ressources, consultez Before you start an Amazon ECS deployment dans le guide de AWS CodeDeploy l'utilisateur.
Exigence | Ressource | Obligatoire/facultatif | Lance un déploiement bleu/vert en cas de remplacement ? |
---|---|---|---|
ECSCluster Amazon | AWS::ECS::Cluster | Facultatif. Le cluster par défaut peut être utilisé. | Non |
ECSService Amazon | AWS::ECS::Service | Obligatoire. | Non |
Application Load Balancer ou Network Load Balancer | AWS::ECS::Service LoadBalancer | Obligatoire. | Non |
Écouteur de production | AWS::ElasticLoadBalancingV2::Listener | Obligatoire. | Non |
Écouteur de test | AWS::ElasticLoadBalancingV2::Listener | Facultatif. | Non |
Deux groupes cibles | AWS::ElasticLoadBalancingV2::TargetGroup | Obligatoire. | Non |
Définition des ECS tâches Amazon | AWS::ECS::TaskDefinition | Obligatoire. | Oui |
Conteneur pour votre ECS application Amazon | AWS::ECS::TaskDefinition ContainerDefinition Name | Obligatoire. | Non |
Port de votre ensemble de tâches de remplacement | AWS::ECS::TaskDefinition PortMapping ContainerPort | Obligatoire. | Non |
Jeux de modifications
Nous vous recommandons fortement de créer un jeu de modifications avant d'effectuer une mise à jour de pile qui initiera un déploiement vert. Cela vous permet de voir les modifications réelles qui seront apportées à votre pile avant de procéder à la mise à jour de la pile. Sachez que les modifications de ressources peuvent ne pas être répertoriées dans l'ordre dans lequel elles seront effectuées lors de la mise à jour de la pile. Pour de plus amples informations, veuillez consulter Mettre à jour CloudFormation les piles à l'aide d'ensembles de modifications.
Surveillance des événements liés à la pile
Vous pouvez consulter les événements de pile générés à chaque étape du ECS déploiement dans l'onglet Événements de la page Stack et en utilisant le AWS CLI. Pour de plus amples informations, veuillez consulter Surveillez la progression de la pile.
IAMautorisations pour les déploiements bleu/vert
CloudFormation Pour effectuer avec succès les déploiements bleu-vert, vous devez disposer des autorisations suivantes : CodeDeploy
-
codedeploy:Get*
-
codedeploy:CreateCloudFormationDeployment
Pour plus d'informations, consultez la rubrique Actions, ressources et clés de condition pour CodeDeploy dans la section Référence de l'autorisation de service.