既存のレプリケーションルールのバッチレプリケーションジョブを作成する - Amazon Simple Storage Service

既存のレプリケーションルールのバッチレプリケーションジョブを作成する

AWS SDK、AWS Command Line Interface (AWS CLI)、Simple Storage Service (Amazon S3) コンソールを使用して、既存のレプリケーション設定に S3 バッチレプリケーションを設定できます。バッチレプリケーションの概要については、「S3 バッチレプリケーションを使用した既存のオブジェクトのレプリケーション」を参照してください。

前提条件として、ユーザーに代わりアクションを実行するための Simple Storage Service (Amazon S3) の許可を付与するバッチオペレーション AWS Identity and Access Management (IAM) ロールを作成する必要があります。「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。

バッチレプリケーションジョブが終了すると、完了レポートが表示されます。レポートを使用してジョブを検査する方法の詳細については、「ジョブステータスと完了レポートの追跡」を参照してください。

  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. Amazon S3 コンソールのナビゲーションペインで [Batch Operations (バッチ操作)] を選択します。

  3. [ジョブの作成] を選択します。

  4. ジョブを作成する [Region (リージョン)] を選択します。

  5. [Manifest format] (マニフェスト形式) を選択します。この例では、既存の S3 レプリケーション設定に基づいてマニフェストを作成する方法を説明します。

    注記

    マニフェストとは、指定されたアクションを実行するすべてのオブジェクトのリストです。バッチオペレーションマニフェストの詳細については、「マニフェストの指定」を参照してください。マニフェストの準備ができている場合は、S3 インベントリレポート manifest.jsonまたはCSV。マニフェスト内のオブジェクトがバージョニング対応のバケット内にある場合は、そのオブジェクトのバージョン ID を指定する必要があります。マニフェストの作成の詳細については、「マニフェストの指定」を参照してください。

  6. レプリケーション構成に基づいてマニフェストを作成するには、[Create manifest using S3 Replication configuration] (S3 レプリケーション設定を使用してマニフェストを作成する) を選択します。レプリケーション設定をレプリケート元バケットに追加します。

  7. (オプション) オブジェクトの作成日やレプリケーションステータスなどの追加のフィルターを含めることができます。レプリケーションステータスによるフィルター方法の例については、「バッチレプリケーションジョブのマニフェストの指定」を参照してください。

  8. マニフェストを保存するには、[Save Batch Operations manifest] (バッチオペレーションマニフェストを保存) を選択します。

    1. マニフェストを生成して保存する場合は、[Bucket in this account] (このアカウントのバケット) または [Bucket in another AWS アカウント] (別の AWS アカウント のバケット) のいずれかを選択する必要があります。テキストボックスにバケット名を指定します。

      注記

      生成されたマニフェストは、レプリケーション元バケットと同じ AWS リージョンに保存されている必要があります。

    2. [暗号化タイプ] を選択します。

  9. (オプション) [Description] (説明) に入力します。

  10. 必要に応じて、ジョブの [Priority] (優先度) を調整します。番号が高いほど、優先順位が高いことを表します。Simple Storage Service (Amazon S3) は、優先度の低いジョブの前に優先度の高いジョブを実行しようとします。ジョブの優先度の詳細については、「ジョブの優先度の割り当て」を参照してください。

  11. (オプション) 完了レポートを生成します。生成するには [Generate completion report] (完了レポートを生成) を選択します。

    完了レポートを生成する場合は、[Failed tasks only] (失敗したタスクのみ) または [All tasks] (すべてのタスク) をレポートするかを選択肢、レポートのレプリケート先バケットを指定する必要があります。

  12. 有効な IAM ロールを選択します。

    注記

    IAM ロールの作成の詳細については、「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。

  13. (オプション) バッチレプリケーションジョブにジョブタグを追加します。

  14. [次へ] を選択します。

  15. 設定を確認し、[Create job] (ジョブを作成) を選択します。

次の例では、S3 が AWS アカウント 111122223333 に生成したマニフェストを使用して S3 バッチレプリケーションジョブを作成します。この例では、既存のオブジェクトと以前にレプリケートに失敗したオブジェクトの複製を試みます。レプリケーションステータスによるフィルタリングの詳細については、「バッチレプリケーションジョブのマニフェストの指定」を参照してください。

aws s3control create-job --account-id 111122223333 --operation '{"S3ReplicateObject":{}}' --report '{"Bucket":"arn:aws:s3:::*** completion report bucket ****","Prefix":"batch-replication-report", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' --manifest-generator '{"S3JobManifestGenerator": {"ExpectedBucketOwner": "111122223333", "SourceBucket": "arn:aws:s3:::*** replication source bucket ***", "EnableManifestOutput": false, "Filter": {"EligibleForReplication": true, "ObjectReplicationStatuses": ["NONE","FAILED"]}}}' --priority 1 --role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy --no-confirmation-required --region source-bucket-region
注記

ジョブは、同じ AWS リージョン レプリケーション元バケットから開始する必要があります。IAM ロール role/batch-Replication-IAM-policy は以前に作成されました。「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。

バッチレプリケーションジョブを正常に開始すると、応答としてジョブ ID を受け取ります。次のコマンドを使用して、このジョブをモニタリングできます。

aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region

次の例では、AWS アカウント 111122223333 のユーザー定義のマニフェストを使用して S3 バッチレプリケーションジョブを作成します。マニフェスト内のオブジェクトがバージョニング対応のバケット内にある場合は、そのオブジェクトのバージョン ID を指定する必要があります。マニフェストで指定されたバージョン ID を持つオブジェクトのみがレプリケートされます。マニフェストの作成の詳細については、「マニフェストの指定」を参照してください。

aws s3control create-job --account-id 111122223333 --operation '{"S3ReplicateObject":{}}' --report '{"Bucket":"arn:aws:s3:::*** completion report bucket ****","Prefix":"batch-replication-report", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key","VersionId"]},"Location":{"ObjectArn":"arn:aws:s3:::*** completion report bucket ****/manifest.csv","ETag":"Manifest Etag"}}' --priority 1 --role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy --no-confirmation-required --region source-bucket-region
注記

ジョブは、同じ AWS リージョン レプリケーション元バケットから開始する必要があります。IAM ロール role/batch-Replication-IAM-policy は以前に作成されました。「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。

バッチレプリケーションジョブを正常に開始すると、応答としてジョブ ID を受け取ります。次のコマンドを使用して、このジョブをモニタリングできます。

aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region