Q63 — AWS SAA-C03 第6章

第 63/65 問 | ← 第6章

Q428. ある企業は、AWS CloudTrailログを3年間保持する必要があります。この企業では、親アカウントからAWS Organizationsを使用して、一連のAWSアカウント全体でCloudTrailを強制的に有効化しています。CloudTrailのターゲットとなるS3バケットには、S3 Versioning(バージョン管理)が有効化されています。また、現在のオブジェクトを3年後に削除するよう設定されたS3ライフサイクルポリシーが適用されています。 S3バケットを4年間使用した後、S3バケットのメトリクスを確認すると、オブジェクト数が引き続き増加していることがわかりました。ただし、S3バケットに配信される新しいCloudTrailログの数は、これまでと同様に一定のままです。 3年より古いオブジェクトを、最もコスト効率の良い方法で削除するための解決策はどれですか?

正解: B. S3ライフサイクルポリシーを、現在のバージョンだけでなく以前のバージョンも含めて削除するように設定します。

解説

S3 Versioningが有効な状態では、オブジェクトの更新や上書きによって新しいバージョンが作成され、古いバージョンは自動的に削除されません。現在のライフサイクルポリシーは「現在のバージョン(current version)」のみを対象としており、「以前のバージョン(noncurrent versions)」は対象外のため、古いバージョンが蓄積し続け、オブジェクト数が増加しています。S3ライフサイクルポリシーで「Previous versions」を対象に削除ルール(例:NoncurrentVersionExpiration)を追加すれば、3年を超えた以前のバージョンも自動的に削除され、追加のコスト(Lambda実行料金など)を発生させずに、最もコスト効率の良い解決が可能です。選択肢AはCloudTrail自体にオブジェクトの有効期限設定機能はなく、誤りです。選択肢Cは動作は可能ですが、Lambdaの実行コスト・管理コストがかかり、S3ライフサイクルポリシーによるネイティブな自動削除より非効率です。選択肢Dは所有者を変更しても、バージョン管理下での不要なバージョンの削除には寄与しません。