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-Premise: Beschreibt Instanzen von physischen Servern, bei denen es sich um Amazon EC2 EC2-Cloud-Instances, lokale Server oder beides handeln kann. Anwendungen, die mit der EC2/On-Premises-Rechenplattform erstellt wurden, können aus ausführbaren Dateien, Konfigurationsdateien, Bildern und mehr bestehen.

    Bereitstellungen, die die EC2/On-Premises-Computing-Plattform verwenden, verwalten die Art und Weise, wie der Datenverkehr zu den Instances geleitet wird, indem sie den Bereitstellungstyp „In-Place“ oder „Blue/Green“ 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, in der der Datenverkehr während einer Bereitstellung auf die aktualisierten Lambda-Funktionsversionen umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen.

  • Amazon ECS: Wird verwendet, um eine containerisierte Amazon ECS-Anwendung als Task-Set bereitzustellen. CodeDeploy führt eine blaue/grüne 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 verwalten, in der der Datenverkehr während einer Bereitstellung auf den aktualisierten Tasksatz umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen.

Anmerkung

Blaue/grüne Bereitstellungen von Amazon ECS werden sowohl als CodeDeploy auch unterstützt. AWS 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-Computing-Plattform verwendet, können Sie die Mindestanzahl fehlerfreier Instances 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/lokale 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 zu Ihrer aktualisierten Lambda-Funktion oder Ihrem aktualisierten ECS-Taskset übertragen wird, und das Intervall in Minuten, bevor der verbleibende Verkehr in der zweiten Stufe 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.

  • A ll-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 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.

Deployment type (Bereitstellungstyp)

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

  • Direkte 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-Computing-Plattform verwenden, können In-Place-Bereitstellungen verwenden. Weitere Informationen zu In-Situ-Bereitstellungen finden Sie unter Überblick über eine direkte Bereitstellung.

  • Blaue/grüne Bereitstellung: Das Verhalten Ihrer Bereitstellung hängt davon ab, welche Rechenplattform Sie verwenden:

    • Blau/Grün auf einer EC2/lokalen Rechenplattform: Die Instances in einer Bereitstellungsgruppe (die ursprüngliche Umgebung) werden mithilfe der folgenden Schritte durch eine andere Gruppe von Instances (die Ersatzumgebung) ersetzt:

      • Instances 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 blaue/grüne Bereitstellungen nur mit Amazon EC2 EC2-Instances funktionieren.

    • Blau/Grün auf einer AWS Lambda oder Amazon ECS-Rechenplattform: Der Datenverkehr wird entsprechend einer kanarischen, linearen oder all-at-onceBereitstellungskonfiguration schrittweise verschoben.

    • Blaue/grüne Bereitstellungen bis AWS CloudFormation: Der Datenverkehr wird im Rahmen eines Stack-Updates von Ihren aktuellen Ressourcen auf Ihre aktualisierten Ressourcen verlagert. AWS CloudFormation Derzeit werden nur ECS-Blau/Grün-Bereitstellungen unterstützt.

    Weitere Informationen zu blauen/grünen Bereitstellungen finden Sie unter Überblick über eine blaue/grüne Bereitstellung.

Anmerkung

Blaue/grüne Bereitstellungen von Amazon ECS werden sowohl mit als auch CodeDeploy unterstützt. AWS CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

IAM-Instance-Profil

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 Datei im YAML- oder JSON-Format, die Informationen über die bereitzustellende Lambda-Funktion angibt. 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 Repositorys gespeichert. GitHub 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.

Servicerolle

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: