こんにちは、フルスタックエンジニアのryuです。
今回の記事では、AWSでユーザーが行った操作を確認する方法について解説します。
EC2インスタンスを停止したのは誰か、セキュリティグループを変更したのはいつか、ログインに失敗していないか。このようなAWS上の操作は、AWS CloudTrailで調査できます。
CloudTrailは便利ですが、イベント履歴にすべてのログが表示されるわけではありません。リージョン、記録期間、管理イベントとデータイベントの違いを理解していないと、目的の操作が見つからないことがあります。
この記事では、AWSマネジメントコンソールで直近の操作を調べる方法を中心に、イベントの見方、検索例、90日を超えて保存する方法まで解説します。
AWSの操作ログを確認できるCloudTrailとは¶
CloudTrailは、AWSアカウント内で行われたAPI操作をイベントとして記録するサービスです。
マネジメントコンソールから実行した操作だけでなく、AWS CLI、SDK、別のAWSサービスが実行した操作も記録されます。
【AWS】ユーザーの操作したログ(イベントログ)を確認する方法解説!¶
AWSで操作したログを確認したい!
「AWSで操作したログを確認したい」と思ったことはありませんか?
このようなユーザーのアクティビティやインベントログを確認するためには、AWSのCloudTrailを使うと確認できます。
例えば、EC2のインスタンスの停止や起動をすると、以下のようにログが残ります。
誰が、いつ、どのような操作をしたのか詳細情報がCloudTrailを使うことで確認することができます。
CloudTrailでは、操作名、実行時刻、実行したIAMユーザーやロール、送信元IPアドレス、利用したリージョンなどを確認できます。
ただし、一覧のユーザー名だけでは実行者を判断できない場合があります。IAMロールやIAM Identity Centerを利用している環境では、イベントのJSONにあるuserIdentityやsessionContextまで確認しましょう。
CloudTrailのイベント履歴を開く方法¶
直近の管理操作を確認するだけなら、CloudTrailのイベント履歴を利用できます。
イベント履歴はAWSアカウントで自動的に利用できるため、事前に証跡を作成していない場合でも、過去90日間の管理イベントを検索できます。
CloudTrailの使い方¶
CloudTrailを使うためには、AWSのコンソール画面で、”CloudTrail“と検索します。
そこで、CloudTrailをクリックします。

CloudTrailのコンソール画面に移動したら、左のメニューより、「イベント履歴」をクリックします。すると、イベントログが表示されます。

イベント履歴の見方¶
現在の画面が画像と少し違っていても、左側のナビゲーションからイベント履歴を開く流れは同じです。
イベントは新しい順に並びます。初期状態では読み取り専用ではない操作だけに絞り込まれている場合があるため、参照系の操作も見たいときは既定のフィルターを確認してください。
イベント履歴は、以下のような情報が記載されています。
| 項目 | 確認できる内容 |
|---|---|
| イベント名 | 実行されたAPI操作。例:StopInstances、AuthorizeSecurityGroupIngress |
| イベント時間 | CloudTrailが記録した操作時刻 |
| ユーザー名 | IAMユーザー名やロールセッション名など |
| イベントソース | 操作対象のAWSサービス。例:ec2.amazonaws.com |
| リソースタイプ | EC2インスタンスやS3バケットなどの種類 |
| リソース名 | インスタンスIDやバケット名などの識別情報 |
| AWSリージョン | イベントが発生したリージョン |
イベント名をクリックすると、概要だけでなくイベントレコードのJSONを確認できます。
実行者を詳しく調べる場合は、userIdentity.type、ARN、sessionContext、sourceIPAddressを確認します。操作内容はeventNameとrequestParameters、失敗理由はerrorCodeから調べられます。
コンソールから実行した操作でも、内部ではAWS APIが呼び出されています。そのため、画面上のボタン名ではなく、APIのイベント名で検索する点がポイントです。
CloudTrailで目的のイベントを検索する¶
イベント履歴には多くのAWSサービスの操作が並びます。
最初から一覧を目で追うのではなく、調べたい内容をイベント名、ユーザー名、イベントソース、リソース名などへ置き換えて検索します。
イベントログを検索したい場合¶
イベントを検索したい場合は、ルックアップ属性から、カテゴリを選択して、キーワードを入力しましょう。
イベントログは多くの種類が記録されているので、目的のログを探す時は、ルックアップ機能を使いましょう。
イベント履歴の検索では、部分一致ではなく完全な値を求められる項目があります。検索結果が出ないときは、イベントレコードから正式なイベント名やリソースIDを確認してください。
EC2を停止したユーザーを調べる¶
EC2インスタンスを停止した操作は、一般的にStopInstancesとして記録されます。
イベント履歴でルックアップ属性をイベント名にし、次の値を入力します。
StopInstances
イベントを開き、requestParameters.instancesSetなどから対象のインスタンスIDを確認します。
実行者はuserIdentityから確認します。AssumedRoleの場合は、ロール名だけでなく、セッションの発行元やセッション名も確認してください。
セキュリティグループを変更した操作を調べる¶
インバウンドルールを追加した操作は、次のようなイベント名で記録されます。
AuthorizeSecurityGroupIngress
ルールを削除した場合は、次のイベントを探します。
RevokeSecurityGroupIngress
対象のセキュリティグループIDやCIDRは、イベントレコードのrequestParametersで確認できます。
AWSへのログイン履歴を確認する¶
AWSマネジメントコンソールへのサインインは、ConsoleLoginイベントとして記録されます。
イベント名へ次の値を指定します。
ConsoleLogin
成功・失敗の結果、送信元IP、MFAの利用状況などをイベントレコードから確認できます。
サインインイベントが見つからない場合は、別のリージョンも確認してください。CloudTrailのイベント履歴は、イベントが記録されたリージョンごとに表示されます。
AWS CLIでイベント履歴を検索する¶
操作を繰り返し調査する場合や、結果を加工したい場合はAWS CLIも利用できます。
直近90日間の管理イベントは、lookup-eventsで検索できます。
イベント名で検索する¶
EC2の停止操作を検索する例です。
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=EventName,AttributeValue=StopInstances \
--region ap-northeast-1
AttributeKeyにはUsername、EventSource、ResourceNameなども指定できます。CloudTrailのルックアップは指定したリージョンを検索するため、見つからない場合は操作したリージョンを確認してください。
詳細なJSONは結果内のCloudTrailEventに含まれます。監査目的なら、一時的な画面確認だけでなく証跡による継続保存も設定しましょう。
CloudTrailのイベント履歴で確認できないログ¶
CloudTrailのイベント履歴は便利ですが、すべてのAWS操作を表示する画面ではありません。
確認できる範囲を理解しておかないと、記録されていないと誤解してしまいます。
イベント履歴は過去90日間の管理イベント¶
イベント履歴で検索できるのは、現在のリージョンに記録された過去90日間の管理イベントです。
管理イベントには、EC2インスタンスの作成、IAM設定の変更、セキュリティグループの更新など、AWSリソースの管理に関する操作が含まれます。
90日より前の履歴を残すには、証跡を作成してAmazon S3へ継続的に配信します。
S3オブジェクトの読み書きは別設定¶
S3バケット自体の作成や設定変更は管理イベントです。
一方、オブジェクトのGetObject、PutObject、DeleteObjectなどはデータイベントです。イベント履歴には表示されず、証跡でデータイベントを有効化する必要があります。
Lambda関数の実行やDynamoDBの項目操作なども、サービスによってデータイベントとして扱われます。
データイベントは件数が多くなりやすく、料金にも影響するため、対象リソースと操作を絞って設定しましょう。
90日を超えてCloudTrailログを保存する方法¶
システムを運用するなら、問題が発生してからログ設定を始めるのでは遅い場合があります。
監査要件やインシデント調査に備え、証跡を作成して継続保存しましょう。
マルチリージョン証跡を作成する¶
CloudTrailの証跡を作成すると、イベントをAmazon S3バケットへ継続的に配信できます。
複数リージョンをまとめて記録するなら、マルチリージョン証跡を選びます。AWS Organizationsでは、組織の証跡を使ってメンバーアカウントを一元管理できます。
CloudWatch Logsへ送信する¶
証跡からCloudWatch Logsへイベントを送信すると、ログの検索やメトリクスフィルター、アラームを利用できます。
たとえば、ルートユーザーの利用、CloudTrail設定の変更、セキュリティグループの変更などを検知して通知する構成が考えられます。
CloudWatch Logsへの配信には遅延があるため、完全なリアルタイム処理とは考えないようにしましょう。
CloudTrail Lakeの現在の扱い¶
以前は、CloudTrail Lakeへイベントを保存し、SQLで分析する方法も紹介されていました。
しかし、CloudTrail Lakeは2026年5月31日から新規顧客へ提供されていません。既存利用者は継続できますが、これから新しく使う場合はCloudWatchなどの代替機能を検討してください。
通常のCloudTrail、証跡、Insightsなどは引き続き提供されています。CloudTrail全体が終了したわけではありません。
CloudTrailのログが見つからないときの確認事項¶
操作したはずなのにイベントが見つからない場合は、記録漏れと決めつける前に条件を確認します。
よくある原因は次のとおりです。
リージョンが違う¶
イベント履歴はリージョン単位です。
EC2やRDSなどのリージョナルサービスは、操作したリージョンのイベント履歴を確認してください。
IAMなどのグローバルサービスは、多くのイベントが米国東部バージニア北部などに記録される場合があります。
検索条件が違う¶
コンソール上の操作名とAPIイベント名は一致しないことがあります。
EC2の停止ならStopInstances、起動ならStartInstancesというように、AWS APIのイベント名で検索します。
フィルターへ部分的な文字列を入力しても見つからない場合があるため、完全な値を使用してください。
データイベントを探している¶
S3オブジェクトの取得などは、既定のイベント履歴には表示されません。
証跡で対象リソースのデータイベントを記録していたか確認してください。記録設定前のデータイベントを後から復元することはできません。
実行者がユーザー名で表示されない¶
IAMロール、IAM Identity Center、AWSサービスによる操作では、期待したIAMユーザー名が表示されないことがあります。
userIdentity.type、ARN、セッション情報、invokedByなどを確認し、誰がどの認証経路で実行したのかを判断します。
CloudTrailを使うためには?¶
ここまで、CloudTrailでイベントログを見る方法について解説しました。
CloudTrailを使うためには、どのような設定がいるのでしょうか?
CloudTrailは、デフォルトで有効になっているため特に追加設定をすることなく、イベントログを確認することができます。
正確には、イベント履歴で直近90日間の管理イベントを確認するだけなら、証跡の作成は不要です。
ただし、90日を超える保存、S3オブジェクトなどのデータイベント、CloudWatch Logsへの転送、複数アカウントの一元管理には追加設定が必要です。
S3ストレージ、CloudWatch Logs、データイベントなどには料金が発生する場合があるため、設定前に料金を確認してください。
システムの運用や管理、保守をするためには、ログの管理が必須です。CloudTrailをうまく活用していきましょう。
AWSのユーザー操作ログを確認する方法まとめ¶
今回の記事では、ユーザーの操作したログをCloudTrailで確認する方法を解説しました。
直近の管理操作は、CloudTrailのイベント履歴から検索できます。
確認するときは、イベント名、実行時刻、リージョン、userIdentity、送信元IPアドレス、対象リソースを確認しましょう。
重要なポイントは次のとおりです。
- イベント履歴はリージョンごとの過去90日間の管理イベント
- 操作はコンソール上の名称ではなくAPIイベント名で検索する
- IAMロール利用時は
userIdentityとセッション情報まで確認する - S3オブジェクト操作などのデータイベントは別途記録設定が必要
- 長期保存にはマルチリージョン証跡とS3を利用する
- 新規利用者はCloudTrail LakeではなくCloudWatchなどの代替を検討する
AWSの運用保守をする方は、問題が発生する前に証跡と保存先を設計しておきましょう。
InfraAcademyでは、AWS、Linux、ネットワークを実際に操作しながら学習できます。インフラエンジニアを目指している方や体系的に学習したい方はぜひお試しください。