現場実践|AWS監査・ログ管理

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

「AWSで誰が何を操作したか記録したい」「セキュリティインシデントの調査方法を知りたい」——CloudTrailによるAPI操作ログの取得・CloudWatch Logsでの分析・異常操作のアラート設定を解説します。

読了目安:約18分更新日:2026年3月

💡 CloudTrailはAWSの「監視カメラ」。「いつ・誰が・どのAPIを・どこから呼び出したか」を全て記録します。セキュリティインシデント調査では最初に確認すべきサービスです。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWS環境の監査ログ設計・セキュリティインシデント調査を多数担当してきた立場から解説します。

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 50

4. 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月からフリーランス講師として本格始動予定です。

※AWSの機能・料金はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル