AWS CloudTrailとCloudWatch Logsの活用入門|操作ログの取得・分析・アラート設定

現場実践|AWS監査・ログ管理
AWS CloudTrailとCloudWatch Logsの活用入門|操作ログの取得・分析・アラート設定
「AWSで誰が何を操作したか記録したい」「セキュリティインシデントの調査方法を知りたい」——CloudTrailによるAPI操作ログの取得・CloudWatch Logsでの分析・異常操作のアラート設定を解説します。
💡 CloudTrailはAWSの「監視カメラ」。「いつ・誰が・どのAPIを・どこから呼び出したか」を全て記録します。セキュリティインシデント調査では最初に確認すべきサービスです。
1. CloudTrailの基本
まず、AWS CloudTrailはAWSアカウント内の全APIコールを記録するサービスです。誰が(ユーザー・IAMロール)・いつ・どのAPIを・どこから(IPアドレス)・何を対象に実行したかが全て記録されます。本番環境では必ずCloudTrailを有効化してS3に証跡を保存することを推奨します。
2. CloudTrailのベストプラクティス設定
- 全リージョンで有効化:CloudTrailは各リージョンで個別に有効化が必要。「管理イベント」を全リージョンで記録するオーガニゼーショントレイルを使う
- S3に証跡を保存:CloudTrailのログはS3に保存する。保存先S3バケットはバケットポリシーで「CloudTrailサービスからのみ書き込み可能」に設定する
- ログファイルの整合性検証:CloudTrailのログファイル整合性検証を有効化して、ログが改ざんされていないことを確認できるようにする
3. CloudWatch Logsでインシデントを調査
# CloudWatch Logs Insightsでroot使用を検索
fields @timestamp, userIdentity.type, eventName, sourceIPAddress
| filter userIdentity.type = "Root"
| sort @timestamp desc
| limit 20
# 失敗したAPIコールを検索
fields @timestamp, eventName, errorCode, sourceIPAddress
| filter errorCode like "AccessDenied"
| sort @timestamp desc
| limit 504. rootアカウント使用のアラート設定
1
CloudTrailをCloudWatch Logsに連携する
CloudTrailの設定でCloudWatch Logsへの送信を有効化する。証跡のログをCloudWatch Logsで分析できるようになる。
2
メトリクスフィルターでrootアカウント使用を検知
CloudWatch Logsのメトリクスフィルターで「userIdentity.type = Root」を検出するフィルターを作成する。
3
CloudWatchアラーム→SNS→Slackで通知
メトリクスフィルターの値が1以上になったらSNS経由でSlackに通知するアラームを設定する。
📌 この記事のポイント
- CloudTrailはAWS全APIコールを記録するサービス。全リージョン有効化・S3保存が本番環境の基本
- CloudWatch Logs Insightsでrootアカウント使用・AccessDeniedエラーを素早くクエリできる
- CloudTrail→CloudWatch Logs→メトリクスフィルター→SNS→Slackの連携でリアルタイム異常検知を実現する
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




