View a markdown version of this page

CodeDeploy Hauptbestandteile - 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.

CodeDeploy Hauptbestandteile

Bevor Sie mit der Arbeit mit dem Service beginnen, sollten Sie sich mit den wichtigsten Komponenten des CodeDeploy Bereitstellungsprozesses vertraut machen.

Anwendung

Eine Anwendung ist ein Name, der die Anwendung, die Sie bereitstellen möchten, eindeutig identifiziert. CodeDeploy verwendet diesen Namen, der als Container fungiert, um sicherzustellen, dass während einer Bereitstellung auf die richtige Kombination aus Version, Bereitstellungskonfiguration und Bereitstellungsgruppe verwiesen wird.

Plattform für die Datenverarbeitung

Eine Rechenplattform ist eine Plattform, auf der eine Anwendung CodeDeploy bereitgestellt wird. Es gibt drei Rechenplattformen:

  • EC2/On-Premises: Beschreibt Instanzen von physischen Servern, bei denen es sich um Amazon EC2 EC2-Cloud-Instances, lokale Server oder beides handeln kann. Mit der EC2/On-Premises Rechenplattform erstellte Anwendungen können aus ausführbaren Dateien, Konfigurationsdateien, Bildern und mehr bestehen.

    Bereitstellungen, die die EC2/On-Premises Rechenplattform verwenden, verwalten die Art und Weise, wie der Datenverkehr zu den Instanzen geleitet wird, indem sie einen direkten oder einen blue/green Bereitstellungstyp verwenden. Weitere Informationen finden Sie unter Überblick über die CodeDeploy Bereitstellungstypen.

  • AWS Lambda: Wird verwendet, um Anwendungen bereitzustellen, die aus einer aktualisierten Version einer Lambda-Funktion bestehen. AWS Lambda verwaltet die Lambda-Funktion in einer serverlosen Rechenumgebung, die aus einer Rechenstruktur mit hoher Verfügbarkeit besteht. Die gesamte Verwaltung der Rechenressourcen erfolgt durch. AWS Lambda Weitere Informationen finden Sie unter Serverloses Computing und Anwendungen. Weitere Hinweise zu AWS Lambda und Lambda-Funktionen finden Sie unter AWS Lambda.

    Sie können die Art und Weise verwalten, wie der Datenverkehr während einer Bereitstellung auf die aktualisierten Lambda-Funktionsversionen umgeleitet wird, indem Sie eine kanarische, lineare oder All-in-Once-Konfiguration wählen.

  • Amazon ECS: Wird verwendet, um eine containerisierte Amazon ECS-Anwendung als Task-Set bereitzustellen. CodeDeploy führt eine blue/green Bereitstellung durch, indem eine aktualisierte Version der Anwendung als neuer Ersatz-Aufgabensatz installiert wird. CodeDeploy leitet den Produktionsdatenverkehr vom ursprünglichen Anwendungs-Tasksatz zum Ersatz-Tasksatz um. Der ursprüngliche Tasksatz wird nach einer erfolgreichen Bereitstellung beendet. Weitere Informationen zu Amazon ECS finden Sie unter Amazon Elastic Container Service.

    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

Amazon blue/green ECS-Bereitstellungen werden sowohl durch als auch CodeDeploy unterstützt. CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

Bereitstellungskonfiguration

Eine Bereitstellungskonfiguration besteht aus einer Reihe von Bereitstellungsregeln und Bedingungen für Erfolg und Misserfolg bei der Bereitstellung, die CodeDeploy während einer Bereitstellung verwendet werden. Wenn Ihre Bereitstellung die EC2/On-Premises Rechenplattform verwendet, können Sie die Mindestanzahl fehlerfreier Instanzen für die Bereitstellung angeben. Wenn Ihre Bereitstellung die AWS Lambda oder die Amazon ECS-Rechenplattform verwendet, können Sie angeben, wie der Datenverkehr an Ihre aktualisierte Lambda-Funktion oder Ihren aktualisierten ECS-Tasksatz weitergeleitet wird.

Weitere Informationen zur Angabe der Mindestanzahl fehlerfreier Hosts für eine Bereitstellung, die die EC2/On-Premises Rechenplattform verwendet, finden Sie unter. Ungefähr die Mindestanzahl fehlerfreier Instanzen

Die folgenden Bereitstellungskonfigurationen geben an, wie der Datenverkehr während einer Bereitstellung weitergeleitet wird, die die Lambda- oder die ECS-Rechenplattform verwendet:

  • Canary: Der Datenverkehr wird in zwei Inkrementen verschoben. Sie können aus vordefinierten Canary-Optionen wählen, die den Prozentsatz des Datenverkehrs angeben, der im ersten Schritt auf Ihre aktualisierte Lambda-Funktion oder Ihren ECS-Tasksatz übertragen wird, und das Intervall in Minuten, bevor der verbleibende Verkehr in der zweiten Stufe umgeleitet 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-once: Der gesamte Datenverkehr wird auf einmal von der ursprünglichen Lambda-Funktion oder dem ursprünglichen ECS-Aufgabensatz auf den aktualisierten Funktions- oder Tasksatz umgestellt.

Bereitstellungsgruppe

Eine Bereitstellungsgruppe besteht aus einer Reihe von einzelnen Instanzen. Eine Bereitstellungsgruppe enthält individuell markierte Instances, Amazon EC2-Instances in Amazon EC2 Auto Scaling-Gruppen oder beides. Informationen zu Amazon EC2 EC2-Instance-Tags finden Sie unter Arbeiten mit Tags mithilfe der Konsole. Weitere Informationen über lokale Instances finden Sie unter Working with On-Premises Instances. Informationen zu Amazon EC2 Auto Scaling finden Sie unterIntegration CodeDeploy mit Amazon EC2 Auto Scaling.

Bereitstellungstyp

Ein Bereitstellungstyp ist eine Methode, mit der die neueste Anwendungsversion auf Instances in einer Bereitstellungsgruppe verfügbar gemacht wird. Es gibt zwei Bereitstellungstypen:

  • In-place Bereitstellung: Die Anwendung auf jeder Instanz in der Bereitstellungsgruppe wird gestoppt, die neueste Anwendungsversion wird installiert und die neue Version der Anwendung wird gestartet und validiert. Sie können einen Load Balancer verwenden, sodass jede Instanz während der Bereitstellung deregistriert und nach Abschluss der Bereitstellung wieder betriebsbereit ist. Nur Bereitstellungen, die die EC2/On-Premises Rechenplattform verwenden, können direkte Bereitstellungen verwenden. Weitere Informationen zu In-Situ-Bereitstellungen finden Sie unter Überblick über eine direkte Bereitstellung.

  • Blue/green Bereitstellung: Das Verhalten Ihrer Bereitstellung hängt davon ab, welche Rechenplattform Sie verwenden:

    • Blue/green auf einer EC2/On-Premises Rechenplattform: Die Instanzen in einer Bereitstellungsgruppe (der ursprünglichen Umgebung) werden mithilfe der folgenden Schritte durch eine andere Gruppe von Instanzen (die Ersatzumgebung) ersetzt:

      • Instanzen werden für die Ersatzumgebung bereitgestellt.

      • Die neueste Anwendungsversion ist auf den Ersatzinstanzen installiert.

      • Für Aktivitäten wie Anwendungstests und Systemverifizierung fällt eine optionale Wartezeit an.

      • Instances in der Ersatzumgebung werden bei einem oder mehreren Elastic Load Balancing Balancing-Load Balancing-Load Balancern registriert, wodurch der Datenverkehr zu ihnen umgeleitet wird. Instances in der ursprünglichen Umgebung werden deregistriert und können beendet oder für andere Zwecke weiterlaufen.

      Anmerkung

      Wenn Sie eine EC2/On-Premises Rechenplattform verwenden, beachten Sie, dass blue/green Bereitstellungen nur mit Amazon EC2 EC2-Instances funktionieren.

    • Blue/green auf einer AWS Lambda oder Amazon ECS-Rechenplattform: Der Datenverkehr wird schrittweise entsprechend einer kanarischen, linearen oder All-in-Once-Bereitstellungskonfiguration verschoben.

    • Blue/green Bereitstellungen durch CloudFormation: Der Datenverkehr wird im Rahmen eines Stack-Updates von Ihren aktuellen Ressourcen auf Ihre aktualisierten Ressourcen verlagert. CloudFormation Derzeit werden nur blue/green ECS-Bereitstellungen unterstützt.

    Weitere Informationen zu blue/green Bereitstellungen finden Sie unter. Überblick über eine Bereitstellung blue/green

Anmerkung

Amazon blue/green ECS-Bereitstellungen werden sowohl mit als auch CodeDeploy unterstützt. CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

IAM-Instanzprofil

Ein IAM-Instance-Profil ist eine IAM-Rolle, die Sie Ihren Amazon EC2 EC2-Instances zuordnen. Dieses Profil beinhaltet die erforderlichen Berechtigungen für den Zugriff auf die Amazon S3 S3-Buckets oder GitHub Repositorys, in denen die Anwendungen gespeichert sind. Weitere Informationen finden Sie unter Schritt 4: Erstellen Sie ein IAM-Instance-Profil für Ihre Amazon EC2 EC2-Instances.

Revision

Eine Revision ist eine Version Ihrer Anwendung. Eine AWS Lambda-Bereitstellungsrevision ist eine YAML- oder JSON-formatted Datei, die Informationen über die bereitzustellende Lambda-Funktion spezifiziert. Eine EC2/On-Premises Bereitstellungsrevision ist eine Archivdatei, die Quellinhalte (Quellcode, Webseiten, ausführbare Dateien und Bereitstellungsskripts) und eine Anwendungsspezifikationsdatei (Datei) enthält. AppSpec AWS Lambda-Revisionen können in Amazon S3 S3-Buckets gespeichert werden. EC2/On-Premises Revisionen werden in Amazon S3 S3-Buckets oder GitHub Repositorys gespeichert. In Amazon S3 wird eine Revision eindeutig durch ihren Amazon-S3-Objektschlüssel und ihren ETag, die Version oder beides identifiziert. Denn GitHub eine Revision wird anhand ihrer Commit-ID eindeutig identifiziert.

Service – -Rolle

Eine Servicerolle ist eine IAM-Rolle, die einem AWS Dienst Berechtigungen erteilt, sodass dieser auf AWS Ressourcen zugreifen kann. Die Richtlinien, die Sie der Servicerolle zuordnen, bestimmen, auf welche AWS Ressourcen der Dienst zugreifen kann und welche Aktionen er mit diesen Ressourcen ausführen kann. Denn CodeDeploy eine Servicerolle wird für Folgendes verwendet:

  • Um entweder die auf die Instances angewendeten Tags oder die Amazon EC2 Auto Scaling Scaling-Gruppennamen zu lesen, die den Instances zugeordnet sind. Auf diese Weise können CodeDeploy Instances identifiziert werden, auf denen Anwendungen bereitgestellt werden können.

  • Um Operationen auf Instances, Amazon EC2 Auto Scaling Scaling-Gruppen und Elastic Load Balancing Balancing-Load Balancers durchzuführen.

  • Um Informationen zu Amazon SNS SNS-Themen zu veröffentlichen, sodass Benachrichtigungen gesendet werden können, wenn bestimmte Bereitstellungs- oder Instance-Ereignisse eintreten.

  • Zum Abrufen von Informationen über CloudWatch Alarme, um die Alarmüberwachung für Bereitstellungen einzurichten.

Weitere Informationen finden Sie unter Schritt 2: Erstellen Sie eine Servicerolle für CodeDeploy.

Zielrevision

Eine Zielrevision ist die neueste Version der Anwendungsrevision, die Sie in Ihr Repository hochgeladen haben und die Sie für die Instances in einer Bereitstellungsgruppe bereitstellen möchten. Mit anderen Worten: Die Anwendungsrevision, die derzeit für die Bereitstellung vorgesehen ist. Diese Revision wird auch für automatische Bereitstellungen verwendet.

Andere Komponenten

Informationen zu anderen Komponenten des CodeDeploy Workflows finden Sie in den folgenden Themen: