Sintassi di hook AWS::CodeDeploy::BlueGreen - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sintassi di hook AWS::CodeDeploy::BlueGreen

La sintassi seguente descrive la struttura di un AWS::CodeDeploy::BlueGreen hook per le distribuzioni ECS. blue/green

Sintassi

"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)" ] } } } ] } } }

Properties

ID logico (chiamato anche nome logico)

L’ID logico di un hook dichiarato nella sezione Hooks del modello. L’ID logico deve essere un valore alfanumerico (A-Z, a-z, 0-9) univoco all’interno del modello.

Obbligatorio:

Type

Il tipo di hook. AWS::CodeDeploy::BlueGreen

Obbligatorio:

Properties

Proprietà dell’hook.

Obbligatorio:

TrafficRoutingConfig

Impostazioni di configurazione dell’instradamento del traffico.

Obbligatorio: no

La configurazione predefinita è lo spostamento del traffico canary basato sul tempo, con una percentuale di fasi del 15% e un tempo di cottura di cinque minuti.

Type

Tipo di spostamento del traffico utilizzato dalla configurazione di distribuzione.

Valori validi: | | AllAtOnce TimeBasedCanary TimeBasedLinear

Obbligatorio:

TimeBasedCanary

Specifica una configurazione che sposta il traffico da una versione della distribuzione a un’altra con due incrementi.

Obbligatorio: condizionale: se si specifica TimeBasedCanary come tipo di instradamento del traffico, è necessario includere il parametro TimeBasedCanary.

StepPercentage

Percentuale di traffico da spostare nel primo incremento di una distribuzione TimeBasedCanary. La percentuale di fasi deve essere pari o superiore al 14%.

Obbligatorio: no

BakeTimeMins

Numero di minuti tra il primo e il secondo spostamento di traffico di una distribuzione TimeBasedCanary.

Obbligatorio: no

TimeBasedLinear

Specifica una configurazione che sposta il traffico da una versione della distribuzione a un’altra con incrementi uguali, con un numero uguale di minuti tra ciascun incremento.

Obbligatorio: condizionale: se si specifica TimeBasedLinear come tipo di instradamento del traffico, è necessario includere il parametro TimeBasedLinear.

StepPercentage

Percentuale di traffico spostata all’inizio di ogni incremento di una distribuzione TimeBasedLinear. La percentuale di fasi deve essere pari o superiore al 14%.

Obbligatorio: no

BakeTimeMins

Numero di minuti tra ogni spostamento incrementale del traffico di una distribuzione TimeBasedLinear.

Obbligatorio: no

AdditionalOptions

Opzioni aggiuntive per la blue/green distribuzione.

Obbligatorio: no

TerminationWaitTimeInMinutes

Specifica il tempo di attesa, in minuti, prima di terminare le risorse blu.

Obbligatorio: no

LifecycleEventHooks

Usa gli hook degli eventi del ciclo di vita per specificare una funzione Lambda che CodeDeploy può chiamare per convalidare una distribuzione. Puoi utilizzare la stessa funzione o un’altra per gli eventi del ciclo di vita di distribuzione. Dopo il completamento dei test di convalida, la funzione AfterAllowTraffic Lambda CodeDeploy richiama e fornisce il risultato Succeeded di o. Failed Per ulteriori informazioni, consulta la sezione AppSpec 'hook' nella Guida per l'AWS CodeDeploy utente.

Obbligatorio: no

BeforeInstall

Funzione utilizzata per eseguire attività prima della creazione del set di attività di sostituzione.

Obbligatorio: no

AfterInstall

Funzione utilizzata per eseguire attività dopo che il set di attività di sostituzione è stato creato e a esso è stato associato uno dei gruppi target.

Obbligatorio: no

AfterAllowTestTraffic

Funzione utilizzata per eseguire attività dopo che il listener di test ha indirizzato il traffico verso il set di attività di sostituzione.

Obbligatorio: no

BeforeAllowTraffic

Funzione utilizzata per eseguire attività dopo che il secondo gruppo target è stato associato al set di attività di sostituzione, ma prima che il traffico venga reindirizzato al set di attività di sostituzione.

Obbligatorio: no

AfterAllowTraffic

Funzione utilizzata per eseguire attività dopo che il secondo gruppo target ha indirizzato il traffico verso il set di attività di sostituzione.

Obbligatorio: no

ServiceRole

Il ruolo di esecuzione CloudFormation da utilizzare per eseguire le distribuzioni blu-verdi. Per un elenco delle autorizzazioni necessarie, consulta Autorizzazioni IAM per le distribuzioni blue/green.

Obbligatorio: no

Applications

Specifica le proprietà dell’applicazione Amazon ECS.

Obbligatorio:

Target

Obbligatorio:

Type

Il tipo di risorsa.

Obbligatorio:

LogicalID

L’ID logico della risorsa.

Obbligatorio:

ECSAttributes

Le risorse che rappresentano i vari requisiti della distribuzione dell’applicazione Amazon ECS.

Obbligatorio:

TaskDefinitions

ID logico della risorsa AWS::ECS::TaskDefinition per eseguire il container Docker che contiene l’applicazione Amazon ECS.

Obbligatorio:

TaskSets

La logica IDs delle AWS::ECS::TaskSetrisorse da utilizzare come set di attività per l'applicazione.

Obbligatorio:

TrafficRouting

Specifica le risorse utilizzate per l’instradamento del traffico.

Obbligatorio:

ProdTrafficRoute

Il listener che viene utilizzato dal load balancer per indirizzare il traffico verso i gruppi target.

Obbligatorio:

Type

Il tipo di risorsa. AWS::ElasticLoadBalancingV2::Listener

Obbligatorio:

LogicalID

L’ID logico della risorsa.

Obbligatorio:

TestTrafficRoute

Il listener che viene utilizzato dal load balancer per indirizzare il traffico verso i gruppi target.

Obbligatorio:

Type

Il tipo di risorsa. AWS::ElasticLoadBalancingV2::Listener

Obbligatorio:

LogicalID

L’ID logico della risorsa.

Obbligatorio: no

TargetGroups

ID logico delle risorse da utilizzare come target per instradare il traffico al target registrato.

Obbligatorio: