Utilisation des configurations de déploiement dans CodeDeploy - AWS CodeDeploy

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.

Utilisation des configurations de déploiement dans CodeDeploy

Une configuration de déploiement est un ensemble de règles et de conditions de réussite et d'échec utilisées CodeDeploy lors d'un déploiement. Ces règles et conditions sont différentes selon que vous déployez sur une plate-forme de calcul EC2/sur site, une plate-forme de calcul AWS Lambda ou une plate-forme de calcul Amazon ECS.

Configurations de déploiement sur une plate-forme informatique EC2/sur site

Lorsque vous déployez sur une plate-forme informatique EC2/sur site, la configuration de déploiement spécifie, en utilisant une valeur « hôtes sains minimum » et une valeur facultative « nombre minimum d'hôtes sains par zone », le nombre ou le pourcentage d'instances qui doivent rester disponibles à tout moment au cours d'un déploiement.

Vous pouvez utiliser l'une des trois configurations de déploiement prédéfinies fournies par AWS ou créer une configuration de déploiement personnalisée. Pour plus d'informations sur la création de configurations de déploiement personnalisées, consultezCreate a Deployment Configuration. Si vous ne spécifiez pas de configuration de déploiement, CodeDeploy utilise le CodeDeployDefault. OneAtConfiguration de déploiement ATime.

Pour plus d'informations sur la manière de CodeDeploy surveiller et d'évaluer l'état de santé de l'instance lors d'un déploiement, consultezInstance Health. Pour consulter la liste des configurations de déploiement déjà enregistrées sur votre AWS compte, consultezView Deployment Configuration Details.

Configurations de déploiement prédéfinies pour une plate-forme informatique EC2/sur site

Le tableau ci-dessous répertorie les configurations de déploiement prédéfinies.

Note

Aucune configuration de déploiement prédéfinie ne prend en charge cette zonal configuration fonctionnalité (qui permet de spécifier le nombre d'hôtes sains par zone de disponibilité). Si vous souhaitez utiliser cette fonctionnalité, vous devez créer votre propre configuration de déploiement.

Configuration de déploiement Description
CodeDeployDefault.AllAtOnce

Déploiements sur place :

Tente de déployer une révision d'application sur autant d'instances que possible à la fois. L'état du déploiement global apparaît comme Succeeded si la révision d'application est déployée sur une ou plusieurs des instances. L'état du déploiement global apparaît comme Failed si la révision d'application n'est déployée sur aucune des instances. À l'aide d'un exemple de neuf instances, CodeDeployDefault. AllAtOnce tente de déployer simultanément sur les neuf instances. Le déploiement global réussit si le déploiement sur une seule instance réussit. Il échoue uniquement si les déploiements sur les neuf instances échouent.

Déploiements bleu/vert :

  • Déploiement vers un environnement de remplacement : suit les mêmes règles de déploiement que CodeDeployDefault. AllAtOnce pour les déploiements sur place.

  • Réacheminement du trafic : Il réachemine le trafic vers toutes les instances dans l'environnement de remplacement à la fois. Réussit si le réacheminement du trafic vers au moins une instance réussit. Echoue après l'échec du réacheminement vers toutes les instances.

CodeDeployDefault. HalfAtA l'heure

Déploiements sur place :

Effectue le déploiement au plus sur la moitié des instances à la fois (les fractions étant arrondies à l'unité inférieure). Le déploiement global réussit si la révision d'application est déployée sur au moins la moitié des instances (les fractions étant arrondies à l'unité supérieure). Sinon, le déploiement échoue. Dans l'exemple avec neuf instances, cette configuration effectue un déploiement sur quatre instances maximum à la fois. Le déploiement global réussit si le déploiement réussit sur cinq instances ou plus. Sinon, le déploiement échoue.

Note

Si vous déployez sur des instances appartenant à plusieurs groupes Auto Scaling, vous CodeDeploy déploierez jusqu'à la moitié des instances à la fois, quel que soit le groupe Auto Scaling auquel elles appartiennent. Supposons, par exemple, que vous disposiez de deux groupes Auto Scaling comportant chacun 10 instances. ASG1 ASG2 Dans ce scénario, CodeDeploy vous pourriez effectuer un déploiement sur 10 instances en seulement ASG1 et le considérer comme une réussite, car le déploiement a été effectué sur au moins la moitié des instances.

Déploiements bleu/vert :

  • Déploiement vers un environnement de remplacement : suit les mêmes règles de déploiement que CodeDeployDefault. HalfAtATime les déploiements sur place.

  • Réacheminement du trafic : Il réachemine le trafic vers la moitié des instances au plus dans l'environnement de remplacement à la fois. Réussit si le réacheminement vers au moins la moitié des instances réussit. Dans le cas contraire, échoue.

CodeDeployDefault. OneAtA l'heure

Déploiements sur place :

Déploie la révision d'application sur une seule instance à la fois.

Pour les groupes de déploiement qui contiennent plusieurs instances :

  • Le déploiement global réussit si la révision d'application est déployée sur l'ensemble des instances. L'exception à cette règle est que si le déploiement sur la dernière instance échoue, le déploiement global réussit quand même. Cela est dû au CodeDeploy fait qu'une seule instance à la fois peut être mise hors ligne avec le CodeDeployDefault. OneAtConfiguration ATime.

  • Le déploiement global échoue dès que la révision d'application ne peut pas être déployée sur une instance quelconque autre que la dernière.

  • Dans un exemple utilisant neuf instances, le déploiement s'effectue sur une seule instance à la fois. Le déploiement global réussit si le déploiement sur les huit premières instances réussit. Le déploiement global échoue si le déploiement sur l'une des huit premières instances échoue.

Pour les groupes de déploiement qui ne contiennent qu'une seule instance, le déploiement global réussit seulement si le déploiement sur cette instance unique réussit.

Déploiements bleu/vert :

  • Déploiement vers un environnement de remplacement : suit les mêmes règles de déploiement que CodeDeployDefault. OneAtATime les déploiements sur place.

  • Réacheminement du trafic : Il réachemine le trafic vers une instance dans l'environnement de remplacement à la fois. Réussit si le réacheminement du trafic vers toutes les instances de remplacement réussit. Echoue après le premier échec de réacheminement. L'exception à cette règle est que si le déploiement sur la dernière instance échoue lors de l'inscription, le déploiement global réussit quand même.

Configurations de déploiement sur une plateforme de calcul Amazon ECS

Lorsque vous effectuez un déploiement sur une plate-forme de calcul Amazon ECS, la configuration de déploiement indique comment le trafic est transféré vers l'ensemble de tâches Amazon ECS mis à jour. Vous pouvez déplacer le trafic à l'aide d'une configuration Canary, linéaire ou de all-at-oncedéploiement. Pour plus d’informations, consultez Configuration de déploiement.

Vous pouvez aussi créer votre configuration de déploiement personnalisée linéaire ou basée sur le contrôle de validité. Pour plus d’informations, consultez Create a Deployment Configuration.

Configurations de déploiement prédéfinies pour une plateforme de calcul Amazon ECS

Le tableau suivant répertorie les configurations prédéfinies disponibles pour les déploiements Amazon ECS.

Note

Si vous utilisez un Network Load Balancer, seule la configuration de déploiement CodeDeployDefault.ECSAllAtOnce prédéfinie est prise en charge.

Configuration de déploiement Description

CodeDeployDefault.ECS Linear 10 1 minutes PercentEvery

Déplace 10 % du trafic toutes les minutes jusqu'à ce que l'intégralité du trafic soit déplacée.

CodeDeployDefault.ECSlinear10 3 minutes PercentEvery

Déplace 10 % du trafic toutes les trois minutes jusqu'à ce que l'intégralité du trafic soit déplacée.

CodeDeployDefault. EC Canary 10 pour cent 5 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 5 minutes plus tard.

CodeDeployDefault. ECCANARY 10 % 15 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 15 minutes plus tard.

CodeDeployDefault.ECS AllAtOnce

Transfère immédiatement tout le trafic vers le conteneur Amazon ECS mis à jour.

Configurations de déploiement pour les déploiements AWS CloudFormation bleu/vert (Amazon ECS)

Lorsque vous déployez sur une plate-forme de calcul Amazon ECS via des déploiements AWS CloudFormation bleu/vert, la configuration de déploiement indique comment le trafic est transféré vers le conteneur Amazon ECS mis à jour. Vous pouvez déplacer le trafic à l'aide d'une configuration Canary, linéaire ou de all-at-oncedéploiement. Pour plus d’informations, consultez Configuration de déploiement.

Avec les déploiements AWS CloudFormation bleu/vert, vous ne pouvez pas créer votre propre configuration de déploiement Canary ou linéaire personnalisée. Pour step-by-step obtenir des instructions sur la manière AWS CloudFormation de gérer vos déploiements bleu/vert Amazon ECS, consultez la section Automatiser les déploiements bleu/vert d'ECS dans CodeDeploy le guide de l'utilisateur. AWS CloudFormationAWS CloudFormation

Note

La gestion des déploiements bleu/vert d'Amazon ECS avec n' AWS CloudFormation est pas disponible dans les régions Europe (Milan), Afrique (Le Cap) et Asie-Pacifique (Osaka).

Configurations de déploiement sur une plateforme AWS Lambda informatique

Lorsque vous effectuez un déploiement sur une plate-forme de calcul AWS Lambda, la configuration de déploiement indique la manière dont le trafic est transféré vers les nouvelles versions des fonctions Lambda de votre application. Vous pouvez déplacer le trafic à l'aide d'une configuration Canary, linéaire ou de all-at-oncedéploiement. Pour plus d’informations, consultez Configuration de déploiement.

Vous pouvez aussi créer votre configuration de déploiement personnalisée linéaire ou basée sur le contrôle de validité. Pour plus d’informations, consultez Create a Deployment Configuration.

Configurations de déploiement prédéfinies pour une plate-forme AWS Lambda informatique

Le tableau ci-dessous répertorie les configurations de déploiement prédéfinies disponibles pour les déploiements AWS Lambda .

Configuration de déploiement Description

CodeDeployDefault. LambdaCanary10 % 5 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 5 minutes plus tard.

CodeDeployDefault. LambdaCanary10 % 10 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 10 minutes plus tard.

CodeDeployDefault. LambdaCanary10 % 15 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 15 minutes plus tard.

CodeDeployDefault. LambdaCanary10 % 30 minutes

Déplace 10 % du trafic dans le premier incrément. Les 90 % restants sont déployés 30 minutes plus tard.

CodeDeployDefault. LambdaLinear10 PercentEvery 1 minute

Déplace 10 % du trafic toutes les minutes jusqu'à ce que l'intégralité du trafic soit déplacée.

CodeDeployDefault. LambdaLinear10 à PercentEvery 2 minutes

Déplace 10 % du trafic toutes les deux minutes jusqu'à ce que l'intégralité du trafic soit déplacée.

CodeDeployDefault. LambdaLinear10 à PercentEvery 3 minutes

Déplace 10 % du trafic toutes les trois minutes jusqu'à ce que l'intégralité du trafic soit déplacée.

CodeDeployDefault. LambdaLinear10 à PercentEvery 10 minutes Déplace 10 % du trafic toutes les 10 minutes jusqu'à ce que la totalité du trafic soit déplacée.
CodeDeployDefault.LambdaAllAtOnce

Transfère immédiatement tout le trafic vers les fonctions Lambda mises à jour.

Rubriques