Erstellen einer Umgebung - AWS Proton

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.

Erstellen einer Umgebung

Lernen Sie, AWS Proton Umgebungen zu erstellen.

Sie können eine AWS Proton Umgebung auf zwei Arten erstellen:
  • Mithilfe einer Standardumgebungsvorlage können Sie eine Standardumgebung erstellen, verwalten und bereitstellen. AWS Proton stellt die Infrastruktur für Ihre Umgebung bereit.

  • Stellen Sie mithilfe einer AWS Proton Vorlage für eine vom Kunden verwaltete Umgebung eine Connect zur vom Kunden verwalteten Infrastruktur her. Sie stellen Ihre eigenen gemeinsam genutzten Ressourcen außerhalb von bereit und stellen dann Bereitstellungsausgaben bereit AWS Proton, die AWS Proton verwendet werden können.

Beim Erstellen einer Umgebung können Sie einen von mehreren Bereitstellungsansätzen wählen.
  • AWS verwaltete Bereitstellung — Erstellen, verwalten und bereitstellen Sie eine Umgebung in einem einzigen Konto. AWS Proton stellt Ihre Umgebung bereit.

    Diese Methode unterstützt nur Vorlagen CloudFormation für Infrastrukturcode (IaC).

  • AWS verwaltete Bereitstellung für ein anderes Konto — Erstellen und verwalten Sie in einem einzigen Verwaltungskonto eine Umgebung, die in einem anderen Konto mit Verbindungen zu Umgebungskonten bereitgestellt wird. AWS Proton stellt Ihre Umgebung in dem anderen Konto bereit. Weitere Informationen finden Sie unter Erstellen Sie eine Umgebung in einem Konto und stellen Sie sie in einem anderen Konto bereit und Verbindungen zu Umgebungskonten.

    Diese Methode unterstützt nur CloudFormation IaC-Vorlagen.

  • Selbstverwaltete Bereitstellung — AWS Proton sendet Bereitstellungs-Pull-Anfragen an ein verknüpftes Repository mit Ihrer eigenen Bereitstellungsinfrastruktur.

    Diese Methode unterstützt nur Terraform IaC-Vorlagen.

  • CodeBuild Bereitstellung — AWS Proton verwendet, AWS CodeBuild um von Ihnen bereitgestellte Shell-Befehle auszuführen. Ihre Befehle können Eingaben lesen, die die Infrastruktur bereitstellen, und sind für die AWS Proton Bereitstellung oder Deprovisionierung der Infrastruktur und die Generierung von Ausgabewerten verantwortlich. 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 den Code installiert CDK und Ihren CDK Code ausführt.

    Weitere Informationen finden Sie unter CodeBuild Bereitstellungsvorlagen-Bundle.

    Anmerkung

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

Bei der AWS verwalteten Bereitstellung (sowohl für dasselbe Konto als auch für ein anderes Konto) werden AWS Proton direkte Aufrufe zur Bereitstellung Ihrer Ressourcen getätigt.

Bei der selbstverwalteten Bereitstellung werden Pull-Anfragen gestellt AWS Proton , um kompilierte IaC-Dateien bereitzustellen, die Ihre IaC-Engine zur Bereitstellung von Ressourcen verwendet.

Weitere Informationen finden Sie unter Wie stellt AWS Proton die Infrastruktur bereit, Vorlagenpakete und Schemaanforderungen für Umgebungsvorlagenpakete.

Erstellen Sie eine Standardumgebung und stellen Sie sie in demselben Konto bereit

Verwenden Sie die Konsole oder AWS CLI um eine Umgebung in einem einzigen Konto zu erstellen und bereitzustellen. Die Bereitstellung wird verwaltet von AWS.

AWS Management Console
Verwenden Sie die Konsole, um eine Umgebung in einem einzigen Konto zu erstellen und bereitzustellen
  1. Wählen Sie in der AWS Proton Konsole Umgebungen aus.

  2. Wählen Sie Create environment (Umgebung erstellen) aus.

  3. Wählen Sie auf der Seite Umgebungsvorlage auswählen eine Vorlage aus und klicken Sie auf Konfigurieren.

  4. Wählen Sie auf der Seite Umgebung konfigurieren im Abschnitt Provisioning die Option AWS Managed Provisioning aus.

  5. Wählen Sie im Abschnitt Bereitstellungskonto die Option Dies aus. AWS-Konto

  6. Geben Sie auf der Seite Umgebung konfigurieren im Abschnitt Umgebungseinstellungen einen Umgebungsnamen ein.

  7. (Optional) Geben Sie eine Beschreibung für die Umgebung ein.

  8. Wählen Sie im Abschnitt Umgebungsrollen die AWS Proton Servicerolle aus, die Sie als Teil von erstellt habenServicerollen einrichten AWS Proton.

  9. (Optional) Wählen Sie im Abschnitt Komponentenrolle eine Servicerolle aus, die die Ausführung direkt definierter Komponenten in der Umgebung ermöglicht und den Umfang der Ressourcen, die sie bereitstellen können, begrenzt. Weitere Informationen finden Sie unter AWS Proton-Komponenten.

  10. (Optional) Wählen Sie im Abschnitt „Tags“ die Option Neues Tag hinzufügen aus und geben Sie einen Schlüssel und einen Wert ein, um ein vom Kunden verwaltetes Tag zu erstellen.

  11. Wählen Sie Weiter aus.

  12. Auf der Seite Benutzerdefinierte Umgebungseinstellungen konfigurieren müssen Sie Werte für die required Parameter eingeben. Sie können Werte für die optional Parameter eingeben oder die Standardwerte verwenden, sofern diese angegeben sind.

  13. Wählen Sie Weiter und überprüfen Sie Ihre Eingaben.

  14. Wählen Sie Erstellen.

    Sehen Sie sich die Umgebungsdetails und den Status sowie die AWS verwalteten und vom Kunden verwalteten Tags für Ihre Umgebung an.

  15. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus.

    Auf einer neuen Seite wird eine Liste Ihrer Umgebungen zusammen mit dem Status und anderen Umgebungsdetails angezeigt.

AWS CLI

Verwenden Sie die AWS CLI , um eine Umgebung in einem einzigen Konto zu erstellen und bereitzustellen.

Um eine Umgebung zu erstellen, geben Sie die AWS Proton DienstrolleARN, den Pfad zu Ihrer Spezifikationsdatei, den Umgebungsnamen, die UmgebungsvorlageARN, die Haupt- und Nebenversionen sowie eine Beschreibung (optional) an.

Die nächsten Beispiele zeigen eine YAML formatierte Spezifikationsdatei, die Werte für zwei Eingaben angibt, die in der Schemadatei der Umgebungsvorlage definiert sind. Sie können den get-environment-template-minor-version Befehl verwenden, um das Umgebungsvorlagenschema anzuzeigen.

proton: EnvironmentSpec spec: my_sample_input: "the first" my_other_sample_input: "the second"

Erstellen Sie eine Umgebung, indem Sie den folgenden Befehl ausführen.

$ aws proton create-environment \ --name "MySimpleEnv" \ --template-name simple-env \ --template-major-version 1 \ --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \ --spec "file://env-spec.yaml"

Antwort:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2020-11-11T23:03:05.405000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2020-11-11T23:03:05.405000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/ProtonServiceRole", "templateName": "simple-env" } }

Nachdem Sie eine neue Umgebung erstellt haben, können Sie eine Liste mit AWS und vom Kunden verwalteten Tags anzeigen, wie im folgenden Beispielbefehl gezeigt. AWS Proton generiert automatisch AWS verwaltete Tags für Sie. Mit dem können Sie auch vom Kunden verwaltete Tags ändern und erstellen AWS CLI. Weitere Informationen finden Sie unter AWS ProtonRessourcen und Tagging.

Befehl:

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv"

Erstellen Sie eine Umgebung in einem Konto und stellen Sie sie in einem anderen Konto bereit

Verwenden Sie die Konsole oder AWS CLI um eine Standardumgebung in einem Verwaltungskonto zu erstellen, das die Umgebungsinfrastruktur in einem anderen Konto bereitstellt. Die Bereitstellung wird verwaltet von AWS.

Führen Sie die folgenden Schritte ausCLI, bevor Sie die Konsole oder verwenden.
  1. Identifizieren Sie das AWS-Konto IDs Verwaltungs- und Umgebungskonto und kopieren Sie es für die spätere Verwendung.

  2. Erstellen Sie im Umgebungskonto eine AWS Proton Servicerolle mit Mindestberechtigungen für die zu erstellende Umgebung. Weitere Informationen finden Sie unter AWS Proton Servicerolle für die Bereitstellung mit AWS CloudFormation.

AWS Management Console
Verwenden Sie die Konsole, um eine Umgebung in einem Konto zu erstellen und in einem anderen bereitzustellen.
  1. Erstellen Sie im Umgebungskonto eine Verbindung mit dem Umgebungskonto und senden Sie damit eine Anfrage zur Verbindung mit dem Verwaltungskonto.
    1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich die Option Environment account connections aus.

    2. Wählen Sie auf der Seite Verbindungen zu Umgebungskonten die Option Verbindungsanfrage aus.

      Anmerkung

      Vergewissern Sie sich, dass die Konto-ID, die in der Überschrift der Seite „Verbindung mit dem Umgebungskonto“ aufgeführt ist, mit Ihrer vorab identifizierten Umgebungskonto-ID übereinstimmt.

    3. Wählen Sie auf der Seite Verbindungsanfrage im Abschnitt Umgebungsrolle die Option Bestehende Servicerolle und den Namen der Servicerolle aus, die Sie für die Umgebung erstellt haben.

    4. Geben Sie im Abschnitt Mit Verwaltungskonto verbinden die Verwaltungskonto-ID und einen Umgebungsnamen für Ihre AWS Proton Umgebung ein. Kopieren Sie den Namen für die spätere Verwendung.

    5. Wählen Sie unten rechts auf der Seite Verbindungsanfrage aus.

    6. Ihre Anfrage wird in der Tabelle Environment-Verbindungen, die an ein Verwaltungskonto gesendet wurden, als ausstehend angezeigt. In einem Modalfenster wird gezeigt, wie Sie die Anfrage vom Verwaltungskonto annehmen können.

  2. Akzeptieren Sie im Verwaltungskonto eine Verbindungsanfrage vom Umgebungskonto aus.
    1. Melden Sie sich bei Ihrem Verwaltungskonto an und wählen Sie in der AWS Proton Konsole Environment Account Connections aus.

    2. Wählen Sie auf der Seite Verbindungen zu Umgebungskonten in der Tabelle Verbindungsanfragen für Umgebungskonten die Umgebungskontoverbindung mit der Umgebungskonto-ID aus, die Ihrer vorab identifizierten Umgebungskonto-ID entspricht.

      Anmerkung

      Vergewissern Sie sich, dass die Konto-ID, die in der Überschrift Verbindungsseite für das Umweltkonto aufgeführt ist, mit Ihrer vorab identifizierten Verwaltungskonto-ID übereinstimmt.

    3. Wählen Sie Accept (Akzeptieren) aus. Der Status ändert sich von PENDING zuCONNECTED.

  3. Erstellen Sie im Verwaltungskonto eine Umgebung.
    1. Wählen Sie im Navigationsbereich die Option Umgebungsvorlagen aus.

    2. Wählen Sie auf der Seite Umgebungsvorlagen die Option Umgebungsvorlage erstellen aus.

    3. Wählen Sie auf der Seite Umgebungsvorlage auswählen eine Umgebungsvorlage aus.

    4. Wählen Sie auf der Seite Umgebung konfigurieren im Abschnitt Provisioning die Option AWS Managed Provisioning aus.

    5. Wählen Sie im Abschnitt Bereitstellungskonto die Option Anderes AWS Konto; aus.

    6. Wählen Sie im Abschnitt Umgebungsdetails die Verbindung Ihres Umgebungskontos und den Umgebungsnamen aus.

    7. Wählen Sie Weiter aus.

    8. Füllen Sie die Formulare aus und klicken Sie auf Weiter, bis Sie zur Seite Überprüfen und Erstellen gelangen.

    9. Überprüfen Sie und wählen Sie Umgebung erstellen.

AWS CLI

Verwenden Sie die AWS CLI , um eine Umgebung in einem Konto zu erstellen und in einem anderen bereitzustellen.

Erstellen Sie im Umgebungskonto eine Verbindung mit dem Umgebungskonto und fordern Sie die Verbindung an, indem Sie den folgenden Befehl ausführen.

$ aws proton create-environment-account-connection \ --environment-name "simple-env-connected" \ --role-arn "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" \ --management-account-id "111111111111"

Antwort:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "PENDING" } }

Akzeptieren Sie im Verwaltungskonto die Verbindungsanfrage für das Umgebungskonto, indem Sie den folgenden Befehl ausführen.

$ aws proton accept-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Antwort:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

Zeigen Sie die Verbindung Ihres Umgebungskontos an, indem Sie den folgenden Befehl ausführen.

$ aws proton get-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Antwort:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

Erstellen Sie im Verwaltungskonto eine Umgebung, indem Sie den folgenden Befehl ausführen.

$ aws proton create-environment \ --name "simple-env-connected" \ --template-name simple-env-template \ --template-major-version "1" \ --template-minor-version "1" \ --spec "file://simple-env-template/specs/original.yaml" \ --environment-account-connection-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Antwort:

{ "environment": { "arn": "arn:aws:proton:region-id:111111111111:environment/simple-env-connected", "createdAt": "2021-04-28T23:02:57.944000+00:00", "deploymentStatus": "IN_PROGRESS", "environmentAccountConnectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "lastDeploymentAttemptedAt": "2021-04-28T23:02:57.944000+00:00", "name": "simple-env-connected", "templateName": "simple-env-template" } }

Erstellen Sie eine Umgebung mithilfe von selbstverwalteter Bereitstellung und stellen Sie sie bereit

Wenn Sie die selbstverwaltete Bereitstellung verwenden, werden Bereitstellungs-Pull-Anfragen an ein verknüpftes Repository mit Ihrer eigenen Bereitstellungsinfrastruktur AWS Proton gesendet. Die Pull Requests starten Ihren eigenen Workflow, der AWS Dienste aufruft, um die Infrastruktur bereitzustellen.

Überlegungen zur selbstverwalteten Bereitstellung:
  • Bevor Sie eine Umgebung erstellen, richten Sie ein Repository-Ressourcenverzeichnis für die selbstverwaltete Bereitstellung ein. Weitere Informationen finden Sie unter AWS Proton Infrastructure as Code-Dateien.

  • AWS Proton Wartet nach dem Erstellen der Umgebung auf asynchrone Benachrichtigungen zum Status Ihrer Infrastrukturbereitstellung. Ihr Bereitstellungscode muss den verwenden, um diese asynchronen AWS Proton NotifyResourceStateChange API Benachrichtigungen an zu senden. AWS Proton

Sie können die selbstverwaltete Bereitstellung in der Konsole oder mit dem verwenden. AWS CLI Die folgenden Beispiele zeigen, wie Sie die selbstverwaltete Bereitstellung mit Terraform verwenden können.

AWS Management Console
Verwenden Sie die Konsole, um mithilfe von selbstverwalteter Bereitstellung eine Terraform-Umgebung zu erstellen.
  1. Wählen Sie in der AWS Proton Konsole Umgebungen aus.

  2. Wählen Sie Create environment (Umgebung erstellen) aus.

  3. Wählen Sie auf der Seite Umgebungsvorlage auswählen eine Terraform-Vorlage aus und klicken Sie auf Konfigurieren.

  4. Wählen Sie auf der Seite Umgebung konfigurieren im Abschnitt Provisioning die Option Selbstverwaltete Bereitstellung aus.

  5. Gehen Sie im Abschnitt Details zum Bereitstellungs-Repository wie folgt vor:

    1. Wenn Sie Ihr Provisioning-Repository noch nicht mit verknüpft haben AWS Proton, wählen Sie Neues Repository, wählen Sie einen der Repository-Anbieter und dann als CodeStarVerbindung eine Ihrer Verbindungen aus.

      Anmerkung

      Wenn Sie noch keine Verbindung zum entsprechenden Repository-Anbieter-Konto haben, wählen Sie Neue CodeStar Verbindung hinzufügen aus. Stellen Sie dann eine Verbindung her und klicken Sie dann auf die Schaltfläche „Aktualisieren“ neben dem CodeStar Verbindungsmenü. Sie sollten jetzt in der Lage sein, Ihre neue Verbindung im Menü auszuwählen.

      Wenn du dein Repository bereits mit verknüpft hast AWS Proton, wähle Bestehendes Repository.

    2. Wählen Sie als Repository-Name ein Repository aus. Im Dropdownmenü werden verknüpfte Repositorys für Bestehendes Repository oder die Liste der Repositorys im Anbieterkonto für Neues Repository angezeigt.

    3. Wählen Sie als Branch-Name einen der Repository-Branches aus.

  6. Geben Sie im Abschnitt Umgebungseinstellungen einen Umgebungsnamen ein.

  7. (Optional) Geben Sie eine Beschreibung für die Umgebung ein.

  8. (Optional) Wählen Sie im Abschnitt „Tags“ die Option Neues Tag hinzufügen aus und geben Sie einen Schlüssel und einen Wert ein, um ein vom Kunden verwaltetes Tag zu erstellen.

  9. Wählen Sie Weiter aus.

  10. Auf der Seite Benutzerdefinierte Umgebungseinstellungen konfigurieren müssen Sie Werte für die required Parameter eingeben. Sie können Werte für die optional Parameter eingeben oder die Standardwerte verwenden, sofern diese angegeben sind.

  11. Wählen Sie Weiter und überprüfen Sie Ihre Eingaben.

  12. Wähle Erstellen, um eine Pull-Anfrage zu senden.

    • Wenn Sie die Pull-Anfrage genehmigen, ist die Bereitstellung im Gange.

    • Wenn Sie die Pull-Anfrage ablehnen, wird die Erstellung der Umgebung abgebrochen.

    • Wenn bei der Pull-Anfrage ein Timeout auftritt, ist die Erstellung der Umgebung nicht abgeschlossen.

  13. Sehen Sie sich die Umgebungsdetails und den Status sowie die AWS verwalteten und vom Kunden verwalteten Tags für Ihre Umgebung an.

  14. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus.

    Auf einer neuen Seite wird eine Liste Ihrer Umgebungen zusammen mit dem Status und anderen Umgebungsdetails angezeigt.

AWS CLI

Wenn Sie eine Umgebung mithilfe von Self-Managed Provisioning erstellen, fügen Sie den provisioningRepository Parameter hinzu und lassen die Parameter und weg. ProtonServiceRoleArn environmentAccountConnectionId

Verwenden Sie den AWS CLI , um eine Terraform-Umgebung mit selbstverwalteter Bereitstellung zu erstellen.
  1. Erstellen Sie eine Umgebung und senden Sie eine Pull-Anfrage zur Überprüfung und Genehmigung an das Repository.

    Das nächste Beispiel zeigt eine YAML formatierte Spezifikationsdatei, die die Werte für zwei Eingaben auf der Grundlage der Schemadatei der Umgebungsvorlage definiert. Sie können den get-environment-template-minor-version Befehl verwenden, um das Umgebungsvorlagenschema anzuzeigen.

    Spezifikation:

    proton: EnvironmentSpec spec: ssm_parameter_value: "test"

    Erstellen Sie eine Umgebung, indem Sie den folgenden Befehl ausführen.

    $ aws proton create-environment \ --name "pr-environment" \ --template-name "pr-env-template" \ --template-major-version "1" \ --provisioning-repository="branch=main,name=myrepos/env-repo,provider=GITHUB" \ --spec "file://env-spec.yaml"

    Antwort: >

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T17:06:58.679000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T17:06:58.679000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "templateName": "pr-env-template" }
  2. Überprüfen Sie die Anfrage.

    • Wenn Sie die Anfrage genehmigen, ist die Bereitstellung im Gange.

    • Wenn Sie die Anfrage ablehnen, wird die Erstellung der Umgebung abgebrochen.

    • Wenn bei der Pull-Anfrage ein Timeout auftritt, ist die Erstellung der Umgebung nicht abgeschlossen.

  3. Geben Sie asynchron den Bereitstellungsstatus an. AWS Proton Das folgende Beispiel informiert über eine erfolgreiche AWS Proton Bereitstellung.

    $ aws proton notify-resource-deployment-status-change \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \ --status "SUCCEEDED"