0.はじめに
NTTデータの鶴ヶ崎です。
公共分野の技術戦略組織に所属しており、普段はクラウド(主にAWS)を用いたシステム構築等を行っています。
今回は、以下2つを使っていて違いが分からなかったので比較と、使い分け方針を検討してみようと思います。
- CloudTrail Lake
- CloudTrailログが連携されたCloudWatch Logs Insights
目次
1.CloudTrail Lakeとは

CloudTrail Lakeとは、監査/セキュリティ調査/運用上のトラブルシューティングのために、AWS CloudTrail で記録されたイベントの集約/不変の保存/クエリに使用できるマネージド型データレイクです。イベントに対してSQLベースでクエリを実行することが可能です。
2.CloudWatch Logs Insightsとは

CloudWatch Logs Insightsとは、Amazon CloudWatch Logsのログデータをクエリ実行により分析可能な機能です。問題が発生した場合は、CloudWatch Logs Insights を使用して、潜在的な原因を特定し、デプロイされた修正を検証することができます。
3.両者の違い
上記より、CloudTrail Lake / CloudWatch Logs Insightsともにクエリ実行可能ということが分かります。それでは、具体的にどのような違いがあるかを以下で示します。
比較項目 | CloudTrail Lake | CloudWatch Logs Insights |
---|---|---|
クエリ言語 | SQL | 以下3つ - Logs Insights クエリ言語 (Logs Insights QL)) - OpenSearch Service Piped Processing Language (PPL) - OpenSearch Service 構造化クエリ言語 (SQL) |
分析対象 | CloudTrail Lake内のCloudTrailログ | CloudWatch Logsに連携されたCloudTrailログ |
データ保存形式 | Apache ORC 形式 (列指向) | json形式(行指向) |
使用料金 |
1クエリでスキャンされたデータ 0.005 USD/GB ※新規の場合30日間無料 |
1クエリでスキャンされたデータ 0.0076 USD/GB ※アジアパシフィック(東京)の場合 |
使用料金は2025年7月15日時点の情報です。最新の情報はリンクよりご確認ください。
以下にクエリ実行の様子を示します。
SELECT eventSource, eventName, COUNT(*) AS apiCount FROM $EDS_ID WHERE eventTime > DATE_ADD('week', -1, CURRENT_TIMESTAMP) GROUP BY eventSource, eventName ORDER BY apiCount DESC
fields eventSource, eventName
| stats count(*) as apiCount by eventSource, eventName
| sort apiCount desc
CloudTrail Lakeでは対象期間をクエリ内で指定しましたが、CloudWatch Logs InsightsではGUI上で指定しています。
4.両者の使い分け
上記の比較結果からも大きな違いはないように感じました。
使い分け方針としては、筆者の主観も入りますが以下のようになるのではと思います。
-
クエリ言語視点
-
SQLに慣れている場合
- CloudTrail Lakeを選択
-
CloudWatch Logs Insightsのクエリ言語に慣れている場合
- CloudWatch Logs Insightsを選択
- CloudWatch Logs Insightsを選択
-
SQLに慣れている場合
-
分析データ量視点
-
膨大なデータを分析する場合
- 列指向で効率的に分析可能なCloudTrail Lakeを選択
-
膨大でないデータを分析する場合
- どちらも選択可能(クエリ言語視点で選択)
- どちらも選択可能(クエリ言語視点で選択)
-
膨大なデータを分析する場合
-
分析対象データ視点
-
CloudTrailログ以外も含む場合
- CloudWatch Logs Insightsを選択
-
CloudTrailログのみの場合
- どちらも選択可能(クエリ言語視点で選択)
-
CloudTrailログ以外も含む場合
5.おわりに
CloudTrail LakeとCloudWatch Logs Insightsの違いをまとめました。同じ疑問を抱えた方の参考になれば幸いです。
※本ブログに記載した内容は個人の見解であり、所属する会社・組織とは関係ありません。また、誤った情報が含まれる可能性もありますのでご留意ください。