レプリケーション - Amazon Simple Storage Service

レプリケーション

レプリケーションでは、異なる Amazon S3 バケット間でオブジェクトを自動的に非同期コピーできます。オブジェクトのレプリケーション用に設定されたバケットは、同じ AWS アカウントが所有することも、異なるアカウントが所有することもできます。オブジェクトを異なる AWS リージョン間でコピーすることも、同じリージョン内でコピーすることもできます。

オブジェクトのレプリケーションを有効にするには、レプリケーション設定をレプリケート元バケットに追加します。最小設定では、以下を指定する必要があります。

  • Amazon S3 がオブジェクトをレプリケートするレプリケート先バケット。

  • Amazon S3 がユーザーのためにオブジェクトをレプリケートできる AWS Identity and Access Management (IAM) ロール

追加の設定オプションが利用可能です。詳細については、「追加のレプリケーション設定」を参照してください。

オブジェクトのレプリケーションの種類

オブジェクトを異なる AWS リージョン間でレプリケートすることも、同じ AWS リージョン内でレプリケートすることもできます。

  • 異なる AWS リージョン内の Amazon S3 バケット間でオブジェクトをコピーするには、クロスリージョンレプリケーション (CRR) を使用します。

  • 同一の AWS リージョン内の Amazon S3 バケット間でオブジェクトをコピーするには、同一リージョンレプリケーション (SRR) を使用します。

レプリケーションを使用する理由

レプリケーションは、以下の場合に役立ちます。

  • メタデータを保持しながらオブジェクトをレプリケートする — レプリケーションを使用すると、元のオブジェクトの作成時刻やバージョン ID などのすべてのメタデータを保持するオブジェクトのコピーを作成できます。この機能は、レプリカがソースオブジェクトと同じであることを確認する場合に重要です。

     

  • オブジェクトを異なるストレージクラスにレプリケートする — レプリケーションを使用すると、オブジェクトをレプリケート先バケットの S3 Glacier、S3 Glacier Deep Archive、または別のストレージクラスに直接配置できます。データを同じストレージクラスにレプリケートし、レプリケーション先バケットのライフサイクルポリシーを使用して、オブジェクトが古くなるにつれてより冷たいストレージクラスに移動することもできます。

     

  • オブジェクトのコピーを別の所有権で保持する — ソースオブジェクトの所有者に関係なく、レプリカの所有権をレプリケート先バケットの所有者である AWS アカウントに変更するように Amazon S3 に指示できます。これは所有者オーバーライドオプションと呼ばれます。このオプションを使用すると、オブジェクトのレプリカへのアクセスを制限できます。

     

  • オブジェクトを 15 分以内にレプリケートする — S3 Replication Time Control (S3 RTC) を使用して、予測可能な時間内に、同じ AWS リージョン内または異なるリージョン間でデータをレプリケートできます。S3 RTC は、Amazon S3 内に保存されている新規オブジェクトの 99.99% を 15 分以内にレプリケートします (サービスレベルアグリーメント (SLA) に基づく)。詳細については、「S3 Replication Time Control (S3 RTC) の使用によるコンプライアンス要件への対応」を参照してください。

CRR を使用する場合

クロスリージョンレプリケーションは、次のことに役立ちます。

  • コンプライアンス要件を満たす — Amazon S3 はデフォルトで地理的に離れた複数のアベイラビリティーゾーンにデータを保存しますが、コンプライアンス要件によっては、さらに離れた場所にデータを保存することが要求される場合があります。クロスリージョンレプリケーションでは、データを遠く離れた AWS リージョンにレプリケートできるため、そのような要件を満たせるようになります。

     

  • レイテンシーを最小にする — ユーザーが地理的に離れた 2 つの場所にいる場合、ユーザーにより近い AWS リージョンにオブジェクトのコピーを保持することで、オブジェクトにアクセスする際のレイテンシーを最小にすることができます。

     

  • 運用効率を向上する — コンピューティングクラスターが 2 つの異なる AWS リージョンにあり、同じオブジェクトセットを分析している場合、これら 2 つのリージョンにオブジェクトのコピーを保持できます。

SRR を使用する場合

同一リージョンレプリケーションは、次のことに役立ちます。

  • ログを 1 つのバケットに集約する—複数のバケットまたは複数のアカウントにログを保存している場合、ログを 1 つのリージョン内バケットに簡単にレプリケートできます。これにより、ログを一箇所でよりシンプルに処理できます。

     

  • 本番稼働用アカウントとテストアカウント間のライブレプリケーションを設定する—お客様またはお客様の顧客が保持する本番稼働用アカウントとテストアカウントで同じデータを使用する場合、SRR ルールを実装することにより、オブジェクトメタデータを維持しながら、これらの複数のアカウント間でオブジェクトをレプリケートできます。

     

  • データ主権法に準拠する — データの複数のコピーを特定のリージョン内の複数の異なる AWS アカウントに保存することを義務付けられる場合があります。同一リージョンレプリケーションを使用すると、コンプライアンス規制によりデータを国外に持ち出すことが許可されていない場合に、重要なデータを自動的にレプリケートできます。

レプリケーションの要件

レプリケーションには以下が必要です。

  • ソースバケットの所有者は、自分のアカウントに対して送信元と送信先の AWS リージョンを有効にする必要があります。レプリケート先のバケット所有者は、自分のアカウントでレプリケート先リージョンを有効にしている必要があります。AWS リージョンを有効または無効にする方法の詳細については、AWS General Referenceの「AWS サービスエンドポイント」を参照してください。

  • レプリケート元とレプリケート先の両方のバケットで、バージョニングを有効にする必要があります。

  • Amazon S3 には、ユーザーに代わってレプリケート元バケットのオブジェクトをレプリケート先バケットにレプリケートするアクセス許可が必要です。

  • ソースバケット所有者がバケット内のオブジェクトを所有していない場合、オブジェクト所有者は、オブジェクトアクセス今ロールリスト ( ACL) を使用して、バケット所有者に READ 権限と READ_ACP 権限を付与する必要があります。詳細については、「ACL によるアクセス管理」を参照してください。

  • ソースバケットで S3 オブジェクトロック が有効になっている場合、レプリケート先バケットでも S3 オブジェクトロック が有効になっている必要があります。詳細については、「S3 オブジェクトロック を使用したオブジェクトのロック」を参照してください。

    オブジェクトロック が有効になっているバケットでレプリケーションを有効にする場合は、AWS サポートまでお問い合わせください。

詳細については、「レプリケーションのセットアップの概要」を参照してください。

異なる AWS アカウントがレプリケート元バケットとレプリケート先バケットを所有するクロスアカウントのシナリオでレプリケーション設定を設定している場合は、次の追加の要件が適用されます。