メインコンテンツへ移動
SAA-C03Resilient Architectures難易度標準

SAA-012

S3に保存された重要データを誤削除から保護し、過去の状態へ戻せるようにしたいです。最も適した機能はどれですか?

選択肢

解説と正解

解説と正解を読む(先に自分で回答してから開くのがおすすめです)

正解:A. S3 Versioning

解説

S3 Versioningを有効化すると、オブジェクトの複数バージョンを保持でき、誤削除や上書きからの復旧に役立ちます。

選択肢ごとの解説

A. S3 Versioning

正解です。過去バージョンの保持により復旧性が高まります。

B. S3 Transfer Acceleration

Transfer Accelerationは遠距離アップロード高速化です。

C. S3 Select

S3 Selectはオブジェクト内データの一部取得に使います。

D. S3 Event Notificationsだけを有効化する

イベント通知だけでは過去のオブジェクトを復元できません。

実務での使いどころ

S3 Versioning は、同一キーに対するオブジェクトの上書きや削除操作を「新しいバージョンの作成」として扱い、過去バージョンを保持し続ける機能である。バケット単位で有効化し、有効化後の更新・削除はすべてバージョン履歴として保存される。誤って `DeleteObject` を呼び出した場合でも、実体は削除マーカー(Delete Marker)が追加されただけであり、削除マーカーを除去すれば直前のバージョンが復活する。重要データを置く本番バケットでは、Versioning と MFA Delete、ライフサイクルルールによる古いバージョンの定期削除をセットで設計するのが標準的である。 代替案として AWS Backup による S3 のバックアップや、別バケットへのクロスリージョンレプリケーション(CRR)もあるが、これらは「別の保存先にコピーを作る」発想であり、Versioning の「同じバケット内で過去状態を保持する」発想とは目的が異なる。Versioning は誤操作・誤上書きからの即時復旧、CRR/Backup はリージョン障害や論理破壊への備えと整理できる。Versioning 有効化後は古いバージョンも課金対象となるため、ライフサイクルポリシーで一定日数経過後に削除または Glacier 系ストレージクラスへ移行させる設計が必要となる。 SAA-C03 では、「誤削除に備える」「過去状態に戻す」「オブジェクトの履歴を保持する」という表現で Versioning が問われる。誤答として「ライフサイクルポリシーで削除を防ぐ」「S3 Object Lock のみで戻せる」など、別機能を当て込む選択肢が混入する。Object Lock は WORM(書き込み一度、読み取り多数)モデルで改ざん防止に使う機能であり、誤操作からの復元目的では Versioning が第一選択である。

関連リンク

関連サービス