ある企業が AWS 上で稼働する複数のマイクロサービスのログを Amazon CloudWatch Logs で管理しています。現在、数百のロググループがあり、ログの保持期間が設定されておらず(無期限)、月次のコストが予想を大幅に超えています。また、セキュリティチームはすべてのログを 1 年間保持することを要求していますが、1 年以降は削除して構わないと言っています。コストを削減しながら要件を満たす最も適切な方法はどれですか?
- A. CloudWatch Logs の全ロググループを削除し、必要なログのみ再作成する
- B. CloudWatch Logs の Metric Filter を使ってログデータを CloudWatch メトリクスに変換し、元のログを削除する
- C. すべてのログを S3 に手動でエクスポートし、CloudWatch Logs からは削除する
- D. すべてのロググループの保持期間を 365 日(1 年)に設定する。1 年以降のアーカイブが必要な場合は、Lambda と CloudWatch Logs サブスクリプションフィルターで Kinesis Data Firehose 経由で S3 に安価に保存する
解答と解説を見る
正解: D
CloudWatch Logs の保持期間を 365 日に設定することで、1 年後に自動的にログが削除され、ストレージコストが削減されます。この設定はロググループ単位で行い、多数のロググループには AWS CLI や Lambda で一括設定できます。長期アーカイブが必要な場合は Kinesis Firehose 経由で S3 Glacier に保存することでさらにコストを削減できます。 A: ロググループの削除は稼働中のシステムのログ収集を停止させ、セキュリティ要件(1 年間保持)を満たせません。 B: Metric Filter はログからメトリクスを生成するもので、ログの保持コスト削減には直接対応していません。元のログを削除すると監査要件を満たせなくなります。 C: S3 への手動エクスポートは作業負荷が高く、継続的なログの転送と管理の自動化が不完全です。保持期間の自動設定の方がシンプルです。
📚 関連サービスの解説: AWS Lambda ・ Amazon CloudWatch