Stellen Sie eine Anwendung in einem anderen AWS Konto bereit - 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.

Stellen Sie eine Anwendung in einem anderen AWS Konto bereit

Organizations haben in der Regel mehrere AWS Konten, die sie für unterschiedliche Zwecke verwenden (z. B. eines für Systemverwaltungsaufgaben und eines für Entwicklungs-, Test- und Produktionsaufgaben oder eines für Entwicklungs- und Testumgebungen und ein anderes für die Produktionsumgebung).

Sie können zwar ähnliche Arbeiten in verschiedenen Konten ausführen, aber CodeDeploy Bereitstellungsgruppen und die Amazon EC2 EC2-Instances, für die sie bereitgestellt werden, sind strikt an die Konten gebunden, unter denen sie erstellt wurden. Sie können z. B. keine Instance, die Sie in einem Konto gestartet haben, zu einer Bereitstellungsgruppe in einem anderen Konto hinzufügen.

Nehmen wir an, Sie haben zwei AWS Konten: Ihr Entwicklungskonto und Ihr Produktionskonto. Sie arbeiten in erster Linie mit dem Entwicklungskonto, aber Sie wollen in der Lage sein, Bereitstellungen in Ihrem Produktionskonto zu starten, ohne eine umfassende Palette von Anmeldeinformationen und ohne dass Sie sich beim Entwicklungskonto abmelden und beim Produktionskonto wieder anmelden.

Nach dem Durchlaufen der kontoübergreifenden Konfigurationsschritte können Sie Bereitstellungen initiieren, die von einem anderen Konto Ihrer Organisation stammen, ohne dass Sie vollständige Anmeldedaten für das andere Konto benötigen. Sie tun dies teilweise, indem Sie eine von AWS Security Token Service (AWS STS) bereitgestellte Funktion nutzen, die Ihnen temporären Zugriff auf dieses Konto gewährt.

Schritt 1: Erstellen Sie in einem der Konten einen S3-Bucket

Gehen Sie im Entwicklungskonto oder im Produktionskonto wie folgt vor:

  • Falls Sie dies noch nicht getan haben, erstellen Sie einen Amazon S3 S3-Bucket, in dem die Anwendungsrevisionen für das Produktionskonto gespeichert werden. Weitere Informationen finden Sie unter Erstellen eines Buckets in Amazon S3. Sie können auch dieselben Buckets und Anwendungsrevisionen für beide Konten verwenden, unter Bereitstellung der gleichen Dateien in der Produktionsumgebung, die Sie in Ihrem Entwicklungskonto getestet und verifiziert haben.

Schritt 2: Erteilen Sie Amazon S3 S3-Bucket-Berechtigungen für das IAM-Instance-Profil des Produktionskontos

Wenn sich der Amazon S3 S3-Bucket, den Sie in Schritt 1 erstellt haben, in Ihrem Produktionskonto befindet, ist dieser Schritt nicht erforderlich. Die Rolle, die Sie später übernehmen, hat bereits Zugriff auf diesen Bucket, da sie sich auch im Produktionskonto befindet.

Wenn Sie den Amazon S3 S3-Bucket im Entwicklungskonto erstellt haben, gehen Sie wie folgt vor:

  • Erstellen Sie im Produktionskonto ein IAM-Instance-Profil. Weitere Informationen finden Sie unter Schritt 4: Erstellen Sie ein IAM Instance-Profil für Ihre EC2 Amazon-Instances.

    Anmerkung

    Notieren Sie sich den ARN für dieses IAM-Instanzprofil. Sie müssen ihn zur Bucket-übergreifenden Richtlinie hinzufügen, die Sie im nächsten Schritt erstellen.

  • Geben Sie im Entwicklungskonto dem IAM-Instance-Profil, das Sie gerade in Ihrem Produktionskonto erstellt haben, Zugriff auf den Amazon S3 S3-Bucket, den Sie im Entwicklungskonto erstellt haben. Weitere Informationen finden Sie unter Beispiel 2: Bucket-Besitzer, der kontoübergreifende Bucket-Berechtigungen gewährt.

    Beachten Sie Folgendes, wenn Sie kontenübergreifende Bucket-Berechtigungen erteilen:

    • In der Beispielanleitung stellt Konto A Ihr Entwicklungskonto und Konto B Ihr Produktionskonto dar.

    • Wenn Sie Aufgaben für das Konto A (Entwicklungskonto) durchführen, ändern Sie die folgende Bucket-Richtlinie, um kontenübergreifende Berechtigungen zu erteilen, statt die Musterrichtlinie in der schrittweisen Anleitung zu verwenden.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Cross-account permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/role-name" }, "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::bucket-name/*" ] } ] }

      Account-ID steht für die Kontonummer des Produktionskontos, mit dem Sie gerade das IAM-Instanzprofil erstellt haben.

      Rollenname steht für den Namen des IAM-Instanzprofils, das Sie gerade erstellt haben.

      bucket-name steht für den Namen des Buckets, den Sie in Schritt 1 erstellt haben. Stellen Sie sicher, dass Sie /* nach dem Namen des Buckets einfügen, um den Zugriff auf alle Dateien im Bucket zu ermöglichen.

Schritt 3: Erstellen Sie Ressourcen und eine kontoübergreifende Rolle im Produktionskonto

In Ihrem Produktionskonto:

  • Erstellen Sie Ihre CodeDeploy Ressourcen — Anwendung, Bereitstellungsgruppe, Bereitstellungskonfiguration, Amazon EC2 EC2-Instances, Amazon EC2 EC2-Instance-Profil, Servicerolle usw. — mithilfe der Anweisungen in diesem Handbuch.

  • Erstellen Sie eine zusätzliche Rolle, eine kontoübergreifende IAM-Rolle, die ein Benutzer in Ihrem Entwicklungskonto übernehmen kann, um CodeDeploy Vorgänge in diesem Produktionskonto auszuführen.

    Verwenden Sie die Anleitung Exemplarische Vorgehensweise: AWS Kontoübergreifendes Delegieren des Zugriffs mithilfe von IAM-Rollen als Leitfaden für die Erstellung der kontenübergreifenden Rolle. Anstatt die Beispielberechtigungen aus der exemplarischen Vorgehensweise Ihrem Richtliniendokument hinzuzufügen, sollten Sie der Rolle mindestens die folgenden beiden AWS bereitgestellten Richtlinien beifügen:

    • AmazonS3FullAccess: Nur erforderlich, wenn der S3-Bucket sich im Entwicklungskonto befindet. Bietet der Rolle des angenommenen Produktionskontos vollen Zugriff auf die Amazon S3 S3-Services und -Ressourcen im Entwicklungskonto, in dem die Revision gespeichert ist.

    • AWSCodeDeployDeployerAccess: Ermöglicht es einem Benutzer, Revisionen zu registrieren und bereitzustellen.

    Wenn Sie Bereitstellungsgruppen erstellen und verwalten möchten und nicht nur Bereitstellungen starten möchten, fügen Sie die Richtlinie AWSCodeDeployFullAccess anstelle der Richtlinie AWSCodeDeployDeployerAccess hinzu. Weitere Informationen zur Verwendung von IAM-verwalteten Richtlinien zur Gewährung von Berechtigungen für CodeDeploy Aufgaben finden Sie unter. AWS verwaltete (vordefinierte) Richtlinien für CodeDeploy

    Sie können zusätzliche Richtlinien zum Durchführen von Aufgaben in anderen AWS -Services mithilfe dieser kontoübergreifenden Rolle hinzufügen.

Wichtig

Notieren Sie sich beim Erstellen der kontoübergreifenden IAM-Rolle die Details, die Sie für den Zugriff auf das Produktionskonto benötigen.

Um die AWS Management Console zum Rollenwechsel zu verwenden, müssen Sie eine der folgenden Angaben machen:

  • Eine URL für den Zugriff auf das Produktionskonto mit den Anmeldeinformationen der angenommenen Rolle. Sie finden die URL auf der Seite Review (Überprüfen), die am Ende des Erstellungsvorgangs für kontoübergreifende Rollen angezeigt wird.

  • Der Name der kontoübergreifenden Rollen und entweder die Konto-ID oder ein Alias.

Um die AWS CLI zum Rollenwechsel zu verwenden, müssen Sie Folgendes angeben:

  • Den ARN der kontoübergreifenden Rolle, die Sie übernehmen.

Schritt 4: Laden Sie die Anwendungsrevision in den Amazon S3 S3-Bucket hoch

In dem Konto, in dem Sie den Amazon S3 S3-Bucket erstellt haben:

Schritt 5: Übernehmen Sie die kontoübergreifende Rolle und stellen Sie Anwendungen bereit

Im Entwicklungskonto können Sie das AWS CLI oder das verwenden, um die kontenübergreifende Rolle AWS Management Console zu übernehmen und die Bereitstellung im Produktionskonto zu initiieren.

Anweisungen zur Verwendung von, um zwischen Rollen AWS Management Console zu wechseln und Bereitstellungen zu initiieren, finden Sie unter Zu einer Rolle wechseln (AWS Management Console) und. Erstellen Sie eine EC2 /On-Premises Compute Platform-Bereitstellung (Konsole)

Anweisungen zur Verwendung der, um die kontenübergreifende Rolle AWS CLI zu übernehmen und Bereitstellungen zu initiieren, finden Sie unter Zu einer IAM-Rolle wechseln () und.AWS Command Line InterfaceErstellen Sie eine EC2 /On-Premises Compute Platform-Bereitstellung () CLI

Weitere Informationen zur Übernahme einer Rolle durch AWS STS finden Sie AssumeRoleim AWS Security Token Service Benutzerhandbuch und assume-role in der Befehlsreferenz.AWS CLI

Verwandte Themen: