Storage

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

学習データ・RAGコーパスのデータレジデンシー要件とマルチリージョン推論の可用性を支える機能。生成AI文脈では「データを特定リージョンに留めるか、複数リージョンへ広げるか」という対立した要件の両方に顔を出します。

  • B|実装まわり
  • D1 FM統合・データ・コンプラ
  • D3 安全性・セキュリティ・ガバナンス

ひとことで言うと

バージョニングが有効な2つのバケット間で、オブジェクトを非同期に複製する仕組みです。異なるリージョンに複製するのがCross-Region Replication(CRR)、同一リージョン内ならSame-Region Replication(SRR)です。

要するに、支店間の在庫コピーです。コンプライアンス要件で「データを特定の国・リージョンから出せない」場合と、逆に「複数リージョンのアプリから低レイテンシで読みたい」場合、どちらもCRRが解決策になり得ます。
だから試験の分岐は「どちらの方向の要件か」です。データを外に出したくない(レジデンシー)のか、複数リージョンに広げたい(可用性・レイテンシ)のか。CRRの機能自体はどちらにも使えるので、シナリオの目的を読み違えると選択肢を誤ります。

何に使うか

用途使い方関連ドメイン
データレジデンシー要件の遵守特定リージョン内に留めるべき学習データ・文書を、許可されたリージョン間だけでCRR設定する(または意図的に設定しない)D1 1.3 / D3 3.2
マルチリージョン推論の可用性Knowledge Basesのデータソースとなる文書やベクトルストアの元データを複数リージョンに複製し、リージョン障害時の切り替えに備えるD1 1.2 / D1 1.4
学習・検証パイプラインの同期複数リージョンで同じデータセットを使ってモデルカスタマイズジョブを走らせる際の元データ同期D1 1.2

試験でどう問われるか

問われ方正解に寄る条件引っかけ
「学習データをリージョンAとBの両方から低レイテンシで使いたい」複数リージョンにデータを持ちたい → CRRBedrockのクロスリージョン推論(Cross-Region Inference)を使う案(推論の計算をどこに投げるかの機能で、S3の元データ複製とは別物)
「コンプライアンス上、学習データを日本国内リージョンから出せない」レプリケーション先を意図的に設定しない、または国内リージョン間のみでSRRに留める可用性のためにCRRを他国リージョンへ設定する案(要件と真逆)
「レプリケーションを設定したのに、既存の古い文書が複製されない」ライブレプリケーションは設定後に書き込まれたオブジェクトのみが対象。既存分にはS3 Batch Replication(オンデマンド)が必要レプリケーション設定のバグだと判断する案
「15分以内の複製完了をSLAで保証したい」S3 Replication Time Control(S3 RTC) を有効化する(99.99%を15分以内、SLA付き)標準のCRR/SRRをそのまま使う案(標準は24〜48時間以内・SLAなし)

両方のバケットでバージョニングが有効でないとレプリケーション設定自体ができません。また設定後は、レプリケーション構成を外さない限り送信元バケットのバージョニングを無効化できず、宛先側のバージョニングを無効化するとレプリケーションが失敗(ステータス FAILED)します。「バージョニングを止めたらエラーになった」というシナリオは、この依存関係を見ています。

実務でどう使うか

  • 既存オブジェクトは自動で複製されない。 ライブレプリケーション(CRR/SRR)は設定後に新規作成・更新されたオブジェクトだけが対象です。既存データを移すにはS3 Batch Replicationをオンデマンドで実行する必要があります
  • Intelligent-Tieringのオブジェクトをレプリケートすると「アクセス」として扱われ、複製元オブジェクトの階層が上がります。 コスト最適化のために低頻度層へ落としたつもりが、頻繁なレプリケーションで意図せず高い階層へ戻り続けることがあります
  • 異なるAWSアカウント間のレプリケーションでは、宛先バケット所有者が送信元バケット所有者にバケットポリシーで権限を付与する必要があります。 マルチアカウント構成のRAGパイプラインで文書を集約する場合、この権限設定を忘れると複製が始まりません

宛先バケットをRequester Paysバケットにはできません。クロスアカウントでコストを転嫁する構成を考えたくなりますが、レプリケーション先には設定できない仕様です。マルチアカウントのコスト配分は別の手段(タグベースのコスト配分等)で設計する必要があります。

取り違えやすいもの

迷う相手切り分けの一言
Bedrock Cross-Region InferenceCRRはS3上のデータそのものをリージョン間で複製する。Cross-Region Inferenceは推論リクエストの処理場所を複数リージョンに分散させる機能で、データの複製ではない。「データが複数リージョンにあるか」と「計算が複数リージョンで行われるか」は別問題
Same-Region Replication(SRR)目的(アカウント間集約・ログ集約)は共通だが、SRRは同一リージョン内。データレジデンシー要件で国外に出せない場合はSRR、可用性・レイテンシ改善で他リージョンにも置きたい場合はCRR
AWS Outposts / WavelengthCRRはAWSリージョン間の話。Outposts/Wavelengthは、越境データ対応のためにオンプレミス・エッジにAWSインフラそのものを持ち込む選択肢で、リージョン間複製とは別のレイヤー

想起チェック

Q1. CRRを設定する前から存在していたオブジェクトを複製するには?

ライブレプリケーション(CRR)は設定後の新規・更新オブジェクトのみが対象です。既存オブジェクトを複製するには、オンデマンドのS3 Batch Replicationを別途実行する必要があります。

Q2. 「学習データを複数リージョンから低レイテンシで使いたい」と「推論リクエストを複数リージョンに分散したい」で、選ぶ機能はどう変わりますか?

前者はS3上のデータそのものの複製なのでCRRが対象です。後者はデータではなく計算(推論)の分散なので、BedrockのCross-Region Inferenceの領域になります。

出典(AWS公式)