Verwenden eines Bestandsberichts, um Objekte über hinweg zu kopieren AWS-Konten - Amazon Simple Storage Service

Verwenden eines Bestandsberichts, um Objekte über hinweg zu kopieren AWS-Konten

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Sie können S3 Batch Operations verwenden, um einen Kopierauftrag (CopyObject) zu erstellen, um Objekte innerhalb desselben Kontos oder in ein anderes Zielkonto zu kopieren.

Verwenden Sie Amazon S3 Inventory, um einen Bestandsbericht zu erstellen, und erstellen Sie mithilfe des Berichts eine Liste (Manifest) von Objekten, die mit S3 Batch Operations kopiert werden sollen. Informationen zur Verwendung eines CSV-Manifests im Quell- oder Zielkonto finden Sie unter Verwenden eines CSV-Manifests, um Objekte über hinweg zu kopieren AWS-Konten.

Der Amazon S3 Inventory generiert Bestandslisten der Objekte in einem Bucket. Die resultierende Liste wird in einer Ausgabedatei veröffentlicht. Der Bucket, für den die Bestandsliste erstellt wird, wird als Quell-Bucket bezeichnet, der Bucket, in dem die Bestandsberichtsdatei gespeichert wird, dagegen als Ziel-Bucket.

Der Amazon-S3-Inventory-Bericht kann so konfiguriert werden, dass er an ein anderes übermittelt wird AWS-Konto. Dadurch kann S3 Batch Operations den Bestandsbericht lesen, wenn der Auftrag im Zielkonto erstellt wird.

Weitere Informationen zu Quell- und Ziel-Buckets für Amazon S3 Inventory finden Sie unter Quell- und Ziel-Buckets.

Die einfachste Möglichkeit, ein Inventar einzurichten, besteht darin, die Amazon S3-Konsole zu verwenden, aber Sie können auch die Amazon-S3-REST-API, AWS Command Line Interface (AWS CLI) oder AWS-SDKs verwenden.

Die folgende Konsolenprozedur enthält die allgemeinen Schritte zum Einrichten von Berechtigungen für einen S3-Batchoperations-Auftrag. Bei diesem Verfahren kopieren Sie Objekte aus einem Quellkonto in ein Zielkonto, wobei der Bestandsbericht im Zielkonto gespeichert wird.

So richten Sie einen Amazon S3 Inventory für Quell- und Ziel-Buckets ein, die zu unterschiedlichen Konten gehören
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Buckets aus.

  3. Entscheiden Sie sich für (oder erstellen Sie) einen Ziel-Manifest-Bucket, um den Bestandsbericht zu speichern. In diesem Verfahren ist das Zielkonto das Konto, zu dem der Ziel-Manifest-Bucket sowie der Bucket gehören, in den die Objekte kopiert werden.

  4. Konfigurieren Sie einen Bestandsbericht für einen Quell-Bucket. Informationen zur Verwendung der Konsole zum Konfigurieren einer Bestandsliste oder zum Verschlüsseln einer Bestandsdatei finden Sie unter Konfigurieren von Amazon S3 Inventory.

    Wenn Sie den Bestandsbericht konfigurieren, geben Sie den Ziel-Bucket an, in dem die Liste gespeichert werden soll. Der Bestandsbericht für den Quell-Bucket wird im Ziel-Bucket veröffentlicht. In diesem Verfahren ist das Quellkonto das Konto, zu dem der Quell-Bucket gehört.

    Wählen Sie CSV als Ausgabeformat.

    Wenn Sie Informationen für den Ziel-Bucket eingeben, wählen Sie Buckets in another account (Buckets in einem anderen Konto). Geben Sie dann den Namen des Ziel-Manifest-Buckets ein. Optional können Sie die Konto-ID des Zielkontos eingeben.

    Nachdem die Bestands-Konfiguration gespeichert wurde, zeigt die Konsole eine Meldung wie die folgende an:

    Amazon S3 could not create a bucket policy on the destination bucket. Ask the destination bucket owner to add the following bucket policy to allow Amazon S3 to place data in that bucket. (Amazon S3 konnte keine Bucket-Richtlinie für den Ziel-Bucket erstellen.Bitten Sie den Eigentümer des Ziel-Buckets, die folgende Bucket-Richtlinie hinzuzufügen, damit Amazon S3 Daten in diesen Bucket einfügen kann.

    Die Konsole zeigt dann eine Bucket-Richtlinie an, die Sie für den Ziel-Bucket verwenden können.

  5. Kopieren Sie die in der Konsole angezeigte Ziel-Bucket-Richtlinie.

  6. Fügen Sie die kopierte Bucket-Richtlinie im Zielkonto dem Ziel-Manifest-Bucket hinzu, in dem der Bestandsbericht gespeichert wird.

  7. Erstellen Sie eine Rolle im Zielkonto, die auf der S3-BatchVorgängevertrauensrichtlinie basiert. Weitere Informationen zu dieser Vertrauensrichtlinie finden Sie unter Vertrauensrichtlinie.

    Weitere Informationen zum Erstellen einer Rolle finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service im IAM-Benutzerhandbuch.

    Geben Sie einen Namen für die Rolle ein (die folgende Beispielrolle hat den Namen BatchOperationsDestinationRoleCOPY). Wählen Sie den Service S3 und dann den Anwendungsfall S3 Batch Operations aus, mit dem die Vertrauensrichtlinie der Rolle zugewiesen wird.

    Wählen Sie dann Richtlinie erstellen aus, um der Rolle die folgende Richtlinie anzufügen. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie user input placeholders durch eigene Informationen.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsDestinationObjectCOPY", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectVersionAcl", "s3:PutObjectAcl", "s3:PutObjectVersionTagging", "s3:PutObjectTagging", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*", "arn:aws:s3:::amzn-s3-demo-source-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

    Die Rolle verwendet die Richtlinie, um die Berechtigung batchoperations.s3.amazonaws.com zum Lesen des Manifests im Ziel-Bucket zu gewähren. Zudem werden Berechtigungen für GET-Objekte, Zugriffskontrolllisten (ACLs), Tags und Versionen im Quell-Bucket der Objekte gewährt. Und es werden Berechtigungen für PUT-Objekte, ACLs, Markierungen sowie Versionen im Ziel-Bucket der Objekte gewährt.

  8. Erstellen Sie im Quellkonto eine Bucket-Richtlinie für den Quell-Bucket, die der im vorherigen Schritt erstellten Rolle Berechtigungen für GET-Objekte, ACLs, Tags und Versionen im Quell-Bucket gewährt. Dieser Schritt ermöglicht es S3-BatchVorgänge, Objekte über die vertrauenswürdige Rolle aus dem Quell-Bucket abzurufen.

    Das folgende Beispiel zeigt eine Bucket-Richtlinie für das Quellkonto. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie user input placeholders durch eigene Informationen.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*" } ] }
  9. Sobald der Bestandsbericht verfügbar ist, erstellen Sie eine S3-Batch-Operations-Aufgabe Kopieren (CopyObject) im Zielkonto und wählen Sie den Bestandsbericht im Ziel-Manifest-Bucket aus. Sie benötigen die ARN für die IAM-Rolle, die Sie im Zielkonto erstellt haben.

    Allgemeine Informationen zum Erstellen eines Auftrags finden Sie unter Erstellen eines S3-Batch-Vorgangsauftrags.

    Informationen zum Erstellen eines Auftrags mit der Konsole finden Sie unter Erstellen eines S3-Batch-Vorgangsauftrags.