Amazon S3 では、ライブレプリケーションは、レプリケーション設定を作成する前にレプリケート元バケットに既に存在していたオブジェクトをレプリケートしません。ライブレプリケーションは、レプリケーション設定の作成後にバケットに書き込まれた新しいオブジェクトと更新されたオブジェクトのみを自動的にレプリケートします。既存のオブジェクトをレプリケートするには、S3 バッチレプリケーションを使用して、これらのオブジェクトをオンデマンドでレプリケートできます。
AWS SDK、AWS Command Line Interface (AWS CLI)、Simple Storage Service (Amazon S3) コンソールを使用して、既存のレプリケーション設定に S3 バッチレプリケーションを設定できます。バッチレプリケーションの概要については、「バッチレプリケーションを使用した既存のオブジェクトのレプリケーション」を参照してください。
バッチレプリケーションジョブが終了すると、完了レポートが表示されます。レポートを使用してジョブを検査する方法の詳細については、「ジョブステータスと完了レポートの追跡」を参照してください。
前提条件
バッチオペレーションジョブを作成する前に、バッチオペレーション AWS Identity and Access Management (IAM) ロールを作成し、ユーザーに代わってアクションを実行するための Amazon S3 許可を付与する必要があります。詳細については、「S3 バッチレプリケーション用の IAM ロールの設定」を参照してください。
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
左のナビゲーションペインで、[バッチ操作] を選択します。
-
[ジョブの作成]を選択します。
-
[AWS リージョン] セクションに、ジョブを作成するリージョンが表示されていることを確認します。
-
[マニフェスト] セクションで、使用するマニフェスト形式を指定します。マニフェストとは、指定されたアクションを実行するすべてのオブジェクトのリストです。バッチオペレーションマニフェストの詳細については、「マニフェストの指定」を参照してください。
-
マニフェストの準備ができている場合は、S3 インベントリレポート manifest.jsonまたはCSV。マニフェストがバージョニングされたバケットにある場合は、マニフェストのバージョン ID を指定できます。バージョン ID を指定しない場合、バッチオペレーションはマニフェストの最新バージョンを使用します。マニフェストの作成の詳細については、「マニフェストの指定」を参照してください。
注記
マニフェスト内のオブジェクトがバージョニング対応のバケット内にある場合は、そのオブジェクトのバージョン ID を指定する必要があります。詳細については、「マニフェストの指定」を参照してください。
-
レプリケーション構成に基づいてマニフェストを作成するには、[Create manifest using S3 Replication configuration] (S3 レプリケーション設定を使用してマニフェストを作成する) を選択します。レプリケーション設定のレプリケート元バケットを選択します。
-
-
(オプション) [S3 レプリケーション設定を使用してマニフェストを作成する] を選択した場合は、オブジェクト作成日やレプリケーションステータスなどの追加のフィルターを含めることができます。レプリケーションステータスによるフィルター方法の例については、「バッチレプリケーションジョブのマニフェストの指定」を参照してください。
-
(オプション) [S3 レプリケーション設定を使用してマニフェストを作成する] を選択した場合は、生成されたマニフェストを保存できます。マニフェストを保存するには、[バッチオペレーションマニフェストを保存] を選択します。次に、マニフェストのレプリケート先バケットを指定し、マニフェストを暗号化するかどうかを選択します。
注記
生成されたマニフェストは、レプリケーション元バケットと同じ AWS リージョンに保存されている必要があります。
-
[Next] を選択します。
-
[オペレーション] ページで、[レプリケート] を選択し、[次へ] を選択します。
-
(オプション) [Description] (説明) に入力します。
-
必要に応じて、ジョブの [Priority] (優先度) を調整します。番号が高いほど、優先順位が高いことを表します。Simple Storage Service (Amazon S3) は、優先度の低いジョブの前に優先度の高いジョブを実行しようとします。ジョブの優先度の詳細については、「ジョブの優先度の割り当て」を参照してください。
-
(オプション) 完了レポートを生成します。このレポートを生成するには [完了レポートを生成] を選択します。
完了レポートを生成する場合は、[Failed tasks only] (失敗したタスクのみ) または [All tasks] (すべてのタスク) をレポートするかを選択肢、レポートのレプリケート先バケットを指定する必要があります。
-
[アクセス許可] セクションで、バッチレプリケーションに必要なアクセス許可を持つ IAM ロールが選択されていることを確認してください。レプリケーション失敗の最も一般的な原因の 1 つは、提供されている (IAM) ロールのアクセス許可が不十分であることです。このロールの作成の詳細については、「S3 バッチレプリケーション用の IAM ロールの設定」を参照してください。
-
(オプション) バッチレプリケーションジョブにジョブタグを追加します。
-
[Next] を選択します。
-
ジョブの設定を確認し、[ジョブの作成] を選択します。
次の create-job
コマンド例では、S3 が AWS アカウント
に生成したマニフェストを使用して S3 バッチレプリケーションジョブを作成します。この例では、既存のオブジェクトと以前にレプリケートに失敗したオブジェクトをレプリケートします。レプリケーションステータスによるフィルタリングの詳細については、「バッチレプリケーションジョブのマニフェストの指定」を参照してください。111122223333
このコマンドを使用するには、
をユーザー自身の情報に置き換えます。IAM ロール user input
placeholders
role/
を、以前に作成した IAM ロールに置き換えます。詳細については、「S3 バッチレプリケーション用の IAM ロールの設定」を参照してください。batch-Replication-IAM-policy
aws s3control create-job --account-id
111122223333
\ --operation '{"S3ReplicateObject":{}}' \ --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket
",\ "Prefix":"batch-replication-report
", \ "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \ --manifest-generator '{"S3JobManifestGenerator": {"ExpectedBucketOwner": "111122223333
", \ "SourceBucket": "arn:aws:s3:::", \ "EnableManifestOutput": false, "Filter": {"EligibleForReplication": true, \ "ObjectReplicationStatuses": ["
amzn-s3-demo-source-bucket
NONE
","FAILED
"]}}}' \ --priority1
\ --role-arn arn:aws:iam::111122223333
:role/batch-Replication-IAM-policy
\ --no-confirmation-required \ --regionsource-bucket-region
注記
ジョブは、レプリケーション元バケットと同じ AWS リージョンから開始する必要があります。
バッチレプリケーションジョブを正常に開始すると、応答としてジョブ ID を受け取ります。次の describe-job
コマンドを使用して、このジョブをモニタリングできます。このコマンドを使用するには、
をユーザー自身の情報に置き換えます。user input placeholders
aws s3control describe-job --account-id
111122223333
--job-idjob-id
--regionsource-bucket-region
次の例では、AWS アカウント
のユーザー定義のマニフェストを使用して S3 バッチレプリケーションジョブを作成します。マニフェスト内のオブジェクトがバージョニング対応のバケット内にある場合は、そのオブジェクトのバージョン ID を指定する必要があります。マニフェストで指定されたバージョン ID を持つオブジェクトのみがレプリケートされます。マニフェストの作成の詳細については、「マニフェストの指定」を参照してください。111122223333
このコマンドを使用するには、
をユーザー自身の情報に置き換えます。IAM ロール user input
placeholders
role/
を、以前に作成した IAM ロールに置き換えます。詳細については、「S3 バッチレプリケーション用の IAM ロールの設定」を参照してください。batch-Replication-IAM-policy
aws s3control create-job --account-id
111122223333
\ --operation '{"S3ReplicateObject":{}}' \ --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-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:::",\ "ETag":"
amzn-s3-demo-manifest-bucket
/manifest.csvManifest Etag
"}}' \ --priority1
\ --role-arn arn:aws:iam::111122223333
:role/batch-Replication-IAM-policy
\ --no-confirmation-required \ --regionsource-bucket-region
注記
ジョブは、レプリケーション元バケットと同じ AWS リージョンから開始する必要があります。
バッチレプリケーションジョブを正常に開始すると、応答としてジョブ ID を受け取ります。次の describe-job
コマンドを使用して、このジョブをモニタリングできます。
aws s3control describe-job --account-id
111122223333
--job-idjob-id
--regionsource-bucket-region