View a markdown version of this page

Wie AWS Proton stellt Infrastruktur bereit - AWS Proton

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS endet der Support für AWS Proton. Nach dem 7. Oktober 2026 werden Sie nicht mehr auf die AWS Proton Konsole oder AWS Proton die Ressourcen zugreifen können. Ihre bereitgestellte Infrastruktur bleibt intakt. Weitere Informationen finden Sie im AWS Proton Service Deprecation and Migration Guide.

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.

Wie AWS Proton stellt Infrastruktur bereit

AWS Proton kann Infrastruktur auf eine von mehreren Arten bereitstellen:

  • AWS-managed provisioning — AWS Proton ruft die Provisioning-Engine in Ihrem Namen auf. Diese Methode unterstützt nur AWS CloudFormation Vorlagenpakete. Weitere Informationen finden Sie unter CloudFormation IaC-Dateien.

  • CodeBuild Provisioning — AWS Proton wird verwendet AWS CodeBuild , um von Ihnen bereitgestellte Shell-Befehle auszuführen. Ihre Befehle können Eingaben lesen, die die AWS Proton Infrastruktur bereitstellen und für die Bereitstellung oder Deprovisionierung der Infrastruktur und die Generierung von Ausgabewerten verantwortlich sind. Ein Vorlagenpaket für diese Methode enthält Ihre Befehle in einer Manifestdatei sowie alle Programme, Skripts oder anderen Dateien, die diese Befehle möglicherweise benötigen.

    Als Beispiel für die Verwendung von CodeBuild Provisioning können Sie Code hinzufügen, der die AWS Cloud Development Kit (AWS CDK) zur Bereitstellung von AWS Ressourcen verwendet, und ein Manifest, das das CDK installiert und Ihren CDK-Code ausführt.

    Weitere Informationen finden Sie unter CodeBuild Vorlagenpaket für die Bereitstellung.

    Anmerkung

    Sie können CodeBuild Provisioning mit Umgebungen und Diensten verwenden. Derzeit können Sie Komponenten nicht auf diese Weise bereitstellen.

  • Self-managed Bereitstellung — AWS Proton sendet einen Pull-Request (PR) an ein von Ihnen bereitgestelltes Repository, in dem Ihr eigenes Infrastrukturbereitstellungssystem den Bereitstellungsprozess durchführt. Diese Methode unterstützt nur Terraform-Vorlagenpakete. Weitere Informationen finden Sie unter Terraform-IaC-Dateien.

AWS Proton bestimmt und legt die Bereitstellungsmethode für jede Umgebung und jeden Dienst separat fest. Wenn Sie eine Umgebung oder einen Dienst erstellen oder aktualisieren, AWS Proton prüft das von Ihnen bereitgestellte Vorlagenpaket und bestimmt die im Vorlagenpaket angegebene Bereitstellungsmethode. Auf Umgebungsebene geben Sie die Parameter an, die die Umgebung und ihre potenziellen Dienste möglicherweise für ihre Bereitstellungsmethoden benötigen —AWS Identity and Access Management (IAM-Rollen), eine Verbindung mit einem Umgebungskonto oder ein Infrastruktur-Repository.

Entwickler, die früher AWS Proton einen Dienst bereitgestellt haben, haben unabhängig von der Bereitstellungsmethode dieselbe Erfahrung. Entwickler müssen sich der Bereitstellungsmethode nicht bewusst sein und müssen nichts am Servicebereitstellungsprozess ändern. Die Dienstvorlage legt die Bereitstellungsmethode fest, und jede Umgebung, in der ein Entwickler den Dienst bereitstellt, stellt die erforderlichen Parameter für die Bereitstellung der Dienstinstanz bereit.

Das folgende Diagramm fasst einige Hauptmerkmale der verschiedenen Bereitstellungsmethoden zusammen. Die Abschnitte, die auf die Tabelle folgen, enthalten Einzelheiten zu den einzelnen Methoden.

Methode der Bereitstellung -Vorlagen Bereitgestellt von Status verfolgt von

AWS-verwaltet

Manifest, Schema, IAC-Datei () CloudFormation

AWS Proton (durch CloudFormation)

AWS Proton (durch CloudFormation)

CodeBuild

Manifest (mit Befehlen), Schema, Befehlsabhängigkeiten (z. B. AWS CDK Code)

AWS Proton (durch CodeBuild)

AWS Proton (Ihre Befehle geben den Status durch zurück CodeBuild)

selbstverwaltet

Manifest, Schema, IaC-Dateien (Terraform)

Dein Code (durch Git-Aktionen)

Dein Code (wird AWS durch einen API-Aufruf weitergegeben)

Wie AWS-verwaltete Bereitstellung funktioniert

Wenn eine Umgebung oder ein Dienst AWS-managed Provisioning verwendet, wird die Infrastruktur wie folgt bereitgestellt:

  1. Ein AWS Proton Kunde (ein Administrator oder ein Entwickler) erstellt die AWS Proton Ressource (eine Umgebung oder einen Dienst). Der Kunde wählt eine Vorlage für die Ressource aus und gibt die erforderlichen Parameter an. Weitere Informationen finden Sie im folgenden Abschnitt,Überlegungen für AWS-verwaltete Bereitstellung.

  2. AWS Proton rendert eine vollständige CloudFormation Vorlage für die Bereitstellung der Ressource.

  3. AWS Proton ruft CloudFormation auf, um mit der Bereitstellung mithilfe der gerenderten Vorlage zu beginnen.

  4. AWS Proton überwacht kontinuierlich die CloudFormation Bereitstellung.

  5. Wenn die Bereitstellung abgeschlossen ist, AWS Proton meldet sie im Fehlerfall Fehler und erfasst im Erfolgsfall die Bereitstellungsausgaben wie die Amazon VPC-ID.

Das folgende Diagramm zeigt, dass die meisten dieser Schritte direkt AWS Proton erledigt werden.

Diagramm zur Veranschaulichung der AWS verwalteten Bereitstellung in AWS Proton

Überlegungen für AWS-verwaltete Bereitstellung

  • Rolle „Infrastrukturbereitstellung“ — Wenn eine Umgebung oder eine der darin ausgeführten Dienstinstanzen möglicherweise AWS-managed Provisioning verwendet, muss ein Administrator eine IAM-Rolle konfigurieren (entweder direkt oder als Teil einer Umgebungskontoverbindung). AWS Proton AWS Proton verwendet diese Rolle, um die Infrastruktur dieser AWS verwalteten Bereitstellungsressourcen bereitzustellen. Die Rolle sollte über Berechtigungen verfügen, um alle Ressourcen CloudFormation zu erstellen, die in den Vorlagen dieser Ressourcen enthalten sind.

    Weitere Informationen erhalten Sie unter IAM-Rollen und AWS Proton Beispiele für Richtlinien zur IAM-Dienstrolle.

  • Servicebereitstellung — Wenn ein Entwickler eine Dienstinstanz, die AWS-managed Provisioning verwendet, in der Umgebung bereitstellt, AWS Proton verwendet er die für diese Umgebung bereitgestellte Rolle, um die Infrastruktur für die Dienstinstanz bereitzustellen. Entwickler sehen diese Rolle nicht und können sie nicht ändern.

  • Service mit Pipeline — Eine Service-Vorlage, die AWS-managed Provisioning verwendet, kann eine im CloudFormation YAML-Schema geschriebene Pipeline-Definition enthalten. AWS Proton erstellt die Pipeline auch durch Aufrufen. CloudFormation Die Rolle, die zum Erstellen einer Pipeline AWS Proton verwendet wird, ist von der Rolle für jede einzelne Umgebung getrennt. Diese Rolle wird AWS Proton separat bereitgestellt, nur einmal auf AWS Kontoebene, und sie wird für die Bereitstellung und Verwaltung aller AWS verwalteten Pipelines verwendet. Diese Rolle sollte über Berechtigungen zum Erstellen von Pipelines und anderen Ressourcen verfügen, die Ihre Pipelines benötigen.

    Die folgenden Verfahren zeigen, wie Sie die Pipeline-Rolle für bereitstellen. AWS Proton

    AWS Proton console
    Um die Pipeline-Rolle bereitzustellen
    1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Einstellungen > Kontoeinstellungen aus, und wählen Sie dann Konfigurieren aus.

    2. Verwenden Sie den Abschnitt „Von der Pipeline AWS verwaltete Rolle“, um eine neue oder bestehende Pipeline-Rolle für die von der Pipeline AWS verwaltete Bereitstellung zu konfigurieren.

    AWS Proton API
    Um die Pipeline-Rolle bereitzustellen
    1. Verwenden Sie die UpdateAccountSettings API-Aktion.

    2. Geben Sie im pipelineServiceRoleArn Parameter den Amazon-Ressourcennamen (ARN) Ihrer Pipeline-Servicerolle an.

    AWS CLI

    Um die Pipeline-Rolle bereitzustellen

    Führen Sie den folgenden Befehl aus:

    $ aws proton update-account-settings \ --pipeline-service-role-arn \ "arn:aws:iam::123456789012:role/my-pipeline-role"

Wie CodeBuild funktioniert die Bereitstellung

Wenn eine Umgebung oder ein Dienst CodeBuild Provisioning verwendet, wird die Infrastruktur wie folgt bereitgestellt:

  1. Ein AWS Proton Kunde (ein Administrator oder ein Entwickler) erstellt die AWS Proton Ressource (eine Umgebung oder einen Dienst). Der Kunde wählt eine Vorlage für die Ressource aus und gibt die erforderlichen Parameter an. Weitere Informationen finden Sie im folgenden Abschnitt,Überlegungen zur Bereitstellung CodeBuild.

  2. AWS Proton rendert eine Eingabedatei mit Eingabeparameterwerten für die Bereitstellung der Ressource.

  3. AWS Proton ruft CodeBuild auf, um einen Job zu starten. Der CodeBuild Job führt die in der Vorlage angegebenen Kunden-Shell-Befehle aus. Diese Befehle stellen die gewünschte Infrastruktur bereit und lesen optional Eingabewerte.

  4. Wenn die Bereitstellung abgeschlossen ist, gibt der letzte Kundenbefehl den Bereitstellungsstatus auf zurück CodeBuild und ruft die NotifyResourceDeploymentStatusChange AWS Proton API-Aktion auf, um Ausgaben wie die Amazon VPC-ID bereitzustellen, falls vorhanden.

    Wichtig

    Vergewissern Sie sich, dass Ihre Befehle den Bereitstellungsstatus korrekt an zurückgeben CodeBuild und die Ausgaben bereitstellen. Ist dies nicht der Fall, AWS Proton kann der Bereitstellungsstatus nicht ordnungsgemäß nachverfolgt werden und es können keine korrekten Ausgaben für Service-Instances bereitgestellt werden.

Das folgende Diagramm veranschaulicht die Schritte, die AWS Proton ausgeführt werden, und die Schritte, die Ihre Befehle innerhalb eines CodeBuild Jobs ausführen.

Diagramm zur Veranschaulichung der CodeBuild-based Bereitstellung in AWS Proton

Überlegungen zur Bereitstellung CodeBuild

  • Rolle für die Bereitstellung der Infrastruktur — Wenn eine Umgebung oder eine der darin ausgeführten Dienstinstanzen möglicherweise die CodeBuild-based Bereitstellung verwendet, muss ein Administrator eine IAM-Rolle konfigurieren (entweder direkt oder als Teil einer AWS Proton Umgebungskontoverbindung). AWS Proton verwendet diese Rolle, um die Infrastruktur dieser CodeBuild Bereitstellungsressourcen bereitzustellen. Die Rolle sollte über Berechtigungen verfügen, CodeBuild um alle Ressourcen zu erstellen, die Ihre Befehle in den Vorlagen dieser Ressourcen bereitstellen.

    Weitere Informationen erhalten Sie unter IAM-Rollen und AWS Proton Beispiele für Richtlinien zur IAM-Dienstrolle.

  • Servicebereitstellung — Wenn ein Entwickler eine Dienstinstanz, die die CodeBuild Bereitstellung verwendet, für die Umgebung bereitstellt, AWS Proton verwendet er die für diese Umgebung bereitgestellte Rolle, um die Infrastruktur für die Dienstinstanz bereitzustellen. Entwickler sehen diese Rolle nicht und können sie nicht ändern.

  • Service mit Pipeline — Eine Service-Vorlage, die CodeBuild Provisioning verwendet, kann Befehle zur Bereitstellung einer Pipeline enthalten. AWS Proton erstellt die Pipeline auch durch Aufrufen CodeBuild. Die Rolle, die zum Erstellen einer Pipeline AWS Proton verwendet wird, ist von der Rolle für jede einzelne Umgebung getrennt. Diese Rolle wird AWS Proton separat bereitgestellt, nur einmal auf AWS Kontoebene, und sie wird für die Bereitstellung und Verwaltung aller CodeBuild-based Pipelines verwendet. Diese Rolle sollte über Berechtigungen zum Erstellen von Pipelines und anderen Ressourcen verfügen, die Ihre Pipelines benötigen.

    Die folgenden Verfahren zeigen, wie Sie die Pipeline-Rolle für bereitstellen. AWS Proton

    AWS Proton console
    Um die Pipeline-Rolle bereitzustellen
    1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Einstellungen > Kontoeinstellungen und dann Konfigurieren aus.

    2. Verwenden Sie den Abschnitt Codebuild-Pipeline-Bereitstellungsrolle, um eine neue oder vorhandene Pipeline-Rolle für CodeBuild die Bereitstellung zu konfigurieren.

    AWS Proton API
    Um die Pipeline-Rolle bereitzustellen
    1. Verwenden Sie die UpdateAccountSettings API-Aktion.

    2. Geben Sie im pipelineCodebuildRoleArn Parameter den Amazon-Ressourcennamen (ARN) Ihrer Pipeline-Servicerolle an.

    AWS CLI

    Um die Pipeline-Rolle bereitzustellen

    Führen Sie den folgenden Befehl aus:

    $ aws proton update-account-settings \ --pipeline-codebuild-role-arn \ "arn:aws:iam::123456789012:role/my-pipeline-role"

So funktioniert die selbstverwaltete Bereitstellung

Wenn eine Umgebung für die Verwendung von selbstverwalteter Bereitstellung konfiguriert ist, wird die Infrastruktur wie folgt bereitgestellt:

  1. Ein AWS Proton Kunde (ein Administrator oder ein Entwickler) erstellt die AWS Proton Ressource (eine Umgebung oder einen Dienst). Der Kunde wählt eine Vorlage für die Ressource aus und gibt die erforderlichen Parameter an. Für eine Umgebung stellt der Kunde auch ein verknüpftes Infrastruktur-Repository bereit. Weitere Informationen finden Sie im folgenden Abschnitt,Überlegungen zur selbstverwalteten Bereitstellung.

  2. AWS Proton rendert eine vollständige Terraform-Vorlage. Sie besteht aus einer oder mehreren Terraform-Dateien, möglicherweise in mehreren Ordnern, und einer Variablendatei. .tfvars AWS Proton schreibt die beim Aufruf zur Ressourcenerstellung angegebenen Parameterwerte in diese Variablendatei.

  3. AWS Proton sendet eine PR mit der gerenderten Terraform-Vorlage an das Infrastruktur-Repository.

  4. Wenn der Kunde (Administrator oder Entwickler) die PR zusammenführt, veranlasst die Automatisierung des Kunden, dass die Bereitstellungs-Engine mit der Bereitstellung der Infrastruktur mithilfe der zusammengeführten Vorlage beginnt.

    Anmerkung

    Wenn der Kunde (Administrator oder Entwickler) die PR schließt, AWS Proton erkennt er die PR als abgeschlossen und markiert die Bereitstellung als storniert.

  5. Wenn die Bereitstellung abgeschlossen ist, ruft die Automatisierung des Kunden die NotifyResourceDeploymentStatusChange AWS Proton API-Aktion auf, um den Abschluss anzuzeigen, den Status (erfolgreich oder nicht erfolgreich) anzugeben und Ausgaben wie die Amazon VPC-ID bereitzustellen, falls vorhanden.

    Wichtig

    Stellen Sie sicher, dass Ihr Automatisierungscode AWS Proton mit dem Bereitstellungsstatus und den Ausgaben wieder aufgerufen wird. Ist dies nicht der Fall, wird die Bereitstellung AWS Proton möglicherweise länger als nötig als ausstehend betrachtet und es wird weiterhin der Status In Bearbeitung angezeigt.

Das folgende Diagramm veranschaulicht die Schritte, die durchgeführt werden, und die Schritte, die Ihr eigenes Bereitstellungssystem AWS Proton ausführt.

Diagramm zur Veranschaulichung der selbstverwalteten Bereitstellung in AWS Proton

Überlegungen zur selbstverwalteten Bereitstellung

  • Infrastruktur-Repository — Wenn ein Administrator eine Umgebung für die selbstverwaltete Bereitstellung konfiguriert, muss er ein verknüpftes Infrastruktur-Repository bereitstellen. AWS Proton übermittelt PRs an dieses Repository, um die Infrastruktur der Umgebung und alle darin bereitgestellten Service-Instanzen bereitzustellen. Die kundeneigene Automatisierungsaktion im Repository sollte eine IAM-Rolle mit Berechtigungen zum Erstellen aller Ressourcen übernehmen, die in Ihrer Umgebung und Ihren Servicevorlagen enthalten sind, und einer Identität, die das Zielkonto widerspiegelt. AWS Ein Beispiel für eine GitHub Aktion, die eine Rolle annimmt, finden Sie unter Übernahme einer Rolle in der Dokumentation zur Aktion „ AWS Anmeldeinformationen konfigurieren“ für GitHub Aktionen.

  • Berechtigungen — Ihr Bereitstellungscode muss sich bei Bedarf bei einem Konto authentifizieren (z. B. bei einem AWS Konto authentifizieren) und die Autorisierung für die Ressourcenbereitstellung gewähren (z. B. eine Rolle angeben).

  • Servicebereitstellung — Wenn ein Entwickler eine Dienstinstanz, die die selbstverwaltete Bereitstellung verwendet, für die Umgebung bereitstellt, AWS Proton sendet er eine PR an das Repository, das der Umgebung zugeordnet ist, um die Infrastruktur für die Dienstinstanz bereitzustellen. Entwickler sehen das Repository nicht und können es nicht ändern.

    Anmerkung

    Entwickler, die Dienste erstellen, verwenden unabhängig von der Bereitstellungsmethode den gleichen Prozess, und der Unterschied wird von ihnen abstrahiert. Bei selbstverwalteter Bereitstellung reagieren Entwickler jedoch möglicherweise langsamer, da sie warten müssen, bis jemand (der möglicherweise nicht sie selbst ist) die PR im Infrastruktur-Repository zusammenführt, bevor die Bereitstellung beginnen kann.

  • Service mit Pipeline — Eine Service-Vorlage für eine Umgebung mit selbstverwalteter Bereitstellung kann eine Pipeline-Definition (z. B. eine AWS CodePipeline Pipeline) enthalten, die in Terraform HCL geschrieben ist. Um die Bereitstellung dieser Pipelines AWS Proton zu ermöglichen, stellt ein Administrator ein verknüpftes Pipeline-Repository für bereit. AWS Proton Bei der Bereitstellung einer Pipeline sollte die kundeneigene Automatisierungsaktion im Repository eine IAM-Rolle mit Berechtigungen zur Bereitstellung der Pipeline und einer Identität übernehmen, die das Zielkonto widerspiegelt. AWS Das Pipeline-Repository und die Rolle sind von denen getrennt, die für jede einzelne Umgebung verwendet werden. Das verknüpfte Repository wird AWS Proton separat bereitgestellt, nur einmal auf AWS Kontoebene, und es wird für die Bereitstellung und Verwaltung aller Pipelines verwendet. Die Rolle sollte über Berechtigungen zum Erstellen von Pipelines und anderen Ressourcen verfügen, die Ihre Pipelines benötigen.

    Die folgenden Verfahren zeigen, wie Sie das Pipeline-Repository und die Rolle für bereitstellen. AWS Proton

    AWS Proton console
    Um die Pipeline-Rolle bereitzustellen
    1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Einstellungen > Kontoeinstellungen und dann Konfigurieren aus.

    2. Verwenden Sie den Abschnitt CI/CD Pipeline-Repository, um einen neuen oder vorhandenen Repository-Link zu konfigurieren.

    AWS Proton API
    Um die Pipeline-Rolle bereitzustellen
    1. Verwenden Sie die UpdateAccountSettings API-Aktion.

    2. Geben Sie im pipelineProvisioningRepository Parameter den Anbieter, den Namen und den Zweig Ihres Pipeline-Repositorys an.

    AWS CLI

    Um die Pipeline-Rolle bereitzustellen

    Führen Sie den folgenden Befehl aus:

    $ aws proton update-account-settings \ --pipeline-provisioning-repository \ "provider=GITHUB,name=my-pipeline-repo-name,branch=my-branch"
  • Löschen von selbst verwalteten bereitgestellten Ressourcen — Terraform-Module können zusätzlich zu den Ressourcendefinitionen Konfigurationselemente enthalten, die für den Terraform-Betrieb erforderlich sind. Daher AWS Proton können nicht alle Terraform-Dateien für eine Umgebung oder eine Dienstinstanz gelöscht werden. AWS Proton Markiert stattdessen die Dateien zum Löschen und aktualisiert eine Markierung in den PR-Metadaten. Ihre Automatisierung kann dieses Flag lesen und es verwenden, um einen Terraform-Zerstörungsbefehl auszulösen.