AWS::CodeDeploy::BlueGreensintassi hook - 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à.

AWS::CodeDeploy::BlueGreensintassi hook

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

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

Proprietà

ID logico (chiamato anche nome logico)

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

Campo obbligatorio: sì

Type

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

Campo obbligatorio: sì

Properties

Proprietà dell'hook.

Campo obbligatorio: sì

TrafficRoutingConfig

Impostazioni di configurazione dell'instradamento del traffico.

Required: 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

Campo obbligatorio: sì

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%.

Required: No

BakeTimeMins

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

Required: 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%.

Required: No

BakeTimeMins

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

Required: No

AdditionalOptions

Opzioni aggiuntive per la distribuzione blu/verde.

Required: No

TerminationWaitTimeInMinutes

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

Required: 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.

Required: No

BeforeInstall

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

Required: 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.

Required: No

AfterAllowTestTraffic

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

Required: 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.

Required: No

AfterAllowTraffic

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

Required: No

ServiceRole

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

Required: No

Applications

Specifica le proprietà dell'applicazione Amazon ECS.

Campo obbligatorio: sì

Target

Campo obbligatorio: sì

Type

Il tipo di risorsa.

Campo obbligatorio: sì

LogicalID

L'ID logico della risorsa.

Campo obbligatorio: sì

ECSAttributes

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

Campo obbligatorio: sì

TaskDefinitions

L'ID logico di AWS::ECS::TaskDefinitionrisorsa per eseguire il contenitore Docker che contiene la tua applicazione Amazon ECS.

Campo obbligatorio: sì

TaskSets

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

Campo obbligatorio: sì

TrafficRouting

Specifica le risorse utilizzate per l'instradamento del traffico.

Campo obbligatorio: sì

ProdTrafficRoute

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

Campo obbligatorio: sì

Type

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

Campo obbligatorio: sì

LogicalID

L'ID logico della risorsa.

Campo obbligatorio: sì

TestTrafficRoute

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

Campo obbligatorio: sì

Type

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

Campo obbligatorio: sì

LogicalID

L'ID logico della risorsa.

Required: No

TargetGroups

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

Campo obbligatorio: sì