CodeDeploy composants principaux - 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.

CodeDeploy composants principaux

Avant de commencer à utiliser le service, vous devez vous familiariser avec les principaux composants du processus de CodeDeploy déploiement.

Application

Une application est un nom qui identifie de manière unique l'application que vous souhaitez déployer. CodeDeploy utilise ce nom, qui fonctionne comme un conteneur, pour garantir que la combinaison correcte de révision, de configuration de déploiement et de groupe de déploiement est référencée lors d'un déploiement.

Plateforme de calcul

Une plateforme de calcul est une plateforme sur laquelle est CodeDeploy déployée une application. Il existe trois plateformes de calcul :

  • EC2/On-Premises : décrit les instances de serveurs physiques qui peuvent être des instances EC2 cloud Amazon, des serveurs sur site ou les deux. Les applications créées à l'aide de la plate-forme EC2 de calcul /On-Premises peuvent être composées de fichiers exécutables, de fichiers de configuration, d'images, etc.

    Les déploiements qui utilisent la plate-forme de calcul EC2 /On-Premises gèrent la manière dont le trafic est dirigé vers les instances en utilisant un type de déploiement sur place ou bleu/vert. Pour plus d’informations, consultez Vue d'ensemble des types de CodeDeploy déploiement.

  • AWS Lambda : utilisé pour déployer des applications qui consistent en une version mise à jour d'une fonction Lambda. AWS Lambda gère la fonction Lambda dans un environnement de calcul sans serveur composé d'une structure de calcul à haute disponibilité. Toute l'administration des ressources informatiques est effectuée par AWS Lambda. Pour plus d'informations, consultez la section Informatique et applications sans serveur. Pour plus d'informations sur AWS Lambda les fonctions Lambda, consultez. AWS Lambda

    Vous pouvez gérer la manière dont le trafic est transféré vers les versions mises à jour des fonctions Lambda lors d'un déploiement en choisissant une option Canary, une configuration linéaire ou all-at-once une configuration.

  • Amazon ECS : utilisé pour déployer une application ECS conteneurisée Amazon sous forme d'ensemble de tâches. CodeDeploy effectue un déploiement bleu/vert en installant une version mise à jour de l'application en tant que nouvel ensemble de tâches de remplacement. CodeDeploy redirige le trafic de production de l'ensemble de tâches d'application d'origine vers le jeu de tâches de remplacement. L'ensemble de tâches d'origine est arrêté une fois le déploiement terminé. Pour plus d'informations sur AmazonECS, consultez Amazon Elastic Container Service.

    Vous pouvez gérer la manière dont le trafic est transféré vers l'ensemble de tâches mis à jour au cours d'un déploiement en choisissant une configuration Canary, Linear ou une all-at-once configuration.

Note

Les déploiements Amazon ECS bleu/vert sont pris en charge à la fois par et. CodeDeploy AWS CloudFormation Les détails de ces déploiements sont décrits dans les sections suivantes.

Configuration de déploiement

Une configuration de déploiement est un ensemble de règles de déploiement et de conditions de réussite et d'échec du déploiement utilisées CodeDeploy lors d'un déploiement. Si votre déploiement utilise la plate-forme de calcul EC2 /On-Premises, vous pouvez spécifier le nombre minimum d'instances saines pour le déploiement. Si votre déploiement utilise la plateforme de calcul Amazon AWS Lambda ou la plateforme de ECS calcul Amazon, vous pouvez spécifier la manière dont le trafic est acheminé vers votre fonction Lambda ECS ou votre ensemble de tâches mis à jour.

Pour plus d'informations sur la spécification du nombre minimum d'hôtes sains pour un déploiement utilisant la plate-forme de calcul EC2 /On-Premises, consultez. À propos du nombre minimum d'instances saines

Les configurations de déploiement suivantes spécifient la manière dont le trafic est acheminé lors d'un déploiement utilisant le Lambda ou ECS la plate-forme de calcul :

  • Canary : le trafic est déplacé en deux incréments. Vous pouvez choisir parmi les options Canary prédéfinies qui spécifient le pourcentage de trafic transféré vers votre fonction Lambda ou votre ensemble de ECS tâches mis à jour dans le premier incrément et l'intervalle, en minutes, avant que le trafic restant ne soit transféré dans le second incrément.

  • Linéaire : le trafic est déplacé en incréments égaux, avec un nombre de minutes égal entre chaque incrément. Vous pouvez choisir parmi les options linéaires prédéfinies qui définissent le pourcentage de trafic déplacé pour chaque incrément et le nombre de minutes entre chaque incrément.

  • R ll-at-once : Tout le trafic est transféré de la fonction ou de l'ensemble de ECS tâches Lambda d'origine à la fonction ou à l'ensemble de tâches mis à jour en une seule fois.

Groupe de déploiement

Un groupe de déploiement est un ensemble d'instances individuelles. Un groupe de déploiement contient des instances étiquetées individuellement, des EC2 instances Amazon dans des groupes Amazon EC2 Auto Scaling, ou les deux. Pour plus d'informations sur les balises d'EC2instance Amazon, consultez la section Utilisation des balises à l'aide de la console. Pour en savoir plus sur les instances sur site, consultez la rubrique Working with On-Premises Instances. Pour plus d'informations sur Amazon EC2 Auto Scaling, consultezIntégration CodeDeploy à Amazon EC2 Auto Scaling.

Type de déploiement

Un type de déploiement est une méthode utilisée pour rendre la dernière révision de l'application disponible sur les instances d'un groupe de déploiement. Il existe deux types de déploiement :

  • Déploiement sur place : l'application de chaque instance du groupe de déploiement est arrêtée, la dernière révision de l'application est installée et la nouvelle version de l'application est démarrée et validée. Vous pouvez utiliser un équilibreur de charge afin que chaque instance soit désenregistrée pendant son déploiement, puis remise en service une fois le déploiement terminé. Seuls les déploiements qui utilisent la plate-forme de calcul EC2 /On-Premises peuvent utiliser des déploiements sur place. Pour plus d'informations sur les déploiements sur place, consultez Présentation d'un déploiement sur place.

  • Déploiement bleu/vert : le comportement de votre déploiement dépend de la plateforme informatique que vous utilisez :

    • Bleu/vert sur une plate-forme de calcul EC2 /On-Premises : les instances d'un groupe de déploiement (l'environnement d'origine) sont remplacées par un autre ensemble d'instances (l'environnement de remplacement) en suivant les étapes suivantes :

      • Les instances sont provisionnées pour l'environnement de remplacement.

      • La dernière version de l'application est installée sur les instances de remplacement.

      • Un temps d'attente facultatif se produit pour des activités telles que les tests d'applications et la vérification du système.

      • Les instances de l'environnement de remplacement sont enregistrées auprès d'un ou de plusieurs équilibreurs de charge Elastic Load Balancing, ce qui entraîne le reroutage du trafic vers celles-ci. Les instances de l'environnement d'origine sont désenregistrées et peuvent être résiliées ou maintenues en cours d'exécution pour d'autres utilisations.

      Note

      Si vous utilisez une plateforme de calcul EC2 /On-Premises, sachez que les déploiements bleu/vert ne fonctionnent qu'avec les instances Amazon. EC2

    • Bleu/vert sur une plateforme ECS informatique ou AWS Lambda Amazon : le trafic est décalé par incréments en fonction d'une configuration canarienne, linéaire ou all-at-oncede déploiement.

    • Déploiements bleu/vert via AWS CloudFormation : le trafic est transféré de vos ressources actuelles vers vos ressources mises à jour dans le cadre d'une AWS CloudFormation mise à jour de la pile. Actuellement, seuls les déploiements ECS bleu/vert sont pris en charge.

    Pour plus d'informations sur les déploiements bleus/verts, consultez Vue d'ensemble d'un déploiement bleu/vert.

Note

Les déploiements Amazon ECS bleu/vert sont pris en charge à l'aide des deux options et. CodeDeploy AWS CloudFormation Les détails de ces déploiements sont décrits dans les sections suivantes.

Profil d'instance IAM

Un profil d'IAMinstance est un IAM rôle que vous associez à vos EC2 instances Amazon. Ce profil inclut les autorisations requises pour accéder aux compartiments ou aux GitHub référentiels Amazon S3 dans lesquels les applications sont stockées. Pour plus d’informations, consultez Étape 4 : créer un profil d'IAMinstance pour vos EC2 instances Amazon.

Revision

Une révision est une version de votre application. Une révision de déploiement AWS Lambda est un fichier au JSON format YAML - ou - qui spécifie des informations sur la fonction Lambda à déployer. Une révision de déploiement EC2 /On-Premises est un fichier d'archive qui contient le contenu source (code source, pages Web, fichiers exécutables et scripts de déploiement) et un fichier de spécification d'application (AppSpec fichier). AWS Les révisions Lambda peuvent être stockées dans des compartiments Amazon S3. EC2Les révisions /On-Premises sont stockées dans des compartiments ou des référentiels Amazon S3. GitHub Pour Amazon S3, une révision est identifiée de manière unique par sa clé d'objet Amazon S3 et sa versionETag, ou les deux. En GitHub effet, une révision est identifiée de manière unique par son ID de validation.

Rôle de service

Un rôle de service est un IAM rôle qui accorde des autorisations à un AWS service afin qu'il puisse accéder à AWS des ressources. Les politiques que vous attachez au rôle de service déterminent les AWS ressources auxquelles le service peut accéder et les actions qu'il peut effectuer avec ces ressources. En CodeDeploy effet, un rôle de service est utilisé pour les opérations suivantes :

  • Pour lire les balises appliquées aux instances ou les noms de groupes Amazon EC2 Auto Scaling associés aux instances. Cela permet d' CodeDeploy identifier les instances sur lesquelles il peut déployer des applications.

  • Pour effectuer des opérations sur des instances, des groupes Amazon EC2 Auto Scaling et des équilibreurs de charge Elastic Load Balancing.

  • Publier des informations sur les SNS rubriques Amazon afin que des notifications puissent être envoyées lorsque des événements de déploiement ou d'instance spécifiques se produisent.

  • Pour récupérer des informations sur les CloudWatch alarmes afin de configurer la surveillance des alarmes pour les déploiements.

Pour plus d’informations, consultez Étape 2 : créer un rôle de service pour CodeDeploy.

Révision cible

Une révision cible est la version la plus récente de la révision de l'application que vous avez téléchargée dans votre référentiel et que vous souhaitez déployer sur les instances d'un groupe de déploiement. En d'autres termes, il s'agit de la révision d'application actuellement ciblée pour le déploiement. C'est également la révision utilisée pour les déploiements automatiques.

Autres composants

Pour plus d'informations sur les autres composants du CodeDeploy flux de travail, consultez les rubriques suivantes :