ログ集約と長期保管の設計 CloudWatch LogsとFirehoseで運用に効かせる
この記事は DOP-C02 を目指す方に向けて、ログをどこへ集め、どう保ち、どう使うかを整理します。試験では「検索したい」「安く長期保管したい」「リアルタイムに反応したい」という異なる要件が混ざって出題されます。
覚え方は3つの観点です。すぐ調べたいログ・安く長く残すログ・すぐ反応したいログ。目的ごとに置き場所を変えるのが設計の基本です。
すぐ調べたいログ
CloudWatch Logs は直近の障害調査に向きます。ロググループごとに保持期間を1日から無期限まで設定でき、Logs Insights のクエリで横断検索できます。使いどころは直近1か月から3か月の運用調査。ただし保管単価はS3より高いため、無期限のまま放置すると費用が膨らみます。保持期間を明示的に設定するのが定石です。組織で複数アカウントを扱う場合は、クロスアカウントのオブザーバビリティを設定して監視用アカウントから横断的に検索できるようにします。
安く長く残すログ
監査目的で数年残すログは、サブスクリプションフィルターから Amazon Data Firehose を経由してS3へ落とします。Firehose はバッファリングと圧縮、パーティション分割をしてくれるため、Athena で日付ごとにスキャンする構成と相性が良く、スキャン量が減ってクエリ費用も下がります。S3側ではライフサイクルルールでGlacier系へ移行し、改ざん防止が必要ならオブジェクトロックを併用します。
すぐ反応したいログ
特定の文字列が出たら即アラートしたい場合は、メトリクスフィルターでログからカスタムメトリクスを作り、CloudWatch アラームにつなぎます。より複雑な処理をしたいときはサブスクリプションフィルターでLambdaへ流し、加工や通知を行います。
| 目的 | 置き場所 | 経路 |
|---|---|---|
| 直近の障害調査 | CloudWatch Logs | エージェントまたはサービス側の出力 |
| 長期保管と分析 | S3 と Athena | サブスクリプションフィルターからFirehose |
| 即時アラート | CloudWatch アラーム | メトリクスフィルター |
| カスタム処理 | Lambda | サブスクリプションフィルター |
チェックリスト
- CloudWatch Logs の保持期間を設定すべき理由を説明できる
- サブスクリプションフィルターとメトリクスフィルターの違いを言える
- Firehose を挟むとAthenaのコストが下がる理由を説明できる
- 複数アカウントのログを横断検索する方法を知っている
- 監査ログの改ざん防止に使う機能を挙げられる
まとめ
ログ設計は目的ごとに置き場所を分けることに尽きます。調査はCloudWatch Logs、保管と分析はS3とAthena、反応はフィルターとアラーム。この対応表を覚えておけば設問は素早く切り分けられます。
理解を確かめるにはクイズで腕試しを、最新の出題範囲はAWS認定 公式ページで必ず確認してください。
DOP(DevOpsエンジニア) におすすめの教材
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集
AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)
AWS認定DOP 演習テスト(日本語)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。