メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

クロスリージョンレプリケーション

クロスリージョンレプリケーションは、異なる AWS リージョンにあるバケット間でオブジェクトを自動的に非同期コピーする機能です。このバケットレベルの機能を有効にするには、replication 設定をレプリケート元バケットに追加します。設定では、オブジェクトのレプリケート先バケットなどの情報を指定します。すべてのオブジェクト、または、特定のキー名のプレフィックスが付いた一部のオブジェクトをレプリケートするように Amazon S3 にリクエストできます。たとえば、キー名のプレフィックスが "Tax/" であるオブジェクトのみをレプリケートするようにクロスリージョンレプリケーションを設定できます。こうすると、Amazon S3 は "Tax/doc1" や "Tax/doc2" のようなキーを持つオブジェクトをレプリケートし、"Legal/doc3" のようなキーを持つオブジェクトはレプリケートしません。

レプリケート先バケットにあるオブジェクトのレプリカは、レプリケート元バケットにあるオブジェクトの正確なレプリカです。キー名が同じで、メタデータ(作成時刻、所有者、ユーザー定義メタデータ、バージョン ID、ストレージクラス、ACL など)も同じです。Amazon S3 は、SSL を使用して AWS リージョンにわたり、伝送中のすべてのデータ転送を暗号化します。

ユースケースのシナリオ

バケットにクロスリージョンレプリケーションを設定する理由はさまざまです。以下に例を挙げます。

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

  • レイテンシーの最小化 – 顧客が 2 つの地域にいるとします。その場合、オブジェクトにアクセスする際のレイテンシーを最小にするために、地理的にユーザーのより近くにある AWS リージョンにオブジェクトのコピーを保持できます。

  • 運用上の理由 – コンピューティングクラスターが 2 つの異なるリージョンに存在していて、同じオブジェクトセットを分析しています。この場合、2 つのリージョンにオブジェクトのコピーを保持することができます。

要件

クロスリージョンレプリケーションの要件は以下のとおりです。

  • レプリケート元とレプリケート先のバケットは、バージョニングを有効にする必要があります(「バージョニングの使用」を参照)。

  • レプリケート元とレプリケート先のバケットは、異なる AWS リージョンに存在する必要があります。バケットを作成できる AWS リージョンのリストについては、『AWS 全般のリファレンス』の「リージョンとエンドポイント」を参照してください。

  • レプリケート元バケットのオブジェクトをレプリケートできるのは、1 つのレプリケート先バケットに対してのみです。

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

    Amazon S3 が引き受けることのできる IAM ロールを作成することで、このアクセス権限を付与できます(「IAM ロールを作成します。」参照)。このロールに S3 アクションのアクセス権限を付与して、Amazon S3 がこのロールを引き受けたときにレプリケーションタスクを実行可能にする必要があります。

  • レプリケート元バケットの所有者がオブジェクトも所有している場合、バケット所有者はオブジェクトをレプリケートする完全なアクセス権限を持ちます。そうでない場合、レプリケート元バケットの所有者はオブジェクトとオブジェクト ACL を読み取る S3 アクション(s3:GetObjectVersions3:GetObjectVersionACL)に対するアクセス権限を持つ必要があります(「ポリシーでのアクセス許可の指定」を参照)。リソースと所有権については、「Amazon S3 リソース」を参照してください。

  • クロスアカウントシナリオでクロスリージョンレプリケーションをセットアップする場合(レプリケート元とレプリケート先のバケットが異なる AWS アカウントによって所有されている)、レプリケート元バケットの所有者には、レプリケート先バケットにオブジェクトをレプリケートするアクセス権限が必要です。

    レプリケート先バケットの所有者は、バケットポリシーを通じてこのアクセス権限を付与する必要があります。例については、「チュートリアル 2: クロスリージョンレプリケーションの設定(レプリケート元とレプリケート先のバケットを異なる AWS アカウントが所有)」を参照してください。

詳細については、次のトピックを参照してください。

レプリケートするものと、しないもの

クロスリージョンレプリケーションのセットアップ方法

オブジェクトのレプリケーションのステータスを確認する方法

クロスリージョンレプリケーションと他のバケット設定

チュートリアル 1: クロスリージョンレプリケーションの設定(レプリケート元とレプリケート先のバケットを同一の AWS アカウントが所有)

チュートリアル 2: クロスリージョンレプリケーションの設定(レプリケート元とレプリケート先のバケットを異なる AWS アカウントが所有)