オブジェクトのレプリケーション - Amazon Simple Storage Service

新しい Amazon S3 ユーザーガイドにようこそ! Amazon S3 ユーザーガイドは、使用中止された 3 つのガイド (Amazon S3 開発者ガイドAmazon S3 コンソールユーザーガイドAmazon S3 入門ガイド) の情報と手順をまとめたものです。

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

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

デフォルトでは、レプリケーションは有効化した後の新しい Amazon S3 オブジェクトのコピーのみをサポートします。レプリケーションを使用して既存のオブジェクトをコピーし、別のバケットに複製することはできますが、そのためには AWS サポートセンターに連絡する必要があります。サポートに連絡する場合は、AWS サポートケースに「既存オブジェクトのレプリケーション」という件名を記載し、次の情報を送信してください。

  • レプリケート元バケット

  • 送信先バケット

  • レプリケートする推定ストレージボリューム (テラバイト単位)

  • レプリケートするストレージオブジェクトの推定数

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

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

  • ユーザーに代わってオブジェクトをレプリケートするために Amazon S3 が引き受けることができる AWS Identity and Access Management (IAM) ロール

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

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

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

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

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

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

  • 複数の AWS リージョンに格納されたオブジェクトを保持する – 異なる AWS リージョン間で複数のレプリケート先バケットを設定して、データの保存場所を地理的に異なる場所にします。これは、特定のコンプライアンス要件を満たす場合に役立ちます。

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

クロスリージョンレプリケーションを使用する場合

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

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

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

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

同一リージョンレプリケーションを使用する時

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

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

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

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

レプリケーションの要件

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

  • 送信元バケット所有者は、自分のアカウントに対して送信元と送信先の AWS リージョンを有効にする必要があります。レプリケート先のバケット所有者は、自分のアカウントでレプリケート先リージョンを有効にしている必要があります。

    AWS リージョンの有効化または無効化の詳細については、AWS 全般のリファレンスの「AWS のサービスエンドポイント」を参照してください。

  • レプリケート元とレプリケート先の両方のバケットで、バージョニングを有効にする必要があります。バージョニングの詳細については、「S3 バケットでのバージョニングの使用」を参照してください。

  • Amazon S3 には、お客様に代わってレプリケート元バケットから送信先バケットにオブジェクトをレプリケートするためのアクセス許可が必要です。

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

  • レプリケート元バケットで S3 オブジェクトロックが有効になっている場合は、レプリケート先バケットでも S3 オブジェクトロックが有効になっている必要があります。

    詳細については、「S3 オブジェクトロックの使用」を参照してください。オブジェクトロックが有効になっているバケットでレプリケーションを有効にするには、AWS サポートまでお問い合わせください。

詳細については、「レプリケーションの設定」を参照してください。

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