CloudTrailとは ― 操作の記録とAWS Configとの違い
CloudTrailは、
CloudTrailとは、AWSアカウントで行われた操作を記録するサービス
セキュリティグループの設定が変わっていた。EC2インスタンスが消えていた。そんなとき、誰がいつ何をしたかを調べられるのが、AWS CloudTrailです。AWSアカウントで行われた操作を、イベントとして記録するサービスです。
記録されるのは、ユーザーやロール、AWSのサービスが行った操作です。マネジメントコンソールでの操作も、CLIやSDKからのAPIの呼び出しも、同じように残ります。CloudTrailは、IAMで権限を与えたユーザーやロールの操作を後から確認するための記録です。リソースの状態を監視するCloudWatchとは、対象が違います。
AWSのユーザーガイドは、CloudTrailを監査・ガバナンス・コンプライアンスのためのサービスと説明しています。記録を確認する方法には、イベント履歴・証跡・CloudTrail Lakeの3つがあります。
1件のイベントに残るのは、誰が・いつ・どこから・どの操作をしたか
例として、ある開発者がセキュリティグループで22番ポートを開けたとします。SSHで接続できるように、送信元を0.0.0.0/0にした変更です。この操作は、EC2のAuthorizeSecurityGroupIngressというAPIの呼び出しです。呼び出し1回が、1件のイベントになります。
イベントは、項目ごとに値を持つJSON形式の記録です。主な項目と、この例での値は次のとおりです。
| 項目 | この | 意味 |
|---|---|---|
| eventTime | 2026-10-28T01:23:45Z | 操作が |
| userIdentity | IAMユーザーの | 操作した |
| sourceIPAddress | 198.51.100.5 | 操作の |
| eventSource | ec2.amazonaws.com | 要求を |
| eventName | AuthorizeSecurityGroupIngress | 呼んだ |
| awsRegion | ap-northeast-1 | 要求を |
| requestParameters | 対象の | 要求に |
userIdentityに入るのは、IAMの記事で説明したユーザーやロールなどの識別情報です。ロールを引き受けて操作したときは、引き受けたロールの情報が残ります。ルートユーザーでの操作も、ルートユーザーだと分かる形で残ります。AWSのサービスが利用者に代わって呼んだAPIも記録され、どのサービスが呼んだかが分かります。
イベントが記録されるのは、操作が成功したときだけではありません。権限が無くて失敗した操作も、エラーの内容とともに残ります。そのため、誰かが許可されていない操作を試みたことも検知できます。
イベント履歴と証跡の違いは、保存期間と送り先
イベント履歴は、アカウントを作ると最初から使える記録です。1つのリージョンの、過去90日の管理イベントを見られます。画面で1つの項目を条件に検索でき、ダウンロードもできます。
90日より前の操作を調べるには、事前に証跡を作っておく必要があります。証跡は、イベントを自分で指定したS3バケットに送り続ける設定です。英語ではトレイルと呼びます。
| 比べる | イベント履歴 | 証跡 |
|---|---|---|
| 使い始め | アカウントを | 自分で |
| 記録する | 管理イベント | 既定は |
| 保存期間 | 過去90日 | S3に |
| 範囲 | 1つの | コンソールで |
| 送り先 | 無し。 | S3バケット。 |
| CloudTrailの | かからない | 管理イベントの |
証跡のログは、S3のバケットにファイルとして届きます。ファイルは、自分で削除するまで残ります。S3のライフサイクルルールで、古いファイルを削除することもできます。ログが届くのは、APIの呼び出しから平均で約5分後です。この時間は保証されていません。
イベント履歴と証跡は、それぞれ独立して動作します。証跡の設定を変えても、イベント履歴の内容は変わりません。CloudTrail Lakeは、イベントを集めてSQLで調べる方法です。料金は別にかかります。
CloudTrailのイベントの種類は、管理・データ・ネットワーク・Insightsの4つ
CloudTrailが記録するイベントは、4つの種類に分かれます。このうち、既定で記録されるのは管理イベントだけです。ほかの種類は、証跡などで選んで追加します。追加の料金がかかります。
| 種類 | 記録する | 例 | 既定 |
|---|---|---|---|
| 管理イベント | リソースを | IAMの | 記録する |
| データイベント | リソースの | S3の | 記録しない。 |
| ネットワーク | VPCエンドポイントを | VPCの | 記録しない。 |
| Insightsイベント | APIの | 通常は | 記録しない。 |
管理イベントは、リソースを作ったり設定を変えたりする操作の記録です。前の節のセキュリティグループの変更も、管理イベントです。AWSのユーザーガイドは、この種類の操作をコントロールプレーンの操作とも呼んでいます。
データイベントは、S3のオブジェクトの読み書きのような、リソースの中のデータへの操作の記録です。件数が多くなりやすいため、既定では記録されず、イベント履歴にも表示されません。S3のファイルを誰が読んだかを調べたいなら、事前に証跡で記録を開始しておく必要があります。
CloudTrailとAWS Configの違いは、操作を残すか、設定を残すか
AWS Configは、AWSのリソースの設定を記録し、その変化を追跡できるサービスです。記録の頻度を連続にすると、Configは設定が変わるたびに、その時点の設定を設定項目として記録します。頻度を1日ごとにすると、1日に1回、前回と違うときだけ記録します。CloudTrailが残すのは操作で、Configが残すのは操作の結果の設定です。
Configには、設定がルールに合っているかを判定する機能もあります。Configルールは、記録した設定を条件と照合し、COMPLIANTかNON_COMPLIANTかを判定します。評価は、設定が変わったときや、指定した間隔ごとに実行されます。
前の節と同じ、22番ポートを開けた変更で比較します。CloudTrailには、誰がAPIを呼んだかが残ります。Configには、変更前と変更後の設定が残ります。restricted-sshというルールは、この変更をNON_COMPLIANTと判定します。このルールは、SSHを0.0.0.0/0から許可しているセキュリティグループを違反とみなします。
Configの設定項目に残るのは、その時点の設定と、ほかのリソースとの関係です。AWSの開発者ガイドは、リソースに行われた操作のイベントは、CloudTrailで調べるよう案内しています。設定がどう変わったかはConfigで、誰が変更したかはCloudTrailで確認します。
CloudWatchは、性能の数値やログを監視し、しきい値を超えたら通知するサービスです。CloudTrailとの違いはCloudWatchの記事でも説明しています。次の表は、3つのサービスを比較したものです。記録の設定をしてから使い始める点は、Configだけの特徴です。
| 比べる | AWS CloudTrail | AWS Config | Amazon CloudWatch |
|---|---|---|---|
| 記録するもの | 操作 | リソースの | 性能の |
| 答える問い | 誰が、 | 設定が | 現在の |
| 22番を開けた例 | Authorize | 変更前と | 証跡から |
| 使い始め | イベント履歴は | 記録の | 多くの |
知りたいことで、CloudTrail・Config・CloudWatchを選ぶ
どのサービスで調べるかは、知りたいことの種類で決まります。次の図で問いを選ぶと、使うサービス・その理由・確認する場所が切り替わります。
- AWS CloudTrail監査
- 理由
- 設定を
変える 操作は、 管理イベントと して 記録されます。 イベントには、 操作した IAMの ユーザーや ロールと 日時が 残ります。 送信元の IPアドレスと、 呼んだ APIの 名前も 残ります。 - 見るところ
- イベント履歴で、
イベント名AuthorizeSecurityGroupIngressを 探します。 過去90日の 管理イベントなら、 証跡を 作っていなくても 見られます。
- AWS Config監査
- 理由
- Configルールが、
記録した リソースの 設定を 条件と 照合し、 COMPLIANTか NON_COMPLIANTかを 判定します。 評価は、 設定が 変わった ときや、 指定した 間隔ごとに 実行されます。 - 見るところ
- Configルールの
評価結果を 見ます。 たとえば restricted-sshは、 SSHを 0.0.0.0/0から 許可している セキュリティグループを NON_COMPLIANTにします。
- AWS Config監査
- 理由
- 記録の
頻度を 連続に しておくと、 Configは 設定が 変わる たびに、 その 時点の 設定を 設定項目として 残します。 1つの リソースの 設定項目を 並べた ものが、 設定履歴です。 - 見るところ
- Configの
コンソールで リソースを 選び、 タイムラインで 前の 設定項目を たどります。 たどれるのは、 Configで 記録を 始めた あとの 設定です。
- Amazon CloudWatch監視
- 理由
- CPU使用率のような
性能の 数値は、 CloudWatchの メトリクスと して 集まります。 アラームは、 メトリクスが しきい値を 超えると 状態が 変わり、 通知を 送ります。 - 見るところ
- CPUUtilizationの
メトリクスに アラームを 作り、 SNSの トピックに 通知します。
- AWS CloudTrail監査
- Amazon CloudWatch監視
- 理由
- 変更の
記録は CloudTrailに あり、 知らせる 仕組みは CloudWatchに あります。 証跡から CloudWatch Logsへ イベントを 送ると、 2つを つなげます。 - 見るところ
- ロググループに
メトリクスフィルタを 作り、 変更の イベントを 数えます。 5分間に 1件以上で アラームにし、 SNSで 通知します。
- AWS CloudTrail監査
- 理由
- オブジェクトの
読み出し (GetObject)は、 データイベントです。 データイベントは 既定では 記録されず、 イベント履歴にも 出ません。 - 見るところ
- 前もって
証跡で S3の データイベントを 記録する 設定に しておき、 S3に 届いた ログを 調べます。 CloudTrailでは、 記録を 始める 前の 読み出しは 調べられません。
- AWS CloudTrail監査
- 理由
- イベント履歴に
残るのは 過去90日分です。 それより 古い 操作は、 証跡で S3に 送って おいた ログで 調べます。 - 見るところ
- 証跡の
S3バケットに ある ログファイルを 調べます。 ログは、 自分で 削除するか、 ライフサイクルルールで 削除するまで 残ります。
誰がしたかを知りたいときはCloudTrail、設定とルールを知りたいときはConfigです。数値の変化を知りたいときは、CloudWatchを使います。操作をすぐに通知したいときは、CloudTrailの記録をCloudWatchで監視します。
CloudTrailの使い道は、調査・監査・通知
1つ目は、不正な操作の調査です。認証情報が盗まれたときは、そのユーザーやロールが何をしたかを、イベントの日時をもとに順にたどれます。インシデントの対応の流れはCSIRTの記事、証拠の扱い方はデジタルフォレンジックスの記事で説明しています。管理イベントを自動で分析して不審な操作を検知するサービスには、Amazon GuardDutyがあります。
2つ目は、監査です。証跡のログファイルには、整合性の検証という機能があります。CloudTrailが配信したあとにログファイルが改ざんされていないかを、この機能で確認できます。Systems ManagerのSession Managerでの接続も、StartSessionのイベントとして残ります。
3つ目は、特定の操作の通知です。証跡からCloudWatch Logsにイベントを送り、メトリクスフィルタで特定の操作を集計します。AWSのユーザーガイドの例では、セキュリティグループの変更が5分間に1件以上あるとアラームになります。通知はSNSで送ります。特定の操作をきっかけに処理を動かしたいときは、Amazon EventBridgeのルールも使えます。
CloudTrailの料金は、イベント履歴と管理イベントの最初の1部は無料
CloudTrailの料金は、証跡で送るイベントの種類と件数で決まります。次の表の値は、2026年10月28日にAWSの料金ページで確認したものです。
| 項目 | 料金 |
|---|---|
| イベント履歴 | かからない |
| 証跡で | かからない。 |
| 管理イベントの | 10万件あたり2.00ドル |
| データイベント | 10万件あたり0.10ドル |
| Insightsイベント | 分析した |
証跡を1つ作って管理イベントだけを送るなら、CloudTrailの料金はかかりません。ただし、届いたログの保管料金は、S3の料金としてかかります。最新の値はCloudTrailの料金ページで確認してください。
AWS Configの料金は、記録した設定項目の数と、ルールの評価の数などで決まります。単価はリージョンによって違うため、Configの料金ページで確認してください。従量課金の考え方は、料金の記事にまとめています。
参考にした資料
- AWS「What Is AWS CloudTrail?」(CloudTrailの定義、記録の方法)
- AWS「How CloudTrail works」(イベント履歴の90日、証跡とS3、ログが届くまでの時間)
- AWS「CloudTrail concepts」(イベントの4つの種類と既定の記録)
- AWS「CloudTrail record contents for management, data, and network activity events」(イベントの項目)
- AWS「Creating CloudWatch alarms for CloudTrail events: examples」(セキュリティグループの変更を通知する例)
- AWS「Validating CloudTrail log file integrity」(ログファイルの整合性の検証)
- AWS「What Is AWS Config?」とAWS「AWS Config terminology and concepts」(Configの定義、設定項目、ルールの評価結果)
- AWS「Recording AWS Resources with AWS Config」(記録の頻度:連続と1日ごと)
- AWS「Components of a Configuration Item」(リソースのイベントはCloudTrailで調べること)
- AWS「restricted-ssh」(SSHの送信元を判定するマネージドルール)
- AWS「AWS CloudTrail Pricing」とAWS「AWS Config Pricing」(料金の仕組みと単価)
練習問題(全5問)
正解:AWS CloudTrail
CloudTrailは、
正解:過去90日の
イベント履歴は、
正解:証跡を
イベント履歴に
正解:データイベントなので、
オブジェクトの
正解:AWS Configの
Configルールは、
選んでから「採点する」を押すと、解説つきで答え合わせができます。