Was ist CodeDeploy? - AWS CodeDeploy

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.

Was ist CodeDeploy?

CodeDeploy ist ein Bereitstellungsservice, der die Anwendungsbereitstellungen auf Amazon EC2 Instances oder lokalen Instances vor Ort oder serverlosen Lambda Funktionen oder Amazon ECS -Services automatisiert.

Sie können unterschiedlichste Anwendungsinhalte bereitstellen, darunter:

  • Code

  • Serverlose AWS Lambda-Funktionen

  • Web- und Konfigurationsdateien

  • Ausführbare Dateien

  • Pakete

  • Skripte

  • Multimediadateien

CodeDeploy kann in Amazon S3 Buckets, GitHub Repositorys oder Bitbucket-Repositorys gespeicherte und auf einem Server ausgeführte Anwendungsinhalte bereitstellen. CodeDeploy kann auch eine serverlose Lambda -Funktion bereitstellen. Sie müssen den vorhandenen Code nicht verändern, um CodeDeploy verwenden zu können.

Mit CodeDeploy können Sie Folgendes einfacher:

  • Schnell neue Funktionen zu veröffentlichen.

  • AWS Lambda-Funktionsversionen zu aktualisieren.

  • Ausfallzeiten während der Anwendungsbereitstellung zu vermeiden.

  • Die Komplexität der Aktualisierung Ihrer Anwendungen zu beherrschen, ohne viele der Risiken, die mit fehleranfälligen manuellen Bereitstellungen verbunden sind.

Der Service passt sich der Größe Ihrer Infrastruktur an, sodass Sie mühelos eine einzige Instance oder Tausende von Instances bereitstellen können.

CodeDeploy arbeitet mit verschiedenen Systemen für die Konfigurationsverwaltung, Quellcodeverwaltung,Fortlaufende Integration,Fortlaufende Lieferungund kontinuierliche Bereitstellung. Weitere Informationen finden Sie unterProduktintegrationenaus.

Mit der CodeDeploy Konsole können Sie außerdem Schnellsuchen nach Ressourcen, z. B. Repositorys, Build-Projekten, Bereitstellungsanwendungen und Pipelines, ausführen. Wählen Sie Go to Ressource (Zur Ressource) oder drücken Sie die Taste / und geben Sie dann den Namen der Ressource ein. Alle Übereinstimmungen werden in der Liste angezeigt. Bei der Suche wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie sehen nur die Ressourcen, für die Sie die Berechtigung besitzen. Weitere Informationen finden Sie unter Identity and Access Management für AWS CodeDeploy.

Vorteile von AWS CodeDeploy

CodeDeploy bietet die folgenden Vorteile:

  • Server-, serverlose und Containeranwendungenaus. CodeDeploy ermöglicht Ihnen, traditionelle Anwendungen auf Servern bereitzustellen, ebenso wie und Anwendungen, die eine serverloseAWS Lambda-Funktionsversion oder einer Amazon ECS-Anwendung.

  • Automatisierte Bereitstellungenaus. CodeDeploy automatisiert die Anwendungsbereitstellungen in Entwicklungs-, Test- und Produktionsumgebungen vollständig. CodeDeploy passt sich der Größe der Infrastruktur an, sodass Sie eine einzige Instance oder Tausende von Instances bereitstellen können.

  • Minimierung von Ausfallzeit. Falls Ihre Anwendung die EC2/lokale Datenverarbeitungsplattform verwendet, CodeDeploy bei der Optimierung der Verfügbarkeit Ihrer Anwendung. Bei einer In-Situ-Bereitstellung führt CodeDeploy ein fortlaufendes Update unter den Amazon EC2 Instances aus. Sie können die Anzahl der Instances angeben, die für Updates gleichzeitig offline geschaltet werden. Bei einer Blau/Grün-Bereitstellung wird die neueste Anwendungsrevision auf neuen Instances installiert. Der Datenverkehr wird wahlweise entweder sofort oder nach Beendigung der Tests der neuen Umgebung an diese Instances umgeleitet. Bei beiden Bereitstellungstypen verfolgt CodeDeploy die Anwendungsintegrität nach den von Ihnen konfigurierten Regeln.

  • Stoppen und Rollback. Sie können Bereitstellungen automatisch oder manuell stoppen und ein Rollback ausführen, wenn Fehler auftreten.

  • Zentrale Steuerung. Sie können Bereitstellungen über die CodeDeploy Konsole oder die starten und ihren Status verfolgen.AWS CLIaus. Sie erhalten einen Bericht, aus dem hervorgeht, wann und auf welchen Amazon EC2 Instances die einzelnen Anwendungsrevisionen bereitgestellt worden sind.

  • Einfach anzupassenaus. CodeDeploy ist plattformunabhängig und funktioniert mit jeder Anwendung. Sie können Ihren Setup-Code leicht wiederverwenden. CodeDeploy lässt sich auch in Ihren Softwarefreigabeprozess oder die Tool-Chain für die fortlaufende Bereitstellung integrieren

  • Gleichzeitige Bereitstellungen. Wenn mehrere Ihrer Anwendungen die EC2/On-Premises-Rechenplattform verwenden, kann CodeDeploy sie gleichzeitig für dieselbe Gruppe von Instances bereitstellen.

Überblick über CodeDeploy Rechenplattformen

CodeDeploy kann Anwendungen auf drei Datenverarbeitungsplattformen bereitstellen:

  • EC2/Lokal: Beschreibt Instances physischer Server, die Amazon EC2 Cloud-Instances, lokale Server oder beides sein können. Anwendungen, die mit der EC2/lokalen Datenverarbeitungsplattform erstellt wurden, können aus ausführbaren Dateien, Konfigurationsdateien, Bildern und anderem zusammengesetzt sein.

    Bereitstellungen, die die EC2/lokale Rechenplattform verwenden, verwalten die Art und Weise, wie Datenverkehr an Instances geleitet wird, unter Verwendung eines In-Situ- oder Blau/Grün-Bereitstellungstyps. Weitere Informationen finden Sie unter Überblick über CodeDeploy stellungstypen.

  • AWSLambda: Wird verwendet, um Anwendungen bereitzustellen, die aus einer aktualisierten Version einer Lambda -Funktion bestehen.AWS Lambdaverwaltet die Lambda -Funktion in einer serverlosen Datenverarbeitungsumgebung, die aus einer hochverfügbaren Datenverarbeitungsstruktur besteht. Die gesamte Administration der Datenverarbeitungsressourcen erfolgt durch AWS Lambda. Weitere Informationen finden Sie unterServerloses Computing und Anwendungenaus. Weitere Informationen zuAWS Lambda- und -Lambda -Funktionen finden Sie unterAWS Lambdaaus.

    Sie können verwalten, wie Datenverkehr während einer Bereitstellung in die aktualisierten Lambda Funktionsversionen geleitet wird, indem Sie eine Canary-, lineare oder All-at-once-Konfiguration auswählen.

  • Amazon ECS: Wird verwendet, um eine containerisierte Amazon ECS-Anwendung als Aufgabensatz bereitzustellen. CodeDeploy führt eine Blau/Grün-Bereitstellung durch die Installation einer aktualisierten Version der Anwendung als neuen Ersatzaufgabensatz aus. CodeDeploy leitet Produktionsdatenverkehr von der ursprünglichen Anwendung oder dem ursprünglichen Aufgabensatz zum Ersatzaufgabensatz um. Der ursprüngliche Aufgabensatz wird nach erfolgreicher Bereitstellung beendet. Weitere Informationen über Amazon ECS finden Sie unterAmazon Elastic Container Serviceaus.

    Sie können die Art und Weise, wie der Datenverkehr während einer Bereitstellung auf den aktualisierten Aufgabensatz verschoben wird, verwalten, indem Sie eine Canary-, lineare oder All-at-once Konfiguration auswählen.

    Anmerkung

    -Blau/Grün-Bereitstellungen werden sowohl über CodeDeploy als auch über Grün-Bereitstellungen unterstützt.AWS CloudFormationaus. Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

Die folgende Tabelle beschreibt, wie CodeDeploy Komponenten für jede Datenverarbeitungsplattform verwendet werden. Weitere Informationen finden Sie unter:

-CodeDeploy Komponente EC2/Lokal AWS-Lambda Amazon ECS
Bereitstellungsgruppe Stellt eine Revision für eine Gruppe von Instances bereit. Stellt eine neue Version einer serverlosen Lambda -Funktion auf einer hochverfügbaren Datenverarbeitungsinfrastruktur bereit. Gibt den Amazon ECS-service mit der bereitzustellenden containerisierten Anwendung als Aufgabensatz, einem Produktions- und einem optionalen Test-Listener für die Weiterleitung von Datenverkehr an die bereitgestellte Anwendung, dem Zeitpunkt der Umleitung des Datenverkehrs sowie der Beendigung des ursprünglichen Aufgabensatzes der bereitgestellten Anwendung und optionalen Auslöser-, Alarm- und Rollback-Optionen an. -Einstellungen.
Bereitstellung Stellt eine neue Revision bereit, die aus einer Anwendung und einer AppSpec-Datei besteht. Die AppSpec gibt an, wie die Anwendungsrevision auf den Instances in einer Bereitstellungsgruppe bereitgestellt werden soll. Verlagert Produktionsdatenverkehr von einer Version einer Lambda -Funktion auf eine neue Version derselben Funktion. Die AppSpec -Datei gibt an, welche Lambda -Funktion bereitzustellen ist. Stellt eine aktualisierte Version einer containerisierten Amazon ECS-Anwendung als neuen Aufgabensatz bereit. CodeDeploy leitet Produktionsdatenverkehr vom Aufgabensatz mit der ursprünglichen Version an den neuen Aufgabensatz mit der aktualisierten Version weiter. Wenn die Bereitstellung abgeschlossen ist, wird der ursprüngliche Aufgabensatz beendet.
Bereitstellungskonfiguration Einstellungen, die die Bereitstellungsgeschwindigkeit angeben, ebenso wie die Mindestanzahl der fehlerfreien Instances zu jedem Zeitpunkt während einer Bereitstellung. Einstellungen, die bestimmen wie der Datenverkehr auf die aktualisierten Lambda Funktionsversionen verschoben wird. Einstellungen, die bestimmen wie der Datenverkehr auf den aktualisierten Amazon ECS-Aufgabensatz verschoben wird.
Revision Eine Kombination aus AppSpec-Datei und Anwendungsdateien, wie beispielsweise ausführbare Dateien, Konfigurationsdateien usw. Eine AppSpec -Datei, die angibt, welche Lambda -Funktion bereitgestellt werden soll, und Lambda-Funktionen, die bei Lebenszyklusereignis-Hooks während der Bereitstellung Validierungsprüfungen ausführen können.

Eine AppSpec -Datei, die Folgendes angibt:

  • Die Amazon ECS-Aufgabendefinition für den Amazon ECS--Service mit der bereitzustellenden containerisierten Anwendung.

  • Den Container, in dem Ihre aktualisierte Anwendung bereitgestellt wird.

  • Einen Port für den Container, wohin der Produktionsdatenverkehr umgeleitet wird.

  • Optionale Netzwerkkonfigurationseinstellungen und Lambda Funktionen, die während der Bereitstellungs-Lebenszyklusereignis-Hooks Validierungstests ausführen können

Anwendung Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine EC2/lokale Anwendung verwendet die EC2/lokale Datenverarbeitungsplattform. Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine Anwendung für eineAWS Lambda-Bereitstellung verwendet die serverloseAWSPlattform für Lambda Datenverarbeitung. Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine Anwendung, die für eine Amazon ECS-Bereitstellung verwendet wird, verwendet die Amazon ECS-Rechenplattform.

Überblick über CodeDeploy stellungstypen

CodeDeploy stellt zwei Bereitstellungstypoptionen bereit:

  • In-Situ-Bereitstellung: Die Anwendung auf jeder Instance in der Bereitstellungsgruppe wird beendet, die neueste Anwendungsrevision installiert und die neue Version der Anwendung gestartet und validiert. Sie können einen Load Balancer verwenden, damit jede Instance während ihrer Bereitstellung abgemeldet und nach Abschluss der Bereitstellung wiederhergestellt wird. Nur Bereitstellungen, die die EC2/lokale Datenverarbeitungsplattform verwenden, können In-Situ-Bereitstellungen verwenden. Weitere Informationen zu In-Situ-Bereitstellungen finden Sie unter Überblick über eine In-Situ-Bereitstellung.

    Anmerkung

    AWSDie Lambda - und Amazon ECS-Bereitstellungen können keinen In-Situ-Bereitstellungstyp verwenden.

  • Blau/Grün-Bereitstellung: Das Verhalten Ihrer Bereitstellung ist davon abhängig, welche Datenverarbeitungsplattform Sie verwenden:

    • Blau/Grün-Plattform auf einer EC2/lokalen Datenverarbeitungsplattform: Die Instances einer Bereitstellungsgruppe (die ursprüngliche Umgebung) werden durch eine andere Gruppe von Instances (die Ersatzumgebung) mit den folgenden Schritten ersetzt:

      • Die Instances werden für die Austauschumgebung bereitgestellt.

      • Die neueste Anwendungsrevision wird auf den Ersatz-Instances installiert.

      • Eine optionale Wartezeit tritt für Aktivitäten wie Anwendungstests und Systemüberprüfung auf.

      • Instances in der Ersatzumgebung werden beim Elastic Load Balancing Load Balancer registriert, wodurch der Datenverkehr an sie umgeleitet wird. Instances in der ursprünglichen Umgebung werden aufgehoben und können für andere Verwendungen beendet oder weiterhin ausgeführt werden.

      Anmerkung

      Wenn Sie eine EC2/On-Premises-Rechenplattform verwenden, beachten Sie, dass blau/grüne Bereitstellungen nur mit Amazon EC2 Instances funktionieren.

    • Blau/Grün auf einemAWSPlattform Lambda die Datenverarbeitung: Datenverkehr wird von Ihrer aktuellen serverlosen Umgebung auf eine Umgebung mit Ihren aktualisierten Lambda Funktionsversionen verschoben. Sie können Lambda-Funktionen angeben, die Validierungstests durchführen, und wählen, wie die Verschiebung des Datenverkehrs stattfindet. AlleAWSDie Lambda Datenverarbeitungsplattformbereitstellungen sind Blau/Grün-Bereitstellungen. Aus diesem Grund müssen Sie keinen Bereitstellungstyp angeben.

    • Blau/Grün-Plattform auf einer Amazon ECS-Datenverarbeitungsplattform: Der Datenverkehr wird von der ursprünglichen Version einer Anwendung in einem Amazon ECS--Service auf einen Ersatzaufgabensatz im gleichen -Service verschoben. Sie können die Verschiebung des Datenverkehrs mit der Bereitstellungskonfiguration auf „linear“ oder „canary“ festlegen. Das Protokoll und der Port eines angegebenen Load Balancer Listener werden verwendet, um Produktionsdatenverkehr neu zu leiten. Während einer Bereitstellung kann ein Test-Listener verwendet werden, um Datenverkehr zum Ersatz-Tasksatz bereitzustellen, während Validierungstests ausgeführt werden.

    • Blau/Grün-Bereitstellungen überAWS CloudFormation: Datenverkehr wird von Ihren aktuellen Ressourcen auf Ihre aktualisierten Ressourcen als Teil einerAWS CloudFormation-Stack-Aktualisierung. Derzeit werden nur ECS-Blau/Grün-Bereitstellungen unterstützt.

    Weitere Informationen zu blauen/grünen Bereitstellungen finden Sie unter Übersicht über eine Blau/Grün-Bereitstellung.

Anmerkung

Mit dem CodeDeploy -Agent können Sie eine Bereitstellung auf einer Instance ausführen, auf der Sie angemeldet sind, ohne dass eine Anwendung, eine Bereitstellungsgruppe oder sogar eineAWSKonto. Weitere Informationen finden Sie unter Überprüfen eines Bereitstellungspakets auf einem lokalen Computer mithilfe des CodeDeploy-Agent.

Überblick über eine In-Situ-Bereitstellung

Anmerkung

AWSBei Lambda - und Amazon ECS-Bereitstellungen können keinen In-Situ-Bereitstellungstyp verwenden.

So funktioniert eine In-Situ-Bereitstellung:

  1. Zuerst erstellen Sie auf Ihrem lokalen Entwicklungscomputer oder in einer ähnlichen Umgebung Inhalte, die sich bereitstellen lassen, und dann fügen Sie eineAnwendungsspezifische Datei(AppSpec -Datei). Die AppSpec -Datei ist einzigartig in CodeDeploy. Sie definiert die Bereitstellungsaktionen CodeDeploy die ausführen soll. Sie packen den bereitzustellenden Inhalt und die AppSpec -Datei in einer Archivdatei und laden diese in einen Amazon S3 Bucket oder ein GitHub Repository hoch. Diese Archivdatei wird als Anwendungsrevision (oder einfach Revision) bezeichnet.

  2. Als Nächstes stellen Sie CodeDeploy Informationen über die Bereitstellung bereit, z. B. aus welchem -BuAmazon S3 oder GitHub Repository die Revision abgerufen und für welche Amazon EC2 Instances der Inhalt bereitgestellt werden soll. CodeDeploy ruft eine Reihe von Amazon EC2 Instances als-Bereitstellungsgruppeaus. Eine Bereitstellungsgruppe enthält einzelne, mit Tags Amazon EC2 Instances, Amazon EC2-Instances in Amazon EC2 Auto Scaling Gruppen oder beides.

    Jedes Mal, wenn Sie eine neue Anwendungsrevision, die für die Bereitstellungsgruppe bereitgestellt werden soll, erfolgreich hochladen, wird dieses Paket als Zielrevision für die Bereitstellungsgruppe festgelegt. Mit anderen Worten, die Anwendungsrevision, die aktuell zur Bereitstellung vorgesehen ist, ist die Zielrevision. Diese Revision wird auch für automatische Bereitstellungen verwendet.

  3. Als Nächstes fragt der CodeDeploy -Agent auf jeder Instance CodeDeploy ab, was und wann dieser vom angegebenen Amazon S3 Bucket oder GitHub-Repository abgerufen werden soll.

  4. Schließlich ruft der CodeDeploy -Agent auf jeder Instance die Zielrevision vom Amazon S3 Bucket oder GitHub Repository ab und stellt die Inhalte unter Verwendung der in der AppSpec -Datei enthaltenen Anweisungen auf der Instance bereit.

CodeDeploy speichert Bereitstellungen, sodass Ihnen Informationen zu Bereitstellungsstatus, Bereitstellungskonfigurationsparametern, Zustandsprüfung der Instance usw. zur Verfügung stehen.

Übersicht über eine Blau/Grün-Bereitstellung

Eine Blau/Grün-Bereitstellung dient zur Aktualisierung Ihrer Anwendungen, wobei die Unterbrechungen, die durch Änderungen einer neuen Anwendungsversion verursacht werden, minimiert werden. CodeDeploy stellt Ihre neue Anwendungsversion zusammen mit der alten Version bereit, bevor Sie Ihren Produktionsdatenverkehr umleiten.

  • AWSLambda: Der Datenverkehr wird von einer Version einer Lambda -Funktion auf eine neue Version derselben Lambda-Funktion verschoben.

  • Amazon ECS: Der Datenverkehr wird von einem Aufgabensatz in Ihrem Amazon ECS -Service auf einen neuen Aufgabensatz im gleichen Amazon ECS -Service verschoben.

  • EC2/Lokal: Datenverkehr wird von einer Gruppe von Instances in der ursprünglichen Umgebung auf einen neuen Satz von Instances verschoben.

AlleAWSDie Lambda - und Amazon ECS-Bereitstellungen sind Blau/Grün. Eine EC2/lokale Bereitstellung kann eine In-Situ- oder eine Blau/Grün-Bereitstellung sein. Blau/Grün-Bereitstellungen bieten einige Vorteile gegenüber In-Situ-Bereitstellungen:

  • Sie können eine Anwendung in der neuen Ersatzumgebung installieren und testen und für die Produktion bereitstellen, indem Sie den Datenverkehr einfach umleiten.

  • Wenn Sie die EC2/lokale Datenverarbeitungsplattform verwenden, ist der Wechsel auf die neueste Version einer Anwendung schneller und zuverlässiger. Dies liegt daran, dass der Verkehr wieder an die ursprünglichen Instances umgeleitet werden kann, solange diese noch nicht beendet wurden. Bei einer In-Situ-Bereitstellung muss dagegen ein Rollback der Versionen durchgeführt werden, indem die vorherige Anwendungsversion bereitgestellt wird.

  • Wenn Sie die EC2/lokale Rechenplattform verwenden, werden neue Instances für eine Blau/Grün-Bereitstellung bereitgestellt und spiegeln die aktuellsten Serverkonfigurationen. Auf diese Weise können Sie Probleme vermeiden, die manchmal bei lang laufenden Instances auftreten.

  • Verwendetes BetriebssystemAWSLambda Datenverarbeitungsplattform steuern Sie, wie der Datenverkehr von Ihrem ursprünglichenAWSVersioning der Lambda -Funktion auf Ihre neueAWSVersioning der Lambda -Funktion.

  • Wenn Sie die Amazon ECS-Datenverarbeitungsplattform verwenden, steuern Sie, wie Datenverkehr von Ihrem ursprünglichen Aufgabensatz auf Ihren neuen Aufgabensatz verschoben wird.

Bei einer Blau/Grün-Bereitstellung mit AWS CloudFormation kann eine der folgenden Methoden verwendet werden:

  • AWS CloudFormationVorlagen für Bereitstellungen: Wenn Sie Bereitstellungen mitAWS CloudFormation-Vorlagen verwenden, werden Ihre Bereitstellungen durchAWS CloudFormation-Updates. Wenn Sie eine Ressource ändern und eine Vorlagenänderung hochladen, wird die neue Bereitstellung durch eine Stack-Aktualisierung in AWS CloudFormation initiiert. Eine Liste der Ressourcen, die Sie in AWS CloudFormation-Vorlagen verwenden können, finden Sie unter AWS CloudFormationVorlagen für CodeDeploy Referenz.

  • Blau/Grün-Bereitstellungen überAWS CloudFormation: Sie können Folgendes verwenden:AWS CloudFormationUm Ihre Blau/Grün-Bereitstellungen über Stack-Aktualisierungen zu verwalten. Sie definieren sowohl die blauen als auch die grünen Ressourcen zusätzlich zu den Einstellungen für das Routing und die Stabilisierung des Datenverkehrs innerhalb der Stack-Vorlage. Wenn Sie dann ausgewählte Ressourcen während einer Stack-Aktualisierung aktualisieren, generiert AWS CloudFormation alle erforderlichen grünen Ressourcen, verschiebt den Datenverkehr basierend auf den angegebenen Datenverkehrs-Weiterleitungsparametern und löscht die blauen Ressourcen. Weitere Informationen finden Sie unterAutomatisieren Sie Amazon ECS-Blau/Grün-Bereitstellungen über CodeDeploy mithilfe vonAWS CloudFormationimAWS CloudFormation-Benutzerhandbuchaus.

    Anmerkung

    Wird nur für Amazon ECS-Blau/Grün-Bereitstellungen unterstützt.

Wie Sie eine Blau/Grün-Bereitstellung konfigurieren, hängt davon ab, welche Datenverarbeitungsplattform Ihre Bereitstellung verwendet.

Blau/Grün-Bereitstellung auf einemAWS LambdaPlattform für die Datenverarbeitung

Verwendetes BetriebssystemAWSLambda Datenverarbeitungsplattform verwenden, müssen Sie eine der folgenden Bereitstellungskonfigurationstypen verwenden, um anzugeben, wie Datenverkehr vom ursprünglichenAWS Lambda-Funktionsversion auf die neueAWS Lambda-Funktionsversion:

  • Canary: Der Datenverkehr wird in zwei Inkrementen verschoben. Sie können aus vordefinierten Canary-Optionen wählen, die den Prozentsatz des Verkehrs angeben, der sich im ersten Schritt auf Ihre aktualisierte Lambda-Funktionsversion und das Intervall in Minuten vor der Verschiebung des restlichen Verkehrs im zweiten Schritt verschoben hat.

  • Linear: Der Datenverkehr wird in gleich großen Inkrementen mit einer gleichen Anzahl von Minuten zwischen den Inkrementen verschoben. Sie können aus vordefinierten linearen Optionen wählen, die den prozentualen Anteil des Datenverkehrs angeben, der in jedem Inkrementschritt verschoben wird, sowie die Anzahl der Minuten zwischen den einzelnen Inkrementschritten.

  • All-at-einmalig: Alles auf einmal wird der gesamte Datenverkehr von der ursprünglichen Lambda -Funktion auf einmal zu der aktualisierten Lambda-Funktion verschoben.

Weitere Informationen zu AWS Lambda-Bereitstellungskonfigurationen finden Sie unter Vordefinierte Bereitstellungskonfigurationen für eineAWS LambdaPlattform für die Datenverarbeitung .

Blau/Grün-Bereitstellung auf einer Amazon ECS-Datenverarbeitungsplattform

Wenn Sie die Amazon ECS-Rechenplattform verwenden, müssen Sie eine der folgenden Bereitstellungskonfigurationstypen verwenden, um anzugeben, wie Datenverkehr von der ursprünglichen Amazon ECS-Aufgabensatz zum neuen Amazon ECS-Aufgabensatz verschoben wird:

  • Canary: Der Datenverkehr wird in zwei Inkrementen verschoben. Sie können aus vordefinierten Canary-Optionen wählen, die den prozentualen Anteil des Verkehrsaufkommens angeben, der im ersten Inkrementschritt an Ihren aktualisierte Amazon ECS-Aufgabensatz verschoben wird, sowie das Intervall in Minuten, bevor der restliche Datenverkehr im zweiten Inkrementschritt verschoben wird.

  • Linear: Der Datenverkehr wird in gleich großen Inkrementen mit einer gleichen Anzahl von Minuten zwischen den Inkrementen verschoben. Sie können aus vordefinierten linearen Optionen wählen, die den prozentualen Anteil des Datenverkehrs angeben, der in jedem Inkrementschritt verschoben wird, sowie die Anzahl der Minuten zwischen den einzelnen Inkrementschritten.

  • All-at-einmalig: Alle Datenverkehr wird von der ursprünglichen Amazon ECS-Aufgabengruppe auf einmal zu dem aktualisierten Amazon ECS-Aufgabensatz verschoben.

Weitere Informationen zur Amazon ECS-Bereitstellungskonfiguration finden Sie unter Bereitstellungskonfigurationen auf einer Amazon ECS-Datenverarbeitungsplattform aus.

Blau/Grün-Bereitstellung auf einer EC2/lokalen Datenverarbeitungsplattform

Anmerkung

Sie müssen Amazon EC2 Instances für Blau/Grün-Bereitstellungen auf der EC2/lokalen Datenverarbeitungsplattform verwenden. Lokale Instance-Typen werden für den Blau/Grün-Bereitstellungstyp nicht unterstützt.

Falls Sie die EC2/lokale Datenverarbeitungsplattform verwenden, gilt Folgendes:

Sie müssen mindestens eine Amazon EC2 Instance mit identifizierenden Amazon EC2-Tags oder einer Amazon EC2 Auto Scaling Gruppe haben. Die Instances müssen zusätzlich die folgenden Anforderungen erfüllen:

  • Jeder Amazon EC2 Instance muss das richtige IAM-Instance-Profil angefügt worden sein.

  • Der CodeDeploy Agent muss installiert sein und auf jeder Instance ausgeführt werden.

Anmerkung

In der Regel wird auch auf den Instances der ursprünglichen Umgebung eine Anwendungsrevision ausgeführt, aber dies ist keine Voraussetzung für eine Blau/Grün-Bereitstellung.

Wenn Sie eine Bereitstellungsgruppe erstellen, die für Blau/Grün-Bereitstellungen verwendet wird, können Sie festlegen, wie die Ersatzumgebung angegeben wird:

Vorhandene Amazon EC2 Auto Scaling Gruppe kopieren: Während der Blau/Grün-Bereitstellung erstellt CodeDeploy die Instances für die Ersatzumgebung. Bei Auswahl dieser Option verwendet CodeDeploy die von Ihnen angegebene Amazon EC2 Auto Scaling Gruppe als Vorlage für die Ersatzumgebung, einschließlich der gleichen Anzahl von ausgeführten Instances und vieler anderer Konfigurationsoptionen.

Choose instances manually (Instances manuell auswählen): Sie können mithilfe von Amazon EC2-Instance-Tags, Amazon EC2 Auto Scaling Gruppennamen oder beiden angeben, welche Instances die Ersatzumgebung bilden sollen. Wenn Sie diese Option wählen, müssen Sie die Instances für die Ersatzumgebung erst beim Erstellen der Bereitstellung angeben.

Funktionsweise:

  1. Sie haben bereits Instances oder eine Amazon EC2 Auto Scaling Gruppe, die als ursprüngliche Umgebung fungieren. Bei der ersten Durchführung einer Blau/Grün-Bereitstellung verwenden Sie in der Regel Instances, die bereits in einer In-Situ-Bereitstellung verwendet wurden.

  2. In einer vorhandenen CodeDeploy Anwendung erstellen Sie eine Blau/Grün-Bereitstellungsgruppe, für die Sie neben den Optionen, die für eine In-Situ-Bereitstellung erforderlich sind, Folgendes angeben müssen:

    • Der Load Balancer, der den Datenverkehr während der Blau/Grün-Bereitstellung von der ursprünglichen Umgebung zur Ersatzumgebung umleitet.

    • Ob der Datenverkehr sofort an die Ersatzumgebung umgeleitet oder gewartet werden soll, bis Sie den Datenverkehr manuell umleiten.

    • Die Übertragungsgeschwindigkeit, mit welcher der Datenverkehr an die Ersatz-Instances umgeleitet werden soll.

    • Ob die Instances, die ersetzt werden, beendet oder weiterhin ausgeführt werden sollen.

  3. Sie erstellen eine Bereitstellung für diese Bereitstellungsgruppe, in deren Verlauf Folgendes geschieht:

    1. Wenn Sie die Option zum Kopieren einer Amazon EC2 Auto Scaling-Gruppe wählen, werden Instances für die Ersatzumgebung bereitgestellt.

    2. Die Anwendungsrevision, die Sie für die Bereitstellung angeben, wird auf den Ersatz-Instances installiert.

    3. Wenn Sie in den Bereitstellungsgruppeneinstellungen eine Wartezeit angeben, wird die Bereitstellung zeitweilig unterbrochen. In dieser Zeit können Sie die Ersatzumgebung testen und überprüfen. Wenn Sie den Datenverkehr nicht vor Ablauf der Wartezeit manuell umleiten, wird die Bereitstellung gestoppt.

    4. Instances in der Ersatzumgebung werden beim Elastic Load Balancing Load Balancer registriert und anschließend wird der Datenverkehr an sie umgeleitet.

    5. Die Registrierung der ursprünglichen Umgebung wird aufgehoben, und diese Instances werden entsprechend der Angaben in der Bereitstellungsgruppe entweder beendet oder weiterhin ausgeführt.

Blau/Grün-Bereitstellung überAWS CloudFormation

Sie können Blau/Grün-Bereitstellungen verwalten, indem Sie Ihre Ressourcen mit einerAWS CloudFormation-Vorlage.

Wenn Sie Ihre blauen/grünen Ressourcen mithilfe einer AWS CloudFormation-Vorlage modellieren, erstellen Sie eine Stack-Aktualisierung in AWS CloudFormation, die Ihren Aufgabensatz aktualisiert. Der Produktionsdatenverkehr verschiebt sich vom ursprünglichen Aufgabensatz Ihres Services in einen Ersatzaufgabensatz entweder auf einmal, mit linearen Bereitstellungen und Bake-Zeit, oder mit Canary-Bereitstellungen. Das Stack-Update initiiert eine Bereitstellung in CodeDeploy. Sie können Bereitstellungsstatus und Verlauf in CodeDeploy anzeigen, anderweitig jedoch keine CodeDeploy-Ressourcen außerhalb derAWS CloudFormation-Vorlage.

Anmerkung

Für Blau/Grün-Bereitstellungen überAWS CloudFormation-Bereitstellungsgruppe erstellen Sie keine CodeDeploy Anwendung oder -Bereitstellungsgruppe.

Diese Methode unterstützt nur -Blau/Grün-Bereitstellungen. Weitere Informationen zu Blau/Grün-Bereitstellungen über AWS CloudFormation finden Sie unter Erstellen Sie eine Blau/Grün-Bereitstellung überAWS CloudFormation.

Bitte geben Sie uns Feedback

Wir freuen uns über Ihr Feedback. Um Kontakt mit uns aufzunehmen, besuchen SieDas CodeDeploy -Forumaus.

Themen