Q54 — AWS SAA-C03 第5章

第 54/65 問 | ← 第5章

Q354. ある企業は、Amazon S3 を使用して高解像度の画像を S3 バケットに保存しています。アプリケーションの変更を最小限に抑えるため、同社は画像を S3 オブジェクトの最新バージョンとして保存しています。同社は、画像のうち最も新しい2つのバージョンのみを保持する必要があります。また、コスト削減を望んでいます。同社は、この S3 バケットが大きな費用要因であると特定しています。運用オーバーヘッドを最小限に抑えつつ、S3 のコストを削減するには、どのソリューションが最も適していますか?

正解: A. S3 Lifecycle を使用して、有効期限が切れたオブジェクトのバージョンを削除し、最新の2つのバージョンのみを保持する

解説

S3 Lifecycle ルールは、バージョニングが有効なバケットにおいて、非現在の(noncurrent)オブジェクトバージョンの保持期間や削除ポリシーを自動的に管理できます。特に、'NoncurrentVersionExpiration' ルールで「非現在のバージョンを保持する最大数」(例:2)を指定することで、自動的に3番目以降の古いバージョンを削除できます。これは、コード記述・スケジューリング・監視などの追加作業を必要とせず、運用オーバーヘッドが最小です。一方、Lambda(B)や Batch Operations(C)はカスタム実装・管理・エラー対応などが必要で、オーバーヘッドが大きくなります。バージョニングを無効化(D)すると、新規アップロード時に古いバージョンが上書きされ、過去のバージョンが失われるため、要件(「2つの最新バージョンを保持」)を満たせません。したがって、A が正解です。