S3 バッチレプリケーションを使用した既存のオブジェクトのレプリケーション - Amazon Simple Storage Service

S3 バッチレプリケーションを使用した既存のオブジェクトのレプリケーション

S3 バッチレプリケーションを使用すると、レプリケーション設定が実行される前に存在していたオブジェクト、以前にレプリケートされたオブジェクト、およびレプリケーションに失敗したオブジェクトをレプリケートできます。これは、バッチオペレーションジョブを使用して行います。これは、新しい Simple Storage Service (Amazon S3) バケット間で新しいオブジェクトを継続的に自動的にレプリケートするライブレプリケーションとは異なります。バッチレプリケーションを開始するには、次の操作を行います。

  • 新しいレプリケーションルールまたはレプリケート先のバッチレプリケーションを開始する — 1 回限りのバッチレプリケーションジョブは、新しいレプリケーション設定で最初のルールを作成する場合や、AWS Management Consoleを介して既存の設定に新しいレプリケート先を追加する場合に作成できます。

  • 既存のレプリケーション設定のバッチレプリケーションを開始するS3 バッチオペレーションを使用して、AWS SDK、AWS Command Line Interface (AWS CLI)、または Simple Storage Service (Amazon S3) コンソールを介し、新しいバッチレプリケーションジョブを作成できます。

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

S3 バッチレプリケーションに関する考慮事項

  • レプリケート元バケットには既存のレプリケーション設定が必要です。レプリケーションを有効にするには、「レプリケーションの設定」と「チュートリアル: レプリケーションの設定例」を参照してください。

  • バケットで S3 ライフサイクルが設定されている場合は、バッチレプリケーションジョブがアクティブな際には、ライフサイクルルールを無効にすることをお勧めします。これにより、レプリケート元バケットとレプリケート先バケットの間で等価性が確保されます。これを行わない場合、これらのバケットが分岐し、レプリケート先バケットがレプリケート元バケットの完全なレプリカではなくなる可能性があります。以下の点を考慮します。

    • レプリケート元バケットには、オブジェクトと削除マーカーの複数のバージョンがあります。

    • レプリケート元とレプリケート先のバケットには、期限切れの削除マーカーを削除するライフサイクルポリシーが設定されています。

    バッチレプリケーションでは、オブジェクトのバージョンをレプリケートする前に、レプリケート先バケットに削除マーカーをレプリケートすることがあります。この削除マーカーが期限切れとしてマークされた時点で、オブジェクトがコピーされる前に、レプリケート先バケットから削除されてしまう可能性があります。

  • バッチオペレーションジョブを実行するために指定する AWS Identity and Access Management IAM ロールには、基になるバッチレプリケーションのおレーションを実行するための許可が必要です。IAM ロールの作成の詳細については、「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。

  • バッチレプリケーションには、Simple Storage Service (Amazon S3) で生成できるマニフェストが必要です。生成されたマニフェストは、レプリケーション元バケットと同じ AWS リージョンに保存されている必要があります。マニフェストを生成しない場合は、レプリケートするオブジェクトを含む Simple Storage Service (Amazon S3) インベントリレポートまたは CSV ファイルを指定できます。

  • バッチレプリケーションでは、レプリケート先バケットからオブジェクトのバージョン ID で削除されたオブジェクトの再レプリケーションはサポートされません。これらのオブジェクトを再レプリケートするには、バッチコピージョブを使用してソースオブジェクトを所定の場所でコピーします。これらのオブジェクトを所定の場所でコピーすると、レプリケート元バケットにオブジェクトの新しいバージョンが作成され、レプリケート先へのレプリケーションが自動的に開始されます。

    バッチコピーの詳細については、「バッチ操作を使用してオブジェクトをコピーする例」を参照してください。

バッチレプリケーションジョブのマニフェストの指定

マニフェストは、Simple Storage Service (Amazon S3) でオペレーションを実行するオブジェクトのキーを含む Simple Storage Service (Amazon S3) のオブジェクトです。バッチレプリケーションジョブを作成する場合は、ユーザー生成のマニフェストを指定するか、レプリケーション設定に基づいて Simple Storage Service (Amazon S3) でマニフェストを生成させる必要があります。

ユーザーが作成したマニフェストを提供する場合は、Simple Storage Service (Amazon S3) インベントリレポートまたは CSV ファイルの形式である必要があります。マニフェスト内のオブジェクトがバージョニング対応のバケット内にある場合は、そのオブジェクトのバージョン ID を指定する必要があります。マニフェストで指定されたバージョン ID を持つオブジェクトのみがレプリケートされます。マニフェストの指定の詳細については、「マニフェストの指定」を参照してください。

Simple Storage Service (Amazon S3) がユーザーに代わってマニフェストファイルを生成するように選択した場合、リストされたオブジェクトは、レプリケーション設定と同じレプリケーション元バケット、プレフィックス、タグを使用します。生成されたマニフェストでは、Simple Storage Service (Amazon S3) はオブジェクトの適格なバージョンをすべてレプリケートします。

注記

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

バッチレプリケーションジョブのフィルター

バッチレプリケーションジョブを作成するときに、オプションで、オブジェクトの作成日やレプリケーションステータスなどの追加のフィルターを指定して、ジョブのスコープを縮小できます。

オブジェクトのレプリケーションは、ObjectReplicationStatuses 値を基に、以下の値を 1 つ以上指定することでフィルターできます。

  • "NONE" - Simple Storage Service (Amazon S3) がこれまでオブジェクトのレプリケートを試みたことがないことを示します。

  • "FAILED" - Simple Storage Service (Amazon S3) が以前にオブジェクトのレプリケートを試みたがオブジェクトのレプリケーションに失敗したことを示します。

  • "COMPLETED" - Simple Storage Service (Amazon S3) が以前にオブジェクトを正常にレプリケートしたことを示します。

  • "REPLICA" - Simple Storage Service (Amazon S3) が別のソースからレプリケートしたレプリカオブジェクトであることを示します。

レプリケーションステータスの詳細については、「レプリケーションステータス情報の取得」を参照してください。

レプリケーションのステータスに基づいてフィルターしない場合、バッチオペレーションは適格なすべてのレプリケーションを試みます。目標によっては、以下のいずれかの値に ObjectReplicationStatuses を設定する場合があります。

  • レプリケートされたことがない既存のオブジェクトのみをレプリケートする場合は、"NONE" のみを含めます。

  • 以前にレプリケートに失敗したオブジェクトのレプリケートのみを再試行する場合は、"FAILED" のみを含めます。

  • 既存のオブジェクトをレプリケートし、以前にレプリケートに失敗したオブジェクトのレプリケーションを再試行する場合は、"NONE""FAILED" の両方を含めます。

  • 別のレプリケート先にレプリケートされたオブジェクトをレプリケート先バケットにバックフィルする場合は、"COMPLETED" を含めます。

  • 以前にレプリケートオブジェクトをレプリケートする場合は、"REPLICA" を含めます。