AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 47:オブジェクトストレージのコスト最適化自動化
Amazon S3に保存されたログデータは、最初の30日間は頻繁にアクセスされますが、それ以降はほとんどアクセスされず、1年後には完全に削除してもよいという要件があります。コストを最小限に抑えるための方法として、正しい説明はどれか。
- S3アクセスアナライザーを有効化し、アクセス頻度が低下したオブジェクトを検知した際に、自動でデータを完全に削除するイベント通知の仕組みを構成する。
- S3レプリケーションを利用し、30日経過したデータを別のアカウントの安価なバケットにコピーしてから、元のバケットのデータを手動で削除する運用とする。
- S3ライフサイクルルールを設定し、30日後にGlacierにデータを移行させ、作成から365日経過後にオブジェクトを自動的に期限切れにして削除する。
- S3インベントリを定期的に実行し、最終アクセスから30日経過したファイルをAWS Batchのスクリプトで毎晩抽出し、安価なストレージへ移動させる。
- EventBridgeのスケジュールルールを作成し、Lambda関数を毎月トリガーして、30日経過した全オブジェクトを抽出し削除するカスタムコードを実行する。
正解と解説を見る
アクセス頻度が下がるデータを安価なストレージクラスに移動し、最終的に削除するプロセスを自動化するには、S3ライフサイクルルールを使用するのが正解です。
【正解の理由】
Amazon S3のライフサイクルルールを使用すると、オブジェクトの経過日数に基づいて「移行アクション」(例:30日後にS3 Glacierに移動)や「有効期限切れアクション」(例:365日後にオブジェクトを削除)を定義できます。これにより、カスタムスクリプトや手動の運用なしに、完全に自動化されたコスト最適化を実現できます。
【不正解の理由】
• 「S3アクセスアナライザーを有効化し〜イベント通知の仕組みを構成する」という説明は誤り。IAM Access Analyzer for S3はバケットへの外部アクセス権限を監査するセキュリティ機能であり、データアクセス頻度に基づく削除には使用しません。
• 「S3レプリケーションを利用し〜手動で削除する運用とする」という説明は誤り。レプリケーションはバックアップや冗長化のための機能であり、手動削除を伴う運用は自動化の観点からも不適切です。
• 「S3インベントリを定期的に実行し〜AWS Batchのスクリプトで毎晩抽出し」という説明は誤り。インベントリでリストを出力しバッチ処理を組むことは技術的に可能ですが、標準機能であるライフサイクルルールを使う方がはるかに簡単かつコスト効率が高いです。
• 「EventBridgeのスケジュールルールを作成し、Lambda関数を毎月トリガーして〜」という説明は誤り。カスタムコードを定期実行して削除処理を実装する必要はなく、ライフサイクルルールを使用すべきです。