Tutorial: Übertragen von Daten von Amazon S3 auf Amazon S3 in einer anderen VersionAWS-Konto - AWS DataSync

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.

Tutorial: Übertragen von Daten von Amazon S3 auf Amazon S3 in einer anderen VersionAWS-Konto

MitAWS DataSync können Sie Daten zwischen Amazon S3 S3-Buckets verschieben, die zu verschiedenen gehörenAWS-Konten.

Wichtig

Das Kopieren von DatenAWS-Konten mithilfe der Methoden in diesem Tutorial funktioniert nur mit Amazon S3.

Übersicht

In diesem Tutorial erfahren Sie, wieAWS Identity and Access Management (IAM) und () Ihnen helfen können,DataSync Aufgaben zu erstellen, dieAWS Command Line Interface Daten von Amazon S3 in einen anderen S3-Bucket in einem anderen S3-Bucket übertragenAWS-Konto.AWS CLI

Tipp

Folgen Sie diesem Tutorial, wenn sich Ihre S3-Buckets ebenfalls in einem anderen befindenAWS-Regionen. Der Vorgang ist bis auf einige zusätzliche Schritte größtenteils derselbe. Beachten Sie jedoch, dass diese Art von Übertragungen für Regionen, die standardmäßig deaktiviert sind,DataSync nicht unterstützt werden.

So kann ein solches Szenario aussehen:

  • Konto A: Sie verwendenAWS-Konto, um den S3-Bucket zu verwalten, aus dem Sie Daten kopieren möchten.

  • Konto B: DerAWS-Konto, den Sie für die Verwaltung des Amazon-S3-Buckets verwenden, in den Sie Daten kopieren möchten.

Transfers across accounts

Das folgende Diagramm zeigt ein Szenario, in dem Sie Daten aus einem S3-Bucket in einen anderen S3-Bucket kopieren, der sich in einem anderen befindetAWS-Konto.

EinDataSync Beispielszenario, in dem Daten aus einem S3-Bucket in einenAWS-Konto (Konto A) verschoben werden, bevor sie in einen S3-Bucket in einem anderenAWS-Konto (Konto B) übertragen werden.
Transfers across accounts and Regions

Das folgende Diagramm zeigt ein Szenario, in dem Sie Daten aus einem S3-Bucket in einen anderen S3-Bucket kopieren, der sich in einer anderenAWS-Konto AND-Region befindet.

EinDataSync Beispielszenario, in dem Daten aus einem S3-Bucket in eine RegionAWS-Konto (Konto A) und Region verschoben werden, bevor sie in einen S3-Bucket in einer anderen RegionAWS-Konto (Konto B) und Region übertragen werden.

Voraussetzungen

Bevor Sie mit den IAM-Arbeiten zur Erleichterung der kontoübergreifenden Übertragung beginnen, gehen Sie wie folgt vor, falls Sie dies noch nicht getan haben:

  1. Ermitteln Sie, wie viele Objekte Sie kopieren. Verwenden Sie Amazon S3 Storage Lens, um herauszufinden, wie viele Objekte sich in Ihrem Bucket befinden.

    Tipp

    Bei der Übertragung zwischen S3-BucketsDataSync können nicht mehr als 25 Millionen Objekte pro Aufgabe kopiert werden. Wenn Ihr Bucket mehr als 25 Millionen Objekte enthält, empfehlen wir einige Optionen:

  2. Erstellen Sie einenDataSync Quellspeicherort mit Konto A für den S3-Bucket, aus dem Sie Daten kopieren.

  3. Richten Sie denAWS CLI mit Konto A ein. Sie benötigen den,AWS CLI um denDataSync Zielort für den S3-Bucket in Konto B zu erstellen.

Schritt 1: Erstellen einer IAM-Rolle für Konto ADataSync in Konto A

Sie benötigen eine IAM-Rolle, dieDataSync Schreibberechtigungen für den S3-Bucket in Konto B geben.

Wenn Sie einen Standort für einen Bucket erstellen,DataSync kann er automatisch eine Rolle mit den richtigen Berechtigungen für den Zugriff auf diesen Bucket erstellen und übernehmen. Da Sie kontoübergreifend übertragen, müssen Sie die Rolle manuell erstellen Sie die Rolle manuell erstellen Sie die Rolle manuell erstellen Sie kontoübergreifend verwenden.

Weitere Informationen finden Sie unter Creating a role for anAWS-Service (console) im IAM-Benutzerhandbuch.

Erstellen der IAM-Rolle IAM-Rolle

Erstellen Sie eine Rolle mitDataSync der vertrauenswürdigen Entität.

So erstellen Sie die IAM-Rolle
  1. Melden Sie sichAWS Management Console mit Konto A bei der an.

  2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  3. Wählen Sie im linken Navigationsbereich unter Zugriffsverwaltung die Option Rollen und dann Rolle erstellen aus.

  4. Wählen Sie auf der Seite Vertrauenswürdige Entität auswählen für Vertrauenswürdige Entitätstyp aus AWS-Service.

  5. Wählen Sie DataSyncin der Dropdown-Liste das Feld Anwendungsfall aus und wählen Sie aus DataSync. Wählen Sie Next (Weiter).

  6. Wählen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die Option Next (Weiter) aus.

  7. Geben Sie Ihrer Rolle einen Namen und wählen Sie Rolle erstellen.

Fügen Sie der IAM-Rolle eine benutzerdefinierte Richtlinie an die IAM-Rolle an

Die IAM-Rolle benötigt eine Richtlinie, die es ermöglichtDataSync, in Ihren S3-Bucket in Konto B zu schreiben.

So fügen Sie der IAM-Rolle eine benutzerdefinierte Richtlinie an
  1. Suchen Sie auf der Seite Rollen der IAM-Konsole nach der Rolle, die Sie gerade erstellt haben, und wählen Sie ihren Namen aus.

  2. Wählen Sie auf der Detailseite der Rolle die Registerkarte Berechtigungen aus. Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.

  3. Wählen Sie den JSON-Tab und gehen Sie wie folgt vor:

    1. Fügen Sie den folgenden JSON-Editor in den Richtlinien-Editor ein:

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket/*" } ] }
    2. account-b-bucketErsetzen Sie in Konto B durch den Namen des Amazon-S3-Buckets.

  4. Wählen Sie Review policy (Richtlinie prüfen).

  5. Geben Sie Ihrer Richtlinie einen Namen und wählen Sie Richtlinie erstellen.

Schritt 2: Deaktivieren Sie ACLs für Ihren S3-Bucket in Konto B

Es ist wichtig, dass alle Daten, die Sie in den S3-Bucket kopieren, zu Konto B gehören. Um sicherzustellen, dass Konto B der Eigentümer der Daten ist, deaktivieren Sie die Zugriffskontrolllisten (ACLs) des Buckets. Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket im Amazon-S3-Benutzerhandbuch.

So deaktivieren Sie ACLs für einen S3-Bucket
  1. Wechseln Sie in derAWS Management Console zu Konto B.

  2. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  3. Wählen Sie im linken Navigationsbereich die Option Buckets aus.

  4. Wählen Sie in der Bucket-Liste den S3-Bucket aus, in den Sie Daten übertragen.

  5. Wählen Sie auf der Detailseite des Buckets den Tab Berechtigungen aus.

  6. Wählen Sie unter Object Ownership die Option Edit (Bearbeiten).

  7. Wenn sie nicht bereits ausgewählt ist, wählen Sie die Option ACLs deaktiviert (empfohlen).

  8. Wählen Sie Änderungen speichern aus.

Schritt 3: Aktualisieren der S3-Bucket-Richtlinie in Konto B

Ändern Sie in Konto B die S3-Bucket-Richtlinie in Konto B so, dass Sie den Zugriff auf die IAM-Rolle erlauben, für die SieDataSync in Konto A erstellt haben.

Die aktualisierte Richtlinie (die Ihnen in den folgenden Anweisungen zur Verfügung gestellt wird) umfasst zwei Prinzipien:

  • Der erste Principal gibt die IAM-Rolle in Konto A an, das Sie in Schritt 1 erstellt haben. Diese Rolle erlaubt esDataSync, in den S3-Bucket in Konto B zu schreiben.

  • Der zweite Prinzipal gibt die IAM-Rolle in Konto A an, die Sie für den Zugriff auf die Konsole oder verwendenAWS CLI. In Schritt 4 verwenden Sie diese Rolle, wenn Sie den Zielort für den S3-Bucket erstellen.

So aktualisieren Sie die S3-Bucket-Richtlinie korrigieren
  1. Wählen Sie, während Sie sich noch in der S3-Konsole befinden und Konto B verwenden, den S3-Bucket aus, in den Sie Daten kopieren.

  2. Wählen Sie auf der Detailseite des Buckets den Tab Berechtigungen aus.

  3. Wählen Sie unter Bucket-Richtlinie die Option Bearbeiten aus und gehen Sie wie folgt vor, um Ihre S3-Bucket-Richtlinie zu ändern:

    1. Aktualisieren Sie den Inhalt des Editors um die folgenden Richtlinienerklärungen:

      { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-datasync-role" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::account-b-bucket", "arn:aws:s3:::account-b-bucket/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-your-role" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket" } ] }
    2. Ersetzen Sieaccount-a-id durch dieAWS-Konto Nummer von Konto A.

    3. Ersetzen Sie esname-of-datasync-role durch die IAM-Rolle, für die SieDataSync in Konto A erstellt haben (zurück in Schritt 1).

    4. account-b-bucketErsetzen Sie in Konto B durch den Namen des Amazon-S3-Buckets.

    5. Ersetzen Siename-of-your-role durch die IAM-Rolle, die Sie für den Zugriff auf die Konsole verwenden, oderAWS CLI durch Konto A.

  4. Wählen Sie Änderungen speichern aus.

Schritt 4: Erstellen Sie einenDataSync Zielort für den S3-Bucket

Nachdem Sie einen Speicherort für den S3-Bucket erstellt haben, können Sie IhreDataSync Aufgabe ausführen. DieDataSync Konsole unterstützt jedoch nicht das Erstellen von Speicherorten in verschiedenen Konten. Sie müssen den Standort mit dem erstellen,AWS CLI bevor Sie die Aufgabe ausführen können.

Um einenDataSync Standort mit der CLI zu erstellen
  1. Öffnen Sie ein -Terminalfenster.

  2. Stellen Sie sicher, dass Ihr CLI-Profil für die Verwendung von Konto A konfiguriert ist.

  3. Kopieren Sie den folgenden Befehl:

    aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::account-b-bucket \ --s3-config '{"BucketAccessRoleArn":"arn:aws:iam::account-a-id:role/name-of-datasync-role"}'
  4. account-b-bucketErsetzen Sie in Konto B durch den Namen des Amazon-S3-Buckets.

  5. Ersetzen Sieaccount-a-id durch dieAWS-Konto Nummer von Konto A.

  6. Ersetzen Sie esname-of-datasync-role durch die IAM-Rolle, für die SieDataSync in Konto A erstellt haben (zurück in Schritt 1).

  7. Wenn sich der Bucket in Konto B in einer anderen Region befindet als der Bucket in Konto A, fügen Sie am Ende des Befehls die--region Option hinzu, um die Region anzugeben, in der sich der Bucket von Konto B befindet. Zum Beispiel --region us-west-1.

  8. Führen Sie den Befehl aus.

    Wenn der Befehl einen ähnlichenDataSync Standort-ARN zurückgibt, haben Sie den Standort erfolgreich erstellt:

    { "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
  9. Wechseln Sie zurück zu Konto A in derAWS Management Console.

  10. Öffnen Sie dieDataSync Konsole unter https://console.aws.amazon.com/datasync/.

  11. Wählen Sie im linken Navigationsbereich die Option Standorte aus.

    Sie können den Standort des S3-Buckets in Konto B sehen, das Sie gerade mit der CLI erstellt haben.

Schritt 5: Erstellen einer Aufgabe und starten einerDataSync Aufgabe

Bevor Sie Ihre Daten verschieben, lassen Sie uns noch einmal zusammenfassen, was Sie bisher getan haben:

  • In Konto A wurde eine IAM-Rolle erstellt, mit der Daten in den S3-Bucket in Konto B geschrieben werdenDataSync können.

  • Sie haben Ihren S3-Bucket in Konto B konfiguriert, um sicherzustellen, dass IhreDataSync Aufgabe funktioniert.

  • Sie haben IhreDataSync Quell- und Zielorte in Konto A erstellt.

Um dieDataSync Aufgabe zu erstellen und zu starten
  1. Während Sie weiterhin dieDataSync Konsole in Konto A verwenden, erweitern Sie im linken Navigationsbereich die Option Datentransfer und wählen Sie dann Aufgaben und Aufgabe erstellen aus.

    Anmerkung

    Sie müssen bei der Konsole mit derselben IAM-Rolle für Konto A angemeldet sein, die Sie in Schritt 3 in der S3-Bucket-Richtlinie angegeben haben.

  2. Wenn sich der Bucket in Konto B in einer anderen Region befindet als der Bucket in Konto A, wählen Sie im Navigationsbereich die Region des Konto B-Buckets aus.

    Sie müssen dieDataSync Aufgabe von der Region des Zielstandorts aus starten (in diesem Fall der Account B-Bucket), um einen Verbindungsfehler zu vermeiden.

  3. Wählen Sie auf der Seite Quellstandort konfigurieren die Option Vorhandenen Standort auswählen aus.

  4. Wählen Sie für Überweisungen zwischen Regionen die Region aus, in der sich der Account A-Bucket befindet.

  5. Wählen Sie den Quellspeicherort, aus dem Sie Daten kopieren (den S3-Bucket in Konto A) und dann Weiter.

  6. Wählen Sie auf der Seite Zielort konfigurieren die Option Bestehenden Standort auswählen aus. Wählen Sie den Zielort, an den Sie Daten kopieren (den S3-Bucket in Konto B) und dann Weiter.

  7. Geben Sie der Aufgabe auf der Seite „Einstellungen konfigurieren“ einen Namen. Konfigurieren Sie bei Bedarf zusätzliche Einstellungen, z. B. die Angabe einerCloudWatch Amazon-Protokollgruppe. Wählen Sie Weiter.

  8. Überprüfe auf der Überprüfungsseite deine Einstellungen und wähle Aufgabe erstellen.

  9. Wählen Sie auf der Detailseite der Aufgabe die Option Start aus und wählen Sie anschließend eine der folgenden Optionen aus:

    • Um die Aufgabe ohne Änderung auszuführen, wählen Sie Mit Standardwerten starten.

    • Um die Aufgabe vor der Ausführung zu ändern, wählen Sie Mit übergeordneten Optionen beginnen.

Wenn Ihre Aufgabe abgeschlossen ist, überprüfen Sie den S3-Bucket in Konto B. Sie sollten die Daten aus Ihrem Konto-A-Bucket sehen.

Zugehörige Ressourcen

Weitere Informationen zu den Aktionen in diesem Tutorial finden Sie in den folgenden Themen: