メインコンテンツへ移動
SAA-C03Cost-Optimized Architectures難易度難しい

SAA-029

CloudWatch LogsにLambdaの詳細ログを大量出力しており、ログ保存コストが増えています。調査に必要な期間だけログを保持し、古いログを自動削除したい場合、最も適した設定はどれですか?

選択肢

解説と正解

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

正解:D. CloudWatch LogsのロググループにRetention periodを設定する

解説

CloudWatch LogsのRetention periodを設定すると、指定期間を過ぎたログを自動削除できます。ログ保存コストの抑制に有効です。

選択肢ごとの解説

A. CloudWatch LogsをS3バケットとして公開する

ログを公開する設計はセキュリティ上危険です。

B. Lambdaのタイムアウトを最大にする

Lambdaタイムアウト最大化はログ保存コスト削減になりません。

C. API GatewayのCORSを無効化する

CORS設定はログ保持とは関係ありません。

D. CloudWatch LogsのロググループにRetention periodを設定する

正解です。ログ保持期間を制御できます。

実務での使いどころ

CloudWatch Logs のロググループには Retention period(保持期間)を設定でき、1 日〜10 年(または無期限)の範囲で指定できる。デフォルトは「Never Expire(無期限)」となっており、Lambda や ECS、API Gateway などのサービスを使い続けるとログが永続的に蓄積し、保存課金(GB 月)が増え続ける。実務では、ロググループ作成時または運用開始直後に Retention period を必ず設定し、調査・監査に必要な期間(一般的には 14 日〜90 日)だけ保持するのが基本である。 長期保管が必要なログ(監査要件、コンプライアンス要件等)は、Subscription Filter や Export タスクで S3 へ転送し、S3 Lifecycle rules で Glacier や Deep Archive に階層化するパターンが定石となる。S3 の長期保管単価は CloudWatch Logs より大幅に安く、Athena でクエリすればログ分析もできる。CloudWatch Logs Insights は強力な分析クエリを提供するが、スキャン量で課金されるため、頻繁な大規模クエリが想定される場合はコスト試算が必要となる。 SAA-C03 では「CloudWatch Logs のコスト削減」「ログ保存期間の管理」「自動削除」という要件で Retention period 設定が正解となる。S3 公開(セキュリティ違反)、Lambda タイムアウト最大化(無関係)、API Gateway CORS 無効化(CORS はブラウザの同一オリジンポリシー制御で別目的)はいずれも誤答である。S3 への長期エクスポート、Logs Insights のスキャン課金、Subscription Filter 経由でのリアルタイム転送なども上位試験で問われる。

関連リンク