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 EC2 Amazon-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, Images und mehr bestehen.

    Bereitstellungen, die die Compute-Plattform EC2 /On-Premises verwenden, verwalten die Art und Weise, wie der Datenverkehr zu den Instanzen geleitet wird, indem sie den Bereitstellungstyp „Direkt“ oder „Blau/Grün“ 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 ECS containerisierte Amazon-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 finden Sie ECS 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

Bereitstellungen von Amazon ECS Blue/Green werden sowohl über als auch CodeDeploy 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 Rechenplattform EC2 /On-Premises verwendet, können Sie die Mindestanzahl fehlerfreier Instanzen für die Bereitstellung angeben. Wenn Ihre Bereitstellung die AWS Lambda oder die ECS Amazon-Rechenplattform verwendet, können Sie angeben, wie der Datenverkehr an Ihre aktualisierte Lambda-Funktion oder Ihren aktualisierten ECS Lambda-Aufgabensatz 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, die die Lambda- oder die ECS Rechenplattform verwendet, weitergeleitet wird:

  • 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 Ihr aktualisiertes ECS Lambda-Aufgabenset ü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.

  • A ll-at-once: Der gesamte Datenverkehr wird auf einmal von der ursprünglichen Lambda-Funktion oder dem ursprünglichen ECS Lambda-Aufgabensatz auf die aktualisierte Funktion oder den aktualisierten Tasksatz umgestellt.

Bereitstellungsgruppe

Eine Bereitstellungsgruppe besteht aus einer Reihe von einzelnen Instanzen. Eine Bereitstellungsgruppe enthält individuell markierte Instances, EC2 Amazon-Instances in Amazon EC2 Auto Scaling Scaling-Gruppen oder beides. Informationen zu EC2 Amazon-Instance-Tags finden Sie unter Verwenden der Konsole mit Tags arbeiten. 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 abgemeldet und nach Abschluss der Bereitstellung wieder betriebsbereit ist. Nur Bereitstellungen, die die Compute-Plattform EC2 /On-Premises verwenden, können direkte 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 /On-Premises-Rechenplattform: Die Instanzen in einer Bereitstellungsgruppe (die ursprüngliche 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 blaue/grüne Bereitstellungen nur mit Amazon-Instances funktionieren. EC2

    • Blau/Grün auf einer ECS Rechenplattform AWS Lambda oder einer Amazon-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 blaue/grüne Bereitstellungen unterstützt.

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

Anmerkung

ECSBlue/Green-Bereitstellungen von Amazon werden sowohl mit als auch CodeDeploy unterstützt. AWS CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

IAM-Instance-Profil

Ein IAMInstance-Profil ist eine IAM Rolle, die Sie Ihren EC2 Amazon-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 EC2 Amazon-Instances.

Revision

Eine Revision ist eine Version Ihrer Anwendung. Eine AWS Lambda-Bereitstellungsrevision ist eine YAML — oder — JSON formatierte Datei, 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 Für Amazon S3 wird eine Revision anhand ihres Amazon S3 S3-Objektschlüssels und ihrer ETag Version oder beidem eindeutig 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 SNS Amazon-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: