AWS::CodeDeploy::BlueGreenHook-Syntax - AWS CloudFormation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS::CodeDeploy::BlueGreenHook-Syntax

Die folgende Syntax beschreibt die Struktur eines AWS::CodeDeploy::BlueGreen Hooks für ECS blaue/grüne Bereitstellungen.

Syntax

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

Eigenschaften

Logische ID (auch logischer Name genannt)

Die logische ID eines Hooks, der im Hooks Abschnitt der Vorlage deklariert wurde. Die logische ID muss alphanumerisch (A-Za-z0-9) und innerhalb der Vorlage eindeutig sein.

Erforderlich: Ja

Type

Der Typ des Hooks. AWS::CodeDeploy::BlueGreen

Erforderlich: Ja

Properties

Eigenschaften des Hooks.

Erforderlich: Ja

TrafficRoutingConfig

Konfigurationseinstellungen für Datenverkehrsweiterleitungen

Required: No

Die Standardkonfiguration ist eine zeitbasierte Verschiebung des Canary-Verkehrs mit einem Schrittprozentsatz von 15 % und einer Bake-Zeit von fünf Minuten.

Type

Der Typ des Datenverkehrs, der von der Bereitstellungskonfiguration verwendet wird.

Gültige Werte: AllAtOnce | TimeBasedCanary | TimeBasedLinear

Erforderlich: Ja

TimeBasedCanary

Gibt eine Konfiguration an, die den Datenverkehr in zwei Schritten von einer Version der Bereitstellung auf eine andere verlagert.

Erforderlich: Bedingt: Wenn Sie TimeBasedCanary als Datenverkehrs-Weiterleitungstyp angeben, müssen Sie den Parameter TimeBasedCanary einschließen.

StepPercentage

Der Prozentsatz des Datenverkehrs, der im ersten Schritt einer TimeBasedCanary-Bereitstellung verschoben werden soll. Der Schrittprozentsatz muss 14 % oder höher sein.

Required: No

BakeTimeMins

Die Anzahl der Minuten zwischen der ersten und zweiten Verkehrsverschiebung einer TimeBasedCanary-Bereitstellung.

Required: No

TimeBasedLinear

Gibt eine Konfiguration an, die den Datenverkehr in gleichen Schritten von einer Version der Bereitstellung in ein anderes gleiches Inkrement verlagert, wobei zwischen jedem Inkrement eine gleiche Anzahl von Minuten liegt.

Erforderlich: Bedingt: Wenn Sie TimeBasedLinear als Datenverkehrs-Weiterleitungstyp angeben, müssen Sie den Parameter TimeBasedLinear einschließen.

StepPercentage

Der Prozentsatz des Datenverkehrs, der zu Beginn jedes Inkrements einer TimeBasedLinear-Bereitstellung verschoben wird. Der Schrittprozentsatz muss 14 % oder höher sein.

Required: No

BakeTimeMins

Die Anzahl der Minuten zwischen jeder inkrementellen Verkehrsverschiebung einer TimeBasedLinear-Bereitstellung.

Required: No

AdditionalOptions

Zusätzliche Optionen für die Blau/Grün-Bereitstellung.

Required: No

TerminationWaitTimeInMinutes

Gibt die Wartezeit in Minuten an, bevor die blauen Ressourcen beendet werden.

Required: No

LifecycleEventHooks

Verwenden Sie Lifecycle-Event-Hooks, um eine Lambda-Funktion anzugeben, die aufgerufen CodeDeploy werden kann, um eine Bereitstellung zu validieren. Sie können dieselbe Funktion oder eine andere für die Bereitstellungs-Lebenszyklusereignisse verwenden. Nach Abschluss der Validierungstests ruft die AfterAllowTraffic Lambda-Funktion zurück CodeDeploy und liefert das Ergebnis Succeeded oderFailed. Weitere Informationen finden Sie im Abschnitt AppSpec „Hooks“ im AWS CodeDeploy Benutzerleitfaden.

Required: No

BeforeInstall

Funktion zur Ausführung von Aufgaben, bevor der neue Aufgabensatz erstellt ist.

Required: No

AfterInstall

Funktion zur Ausführung von Aufgaben nach Erstellung des neuen Aufgabensatzes und Zuordnung einer der Zielgruppen.

Required: No

AfterAllowTestTraffic

Funktion zur Ausführung von Aufgaben, wenn der Test-Listener Datenverkehr an den neuen Aufgabensatz sendet.

Required: No

BeforeAllowTraffic

Funktion zur Ausführung von Aufgaben, wenn die zweite Zielgruppe dem neuen Aufgabensatz zugeordnet ist, aber bevor Datenverkehr an den neuen Aufgabensatz umgeleitet wurde.

Required: No

AfterAllowTraffic

Funktion zur Ausführung von Aufgaben, wenn die zweite Zielgruppe Datenverkehr an den neuen Aufgabensatz sendet.

Required: No

ServiceRole

Die Ausführungsrolle, die für CloudFormation die Ausführung der blaugrünen Bereitstellungen verwendet werden soll. Eine Liste der erforderlichen Berechtigungen finden Sie unter. IAMBerechtigungen für blaue/grüne Bereitstellungen

Erforderlich: Ja

Applications

Gibt die Eigenschaften der ECS Amazon-Anwendung an.

Erforderlich: Ja

Target

Erforderlich: Ja

Type

Der Ressourcentyp.

Erforderlich: Ja

LogicalID

Die logische ID der Ressource.

Erforderlich: Ja

ECSAttributes

Die Ressourcen, die die verschiedenen Anforderungen Ihrer ECS Amazon-Anwendungsbereitstellung repräsentieren.

Erforderlich: Ja

TaskDefinitions

Die logische ID des AWS::ECS::TaskDefinitionRessource zum Ausführen des Docker-Containers, der Ihre ECS Amazon-Anwendung enthält.

Erforderlich: Ja

TaskSets

Die Logik IDs des AWS::ECS::TaskSetRessourcen, die als Tasksets für die Anwendung verwendet werden sollen.

Erforderlich: Ja

TrafficRouting

Gibt Ressourcen an, die für das Weiterleiten des Datenverkehrs verwendet werden.

Erforderlich: Ja

ProdTrafficRoute

Der Listener, der von Ihrem Load Balancer verwendet wird, um Datenverkehr an Ihre Zielgruppen weiterzuleiten.

Erforderlich: Ja

Type

Der Ressourcentyp. AWS::ElasticLoadBalancingV2::Listener

Erforderlich: Ja

LogicalID

Die logische ID der Ressource.

Erforderlich: Ja

TestTrafficRoute

Der Listener, der von Ihrem Load Balancer verwendet wird, um Datenverkehr an Ihre Zielgruppen weiterzuleiten.

Erforderlich: Ja

Type

Der Ressourcentyp. AWS::ElasticLoadBalancingV2::Listener

Erforderlich: Ja

LogicalID

Die logische ID der Ressource.

Required: No

TargetGroups

Logische ID der Ressourcen, die als Zielgruppen verwendet werden sollen, um den Datenverkehr an das registrierte Ziel weiterzuleiten.

Erforderlich: Ja