ひとことで言うと
バージョニングが有効な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の両方から低レイテンシで使いたい」 | 複数リージョンにデータを持ちたい → CRR | Bedrockのクロスリージョン推論(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 Inference | CRRはS3上のデータそのものをリージョン間で複製する。Cross-Region Inferenceは推論リクエストの処理場所を複数リージョンに分散させる機能で、データの複製ではない。「データが複数リージョンにあるか」と「計算が複数リージョンで行われるか」は別問題 |
| Same-Region Replication(SRR) | 目的(アカウント間集約・ログ集約)は共通だが、SRRは同一リージョン内。データレジデンシー要件で国外に出せない場合はSRR、可用性・レイテンシ改善で他リージョンにも置きたい場合はCRR |
| AWS Outposts / Wavelength | CRRはAWSリージョン間の話。Outposts/Wavelengthは、越境データ対応のためにオンプレミス・エッジにAWSインフラそのものを持ち込む選択肢で、リージョン間複製とは別のレイヤー |
想起チェック
Q1. CRRを設定する前から存在していたオブジェクトを複製するには?
ライブレプリケーション(CRR)は設定後の新規・更新オブジェクトのみが対象です。既存オブジェクトを複製するには、オンデマンドのS3 Batch Replicationを別途実行する必要があります。
Q2. 「学習データを複数リージョンから低レイテンシで使いたい」と「推論リクエストを複数リージョンに分散したい」で、選ぶ機能はどう変わりますか?
前者はS3上のデータそのものの複製なのでCRRが対象です。後者はデータではなく計算(推論)の分散なので、BedrockのCross-Region Inferenceの領域になります。