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::BlueGreen
syntaxe 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ètreTimeBasedCanary
.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ètreTimeBasedLinear
.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 deSucceeded
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