SAA-039
規制要件により、S3バケットのオブジェクトを別リージョンにも保持する必要があります。新しくアップロードされたオブジェクトが自動的に複製され、複製先でもバージョンが保持される構成として最も適したものはどれですか?
選択肢
解説と正解
解説と正解を読む(先に自分で回答してから開くのがおすすめです)
正解:C. 送信元バケットと送信先バケットの両方でバージョニングを有効化し、S3のクロスリージョンレプリケーションルールを設定する
解説
S3のクロスリージョンレプリケーション(CRR)は、新規オブジェクトを別リージョンのバケットへ自動的に非同期でコピーします。送信元・送信先ともにバージョニングが有効であることが前提条件で、これによって複製先でもバージョンが保持されます。
選択肢ごとの解説
A. AWS DataSyncのタスクを1日1回スケジュール実行し、2つのバケット間を同期する
DataSyncでもバケット間のコピーは可能ですが、スケジュール実行のバッチ処理になるため「新規オブジェクトが自動的に複製される」という要件に対しては遅延が大きく、実行間の変更が保護されません。
B. 別リージョンにAmazon EFSファイルシステムを作成し、S3バケットをマウントして同期する
Amazon S3はオブジェクトストレージであり、EFSファイルシステムとしてマウントする構成ではありません。技術的に成立しない選択肢です。
C. 送信元バケットと送信先バケットの両方でバージョニングを有効化し、S3のクロスリージョンレプリケーションルールを設定する
正解です。バージョニングはCRRの必須要件で、レプリケーションはバージョンIDを保ったままコピーします。
D. S3ライフサイクルルールを設定し、一定期間経過したオブジェクトを別リージョンのバケットへ移行する
S3ライフサイクルルールができるのはストレージクラスの遷移と有効期限による削除だけで、オブジェクトを別リージョンのバケットへ移動する機能はありません。
実務での使いどころ
S3 レプリケーションは、バケットに設定したルールに従ってオブジェクトを別のバケットへ自動的に非同期コピーする機能で、コピー先が別リージョンならクロスリージョンレプリケーション(CRR)、同一リージョンならセイムリージョンレプリケーション(SRR)と呼ぶ。CRR は災害対策やレイテンシー削減、地理的なコンプライアンス要件に、SRR はログの集約や本番から検証環境へのデータ提供、アカウントをまたいだバックアップに使われる。レプリケーションはバージョン ID・メタデータ・ACL を保ったままコピーし、必要なら複製先のストレージクラスや所有者を変更することもできる。 前提条件と挙動の癖を押さえておきたい。第一に、送信元・送信先の両バケットでバージョニングが有効である必要がある。第二に、既定ではルール作成後にアップロードされた新規オブジェクトのみが対象で、既存オブジェクトを複製するには S3 バッチレプリケーションを別途実行する。第三に、レプリケーションは非同期であるため完了までの時間は保証されない。時間の保証が必要な場合は S3 Replication Time Control(S3 RTC)を有効化すると 99.99% のオブジェクトが 15 分以内に複製され、レプリケーションメトリクスと通知が付く。また、SSE-KMS で暗号化されたオブジェクトを複製する場合は、複製先リージョンの KMS キーに対する権限をレプリケーションロールへ付与する必要がある。削除マーカーの複製は既定では無効で、明示的に有効化する。 SAA-C03 では「別リージョンにデータのコピーを保持したい」「地理的な冗長性が要件」という文脈で CRR が正解になる。誤答としてライフサイクルルールがよく並ぶが、ライフサイクルはストレージクラス遷移と失効だけを扱いリージョン間のコピーはしない、という区別が決め手になる。バージョニングが必須である点、既存オブジェクトにはバッチレプリケーションが必要な点も問われやすい。