AWS::CodeDeploy::BlueGreensyntaxe du crochet - AWS CloudFormation

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.

AWS::CodeDeploy::BlueGreensyntaxe du crochet

La syntaxe suivante décrit la structure d'un AWS::CodeDeploy::BlueGreen hook pour les déploiements ECS bleu/vert.

Syntaxe

"Hooks": { "Logical ID": { "Type": "AWS::CodeDeploy::BlueGreen", "Properties": { "TrafficRoutingConfig": { "Type": "Traffic routing type", "TimeBasedCanary": { "StepPercentage": Integer, "BakeTimeMins": Integer }, "TimeBasedLinear": { "StepPercentage": Integer, "BakeTimeMins": Integer } }, "AdditionalOptions": {"TerminationWaitTimeInMinutes": Integer}, "LifecycleEventHooks": { "BeforeInstall": "FunctionName", "AfterInstall": "FunctionName", "AfterAllowTestTraffic": "FunctionName", "BeforeAllowTraffic": "FunctionName", "AfterAllowTraffic": "FunctionName" }, "ServiceRole": "CodeDeployServiceRoleName", "Applications": [ { "Target": { "Type": "AWS::ECS::Service", "LogicalID": "Logical ID of AWS::ECS::Service" }, "ECSAttributes": { "TaskDefinitions": [ "Logical ID of AWS::ECS::TaskDefinition (Blue)", "Logical ID of AWS::ECS::TaskDefinition (Green)" ], "TaskSets": [ "Logical ID of AWS::ECS::TaskSet (Blue)", "Logical ID of AWS::ECS::TaskSet (Green)" ], "TrafficRouting": { "ProdTrafficRoute": { "Type": "AWS::ElasticLoadBalancingV2::Listener", "LogicalID": "Logical ID of AWS::ElasticLoadBalancingV2::Listener (Production)" }, "TestTrafficRoute": { "Type": "AWS::ElasticLoadBalancingV2::Listener", "LogicalID": "Logical ID of AWS::ElasticLoadBalancingV2::Listener (Test)" }, "TargetGroups": [ "Logical ID of AWS::ElasticLoadBalancingV2::TargetGroup (Blue)", "Logical ID of AWS::ElasticLoadBalancingV2::TargetGroup (Green)" ] } } } ] } } }

Propriétés

ID logique (également appelé nom logique)

L'ID logique d'un hook déclaré dans la Hooks section du modèle. L'ID logique doit être alphanumérique (A-Za-z0-9) et ne doit correspondre à aucun autre ID logique dans le modèle.

Obligatoire : oui

Type

Type de hook. AWS::CodeDeploy::BlueGreen

Obligatoire : oui

Properties

Propriétés du hook.

Obligatoire : oui

TrafficRoutingConfig

Paramètres de configuration du routage du trafic.

Obligatoire : non

La configuration par défaut est le déplacement du trafic Canary basé sur le temps, avec un pourcentage d'étape de 15 % et un temps d'attente de cinq minutes.

Type

Type de déplacement de trafic utilisé par la configuration de déploiement.

Valeurs valides : AllAtOnce | TimeBasedCanary | TimeBasedLinear

Obligatoire : oui

TimeBasedCanary

Spécifie une configuration qui déplace le trafic d'une version du déploiement vers une autre en deux incréments.

Requis : sous certaines conditions. Si vous spécifiez TimeBasedCanary comme type de routage du trafic, vous devez inclure le paramètre TimeBasedCanary.

StepPercentage

Pourcentage de trafic à déplacer dans le premier incrément d'un déploiement TimeBasedCanary. Le pourcentage d'étape doit être de 14 % ou plus.

Obligatoire : non

BakeTimeMins

Nombre de minutes entre les premier et deuxième déplacements de trafic d'un déploiement TimeBasedCanary.

Obligatoire : non

TimeBasedLinear

Spécifie une configuration qui déplace le trafic d'une version du déploiement vers une autre par incréments égaux, avec un nombre égal de minutes entre chaque incrément.

Requis : sous certaines conditions. Si vous spécifiez TimeBasedLinear comme type de routage du trafic, vous devez inclure le paramètre TimeBasedLinear.

StepPercentage

Pourcentage de trafic déplacé au début de chaque incrément d'un déploiement TimeBasedLinear. Le pourcentage d'étape doit être de 14 % ou plus.

Obligatoire : non

BakeTimeMins

Nombre de minutes entre chaque déplacement de trafic incrémentiel d'un déploiement TimeBasedLinear.

Obligatoire : non

AdditionalOptions

Options supplémentaires pour le déploiement bleu/vert.

Obligatoire : non

TerminationWaitTimeInMinutes

Spécifie le temps d'attente, en minutes, avant de mettre fin aux ressources bleues.

Obligatoire : non

LifecycleEventHooks

Utilisez les hooks d'événements du cycle de vie pour spécifier une fonction Lambda CodeDeploy pouvant être appelée pour valider un déploiement. Vous pouvez utiliser la même fonction ou une autre fonction pour les événements du cycle de vie du déploiement. Une fois les tests de validation terminés, la AfterAllowTraffic fonction Lambda rappelle CodeDeploy et fournit un résultat de Succeeded ou. Failed Pour plus d'informations, consultez la section AppSpec « crochets » du AWS CodeDeploy Guide de l'utilisateur.

Obligatoire : non

BeforeInstall

Fonction permettant d'exécuter des tâches avant que l'ensemble des tâches de remplacement ne soit créé.

Obligatoire : non

AfterInstall

Fonction permettant d'exécuter des tâches après que l'ensemble des tâches de remplacement a été créé et que l'un des groupes cibles lui a été associé.

Obligatoire : non

AfterAllowTestTraffic

Fonction permettant d'exécuter des tâches après que l'écouteur de test a dirigé le trafic vers l'ensemble des tâches de remplacement.

Obligatoire : non

BeforeAllowTraffic

Fonction permettant d'exécuter des tâches après l'association du second groupe cible avec l'ensemble des tâches de remplacement, mais avant que le trafic ne soit déplacé vers ce dernier.

Obligatoire : non

AfterAllowTraffic

Fonction permettant d'exécuter des tâches une fois que le second groupe cible a dirigé le trafic vers l'ensemble des tâches de remplacement.

Obligatoire : non

ServiceRole

Le rôle d'exécution CloudFormation à utiliser pour effectuer les déploiements bleu-vert. Pour obtenir la liste des autorisations nécessaires, consultezIAMautorisations pour les déploiements bleu/vert.

Obligatoire : oui

Applications

Spécifie les propriétés de l'ECSapplication Amazon.

Obligatoire : oui

Target

Obligatoire : oui

Type

Type de la ressource.

Obligatoire : oui

LogicalID

ID logique de la ressource.

Obligatoire : oui

ECSAttributes

Les ressources qui représentent les différentes exigences liées au déploiement de votre ECS application Amazon.

Obligatoire : oui

TaskDefinitions

L'identifiant logique du AWS::ECS::TaskDefinitionressource pour exécuter le conteneur Docker qui contient votre ECS application Amazon.

Obligatoire : oui

TaskSets

La logique IDs du AWS::ECS::TaskSetressources à utiliser comme ensembles de tâches pour l'application.

Obligatoire : oui

TrafficRouting

Spécifie les ressources utilisées pour le routage du trafic.

Obligatoire : oui

ProdTrafficRoute

Un écouteur est utilisé par votre équilibreur de charge pour diriger le trafic vers vos groupes cibles.

Obligatoire : oui

Type

Type de la ressource. AWS::ElasticLoadBalancingV2::Listener

Obligatoire : oui

LogicalID

ID logique de la ressource.

Obligatoire : oui

TestTrafficRoute

Un écouteur est utilisé par votre équilibreur de charge pour diriger le trafic vers vos groupes cibles.

Obligatoire : oui

Type

Type de la ressource. AWS::ElasticLoadBalancingV2::Listener

Obligatoire : oui

LogicalID

ID logique de la ressource.

Obligatoire : non

TargetGroups

ID logique des ressources à utiliser comme groupes cibles pour acheminer le trafic vers la cible enregistrée.

Obligatoire : oui