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.
Themen
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
undTransform
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 HookAWS::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.