CloudTrail ログ分析実践 - CloudTrail Lake と AI活用
CloudTrailのログは膨大になりがちです。JSONファイルが大量にS3に保存されている状態から、必要な情報を瞬時に引き出すための「分析基盤」について解説します。
1. CloudTrail Lake (次世代の分析基盤)
これまでCloudTrailの分析といえば「S3に出力してAthenaでクエリ」が定石でしたが、現在は AWS CloudTrail Lake が推奨されています。
CloudTrail Lake とは?
CloudTrail専用のマネージドデータレイクです。S3バケットやAthenaのテーブル設計を自分で行う必要がなく、数クリックで収集から分析(SQLクエリ)まで完結します。
AI による分析支援 (New!)
CloudTrail Lakeには、生成AIを活用した強力な機能が搭載されています。
自然言語クエリ生成 (Query Generation)
SQLが書けなくても、自然言語で質問するだけでクエリを生成してくれます。
質問例: "Show me all console login failures in the last 24 hours." (過去24時間のコンソールログイン失敗を見せて)
これにより、複雑な useridentity 構造体のパースなどをAIに任せることができます。
クエリ結果のAI要約 (Summarization)
大量のログが出力された場合でも、AIがその傾向や特筆すべきイベントを要約してくれます。インシデント初動対応の時間を大幅に短縮できます。
Event Enrichment (イベントエンリッチメント)
ログに「ビジネスコンテキスト」を付与する機能です。 通常、ログには i-12345678 のようなリソースIDしか残りませんが、この機能を使うと、そのリソースに付与されている タグ情報 などをログ自体に追加して保存できます。
- メリット: 「Project=Alpha のリソースに対する操作のみ抽出」といった分析が容易になります。
2. Amazon Athena による分析 (従来方式)
既存のS3バケットにあるログを分析する場合や、コストを極限までコントロールしたい場合は、Amazon Athenaを使用します。
コスト最適化のポイント
CloudTrailのログはJSON形式ですが、Athenaでそのまま検索するとスキャン料金が高くなりがちです。 パフォーマンスとコストを最適化するには、パーティショニング が必須です。
-- 推奨されるパーティション構成
PARTITIONED BY (region string, year string, month string, day string)よく使うクエリ集
コンソールログイン履歴
SELECT useridentity.username, eventtime, sourceipaddress
FROM cloudtrail_logs
WHERE eventname = 'ConsoleLogin'
AND region = 'us-east-1'
ORDER BY eventtime DESC
LIMIT 100;権限変更 (IAMポリシー変更) の追跡
SELECT eventtime, useridentity.username, eventname, requestparameters
FROM cloudtrail_logs
WHERE eventname IN ('AttachUserPolicy', 'DetachUserPolicy', 'PutUserPolicy')
ORDER BY eventtime DESC;失敗したAPI呼び出し (AccessDenied)
SELECT eventtime, useridentity.username, eventname, errorcode, errormessage
FROM cloudtrail_logs
WHERE errorcode IN ('AccessDenied', 'UnauthorizedOperation')
ORDER BY count DESC;3. 分析基盤の使い分け
| 特徴 | CloudTrail Lake | S3 + Athena |
|---|---|---|
| セットアップ | 即座に利用可能 (Easy) | テーブル定義などが必要 (Hard) |
| 検索速度 | 高速に最適化されている | データ量とパーティション設計に依存 |
| AI機能 | あり (Query Generation, Summarization) | なし |
| データ保持 | 最長7年 (設定による) | 無期限 (S3ライフサイクルで制御) |
| コスト | データ取り込み量 + クエリ量 | S3ストレージ費 + Athenaスキャン費 |
推奨: 新規構築や、運用負荷を下げたい場合は CloudTrail Lake がおすすめです。既存のS3ログ資産が大量にある場合はAthenaを併用します。
次のステップ
分析ができるようになったら、次は「自動検知」と「セキュリティ対応」に進みましょう。
- 高度な活用: セキュリティとコンプライアンス
- 異常検知、ファイルの改ざん検証、SIEM連携について解説します。