Über blaue/grüne Bereitstellungen - 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.

Über blaue/grüne Bereitstellungen

Dieses Thema bietet einen Überblick darüber, wie die Durchführung von Blau/Grün-Bereitstellungen mit funktioniert. CloudFormation Außerdem wird erklärt, wie Sie Ihre CloudFormation Vorlage für Blau/Grün-Bereitstellungen vorbereiten.

Funktionsweise

Wenn Sie ECS Blau/Grün-Bereitstellungen über durchführen CodeDeploy, erstellen Sie zunächst eine Stack-Vorlage, die die Ressourcen für Ihre blauen und grünen Anwendungsumgebungen definiert, einschließlich der Angabe der zu CloudFormation verwendenden Einstellungen für das Routing und die Stabilisierung des Datenverkehrs. Als Nächstes erstellen Sie einen Stack aus dieser Vorlage. Dadurch wird Ihre blaue (aktuelle) Anwendung generiert. CloudFormation erstellt nur die blauen Ressourcen während der Stack-Erstellung. Ressourcen für eine grüne Bereitstellung werden erst erstellt, wenn sie erforderlich sind.

Wenn Sie dann bei einem future Stack-Update die Aufgabendefinition oder die Taskset-Ressourcen in Ihrer blauen Anwendung aktualisieren, CloudFormation geht das Folgende vor:

  • Generiert alle notwendigen Ressourcen für eine grüne Anwendungsumgebung.

  • Verschiebt den Datenverkehr basierend auf den angegebenen Datenverkehrs-Weiterleitungsparametern.

  • Löscht die blauen Ressourcen.

Wenn zu irgendeinem Zeitpunkt, bevor die grüne Bereitstellung erfolgreich und abgeschlossen ist, ein Fehler auftritt, CloudFormation wird der Stack auf den Zustand zurückgesetzt, in dem die gesamte grüne Bereitstellung initiiert wurde.

Ressourcen-Updates, die umweltfreundliche Bereitstellungen einleiten

Wenn Sie ein Stack-Update durchführen, das bestimmte Eigenschaften bestimmter ECS Ressourcen aktualisiert, wird ein umweltfreundlicher Bereitstellungsprozess CloudFormation eingeleitet. Die Ressourcen, die diesen Prozess einleiten, sind:

Wenn die Aktualisierungen dieser Ressourcen jedoch keine Eigenschaftsänderungen beinhalten, die ersetzt werden müssen, wird keine umweltfreundliche Bereitstellung eingeleitet. Weitere Informationen finden Sie unter Verstehen Sie das Aktualisierungsverhalten von Stack-Ressourcen.

Es ist wichtig zu beachten, dass Sie Aktualisierungen der oben genannten Ressourcen nicht mit Aktualisierungen anderer Ressourcen im selben Stack-Aktualisierungsvorgang kombinieren können. Wenn Sie sowohl die aufgelisteten Ressourcen als auch andere Ressourcen innerhalb desselben Stacks aktualisieren müssen, haben Sie zwei Möglichkeiten:

  • Führen Sie zwei separate Stack-Aktualisierungsvorgänge durch: einen, die nur die Aktualisierungen der obengenannten Ressourcen enthält, und eine separate Stack-Aktualisierung, die Änderungen an anderen Ressourcen enthält.

  • Entfernen Sie die Abschnitte Hooks und Transform aus Ihrer Vorlage und führen Sie dann die Stack-Aktualisierung durch. In diesem Fall CloudFormation wird keine umweltfreundliche Bereitstellung durchgeführt.

Wir bereiten Ihre Vorlage für ECS blaue/grüne Bereitstellungen vor

Um Blau/Grün-Bereitstellungen auf Ihrem Stack zu aktivieren, fügen Sie die folgenden Abschnitte in Ihre Stack-Vorlage ein, bevor Sie eine Stack-Aktualisierung durchführen.

  • Fügen Sie Ihrer Vorlage einen Verweis auf die Transformation AWS::CodeDeployBlueGreen hinzu:

    "Transform": [ "AWS::CodeDeployBlueGreen" ],
  • Fügen Sie einen Hooks-Abschnitt hinzu, der den Hook AWS::CodeDeploy::BlueGreen aufruft und die Eigenschaften für Ihre Bereitstellung angibt. Weitere Informationen finden Sie unter AWS::CodeDeploy::BlueGreenHook-Syntax.

  • Definieren Sie im Abschnitt Resources die blauen und grünen Ressourcen für Ihre Bereitstellung.

Sie können diese Abschnitte hinzufügen, wenn Sie die Vorlage zum ersten Mal erstellen (d. h. vor dem Erstellen des Stacks selbst), oder Sie können sie einer vorhandenen Vorlage hinzufügen, bevor Sie eine Stack-Aktualisierung durchführen. Wenn Sie die blaue/grüne Bereitstellung für einen neuen Stack angeben, werden CloudFormation nur die blauen Ressourcen bei der Stack-Erstellung erstellt. Ressourcen für die grüne Bereitstellung werden erst erstellt, wenn sie während eines Stack-Updates benötigt werden.

Modellieren Sie Ihre blaue/grüne Bereitstellung mithilfe von Ressourcen CloudFormation

Um eine CodeDeploy blaue/grüne Bereitstellung auf durchzuführenECS, muss Ihre CloudFormation Vorlage die Ressourcen enthalten, die Ihre Bereitstellung modellieren, z. B. einen ECS Amazon-Service und einen Load Balancer. Weitere Informationen dazu, wofür diese Ressourcen stehen, finden Sie unter Bevor Sie mit einer ECS Amazon-Bereitstellung beginnen in der AWS CodeDeploy Benutzerleitfaden.

Anforderung Ressource Erforderlich/optional Leitet die blaue/grüne Bereitstellung ein, falls es ersetzt wird?
ECSAmazon-Cluster AWS::ECS::Cluster Optional. Der Standard-Cluster kann verwendet werden. Nein
ECSAmazon-Dienst AWS::ECS::Service Erforderlich Nein
Application oder Network Load Balancer AWS::ECS::Service LoadBalancer Erforderlich Nein
Produktions-Listener AWS::ElasticLoadBalancingV2::Listener Erforderlich Nein
Listener testen AWS::ElasticLoadBalancingV2::Listener Optional. Nein
Zwei Zielgruppen AWS::ElasticLoadBalancingV2::TargetGroup Erforderlich Nein
ECSAmazon-Aufgabendefinition AWS::ECS::TaskDefinition Erforderlich Ja
Container für Ihre ECS Amazon-Anwendung AWS::ECS::TaskDefinition ContainerDefinition Name Erforderlich Nein
Ein Port für den Ersatzaufgabensatz AWS::ECS::TaskDefinition PortMapping ContainerPort Erforderlich Nein

Änderungssätze

Es wird dringend empfohlen, einen Änderungssatz zu erstellen, bevor Sie eine Stack-Aktualisierung durchführen, die eine Grün-Bereitstellung initiiert. Auf diese Weise können Sie die tatsächlichen Änderungen sehen, die an Ihrem Stack vorgenommen werden, bevor Sie das Stack-Update durchführen. Beachten Sie, dass Ressourcenänderungen möglicherweise nicht in der Reihenfolge aufgeführt werden, in der sie während der Stack-Aktualisierung durchgeführt werden. Weitere Informationen finden Sie unter CloudFormation Stapel mithilfe von Änderungssätzen aktualisieren.

Überwachung von Stack-Ereignissen

Sie können die Stack-Ereignisse, die bei jedem Schritt der ECS Bereitstellung generiert wurden, auf der Registerkarte „Ereignisse“ der Stack-Seite und mithilfe der AWS CLI. Weitere Informationen finden Sie unterStack-Fortschritt überwachen.

IAMBerechtigungen für blaue/grüne Bereitstellungen

CloudFormation Um die blaugrünen Bereitstellungen erfolgreich durchführen zu können, benötigen Sie die folgenden Berechtigungen: CodeDeploy

  • codedeploy:Get*

  • codedeploy:CreateCloudFormationDeployment

Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für CodeDeploy in der Service Authorization Reference.