この記事はアイレット25卒社員によるAWSブログリレーのCloudTrail編です。

この記事はJapan AWS Top Engineersのクラウドインテグレーション事業部 クラウドコンサルティングセクション 鈴木 健斗さんの監修の下執筆をしております。

AWSブログリレーでは初学者や営業職の方などのこれからAWSについて学習する方向けに1記事1AWSサービスの概要やユースケースを解説するブログリレーとなっております。

AWSブログリレーについてはこちらの記事で詳しく記載しておりますので、よろしければ見ていただきたいです!

CloudTrailの概要

AWS環境で行われたほぼ全てのAPIの呼び出しやアクション履歴を記録してログファイルとして保存するサービスです。

CloudTrailを活用することでAWS環境内で行われた操作が「いつ、誰が、どこから、何を、どのように行ったか」を正確に追跡できます。

エラーの切り分けをする際や、リソースが消された・リソースが想定より多く使われている等の原因を確認することができます。

90日以内のイベントなら何も設定することなくログの確認ができます。

追加設定でログファイルをS3バケットに保存すれば、90日を超えて無期限に保管することもできます。

どんな機能があるか

イベント履歴

イベント履歴は、デフォルトで有効な直近90日間のAPIコール・操作ログを閲覧することができる機能です。これがCloudTrailの最も基本的な機能で、活用頻度も私は一番多いです。

閲覧できる対象データは管理イベントのみになります。そのため、データイベント(S3オブジェクトのGet/Put)やInsightイベントは記録されないです。

私は以下のような場面で活用しました。

・EC2インスタンスが停止されているが、停止させたのは誰、もしくは何が原因なのかを調べる

・リソースに作成したIAMロールを付与したいが、何故か見当たらない。誰かが誤ってIAMロールを削除していないかを調べる

以下のスクリーンショットは直近1日で自分が今活用しているEC2インスタンスのイベント記録です。

このように表示させる期間や属性をフィルタリングして絞り出すことができます。

下のスクショはフィルタリングできる属性の種類です。このように様々な角度からフィルタリングすることで、簡単に該当のイベントがあるかを見つけ出すことができます。

証跡(Trails)

証跡は、CloudTrailイベントを永続的に記録・管理するための中心的な機能です。

イベント履歴機能は閲覧できる期間が90日間でした。証跡は90日以上の期間のCloudTrailイベントを閲覧したい時や、CloudTrailイベントのログファイルを保管しておきたいときに活用します。

イベント履歴で見れる90日のイベントログは時間が経つと閲覧できなくなります。そうすると活発に開発をしていた時期から時間が経ってからシステムに不具合が起きて開発していた時のイベントログを確認したいといったときに90日以上経過しているので閲覧できないといったことが発生します。

そのような場面を発生させたくないといったときにこの証跡を設定することで防ぐことができます。

他にも、セキュリティ要件や監査目的で1年や3年の間ログデータを保持しておかないといけない要件があります。そういった際にこの機能を使ってログデータをS3に保管しておくことも実現できます。

項目 説明
ログの保存先 S3バケット、CloudWatch Logs(オプション)、EventBridge(オプション)から選択できます。
保存期間 S3のライフサイクルポリシーを活用し、無期限保存や「180日後に削除」といった柔軟なライフサイクル管理が可能です。
適用範囲 ・全てのリージョン、または特定のリージョンを選択して適用できます。
・AWS Organizationsと連携し、組織内の全アカウントのログを単一のS3バケットに集約することも可能です。
セキュリティ S3バケットに保存するため、AWS KMSを利用した保存ファイルの暗号化を実施できます。

Insight

InsightはAWSカウント内の運用アクティビティにおける異常を自動的に検出することができます。

CloudTrailの管理イベントを継続的に分析し、機械学習モデルを用いてアカウントのAPIコールレートやAPIエラーレートのベースラインを確立します。

Insightを活用することでこれまでのルールベースの監視では捉えきれなかった未知の脅威や運用上の問題を検知することができます。

実用のイメージとしては、以下の2点があると考えています。

・設定ミスによるAPIコールの急増を即座に把握する

・CI/CDパイプラインやIaCツールの設定ミスによる意図しないリソースの大量プロビジョニングや削除といった異常を感知する

この画面から、Insightsの活用例のイメージが付くかと思います。

注目すべきは「レート変更」の列です。例えばAllocateAddressという操作は、普段に比べて2,746,200%という頻度で実行されていることが検知されています。

もしこれが、設定を間違えた自作スクリプトの暴走や、外部からの攻撃によるものであれば、気付かずに放置すると想定外の課金やセキュリティインシデントに繋がりかねません。

CloudTrail Insightsは、このような「普段の振る舞いから大きく逸脱した異常」を、人間がログを追いかけることなく自動で発見し、リストとして提示してくれます。

Lake

Lakeは管理とセキュリティ分析に特化したマネージドなデータレイク機能です。

これまでの「S3+Athena」構成の運用負荷を無くし、複数アカウント・複数リージョンのイベントを単一のリポジトリに集約し、SQLによるクエリ分析ができます。

この機能の利点としては、AWSマネージドコンソールから直接SQLクエリを実行することができるため、これまで運用のオーバーヘッドとなっていた、データのパーティショニングやテーブル定義といったAthena利用時の準備が不要になることだと考えています。

実用のイメージとしては、以下の2点がると考えています。

・特定の侵害されたIAMロールが、特定に期間にコンソールログイン以外で行なった全てのAPI操作を時系列で追跡する

・本番環境のS3バケットに対して、想定しているIPレンジ外から行われた全てのGetObjectを操作をリストアップする

CloudTrailのメリット

・セキュリティの強化とインシデント調査ができる

Insightを活用することで、通常とは異なるAPIのアクティビティを検知することができるので、検知内容からセキュリティリスクに気づくことができ結果的にセキュリティ強化に繋がると考えています。

操作証跡の可視化を実現できるので、インシデント調査をする際はCloudTrailを活用する機会が多いと考えています。

・運用上のトラブルシューティングができる

システム障害や予期せぬ動作が発生した際に、どのAPIコールまでが成功し、どこから失敗したのかをコンソール上で追跡できるのがっこのサービスの大きな利点だと考えています。

実際私も、CloudTrailを活用してトラブルシューティングをすることでエラー原因の切り分けを行なったことがあります。

CloudTrailの料金

サービスによってはリージョンごとに料金が異なるサービスも存在しますが、CloudTrailは全リージョンで共通の料金形態なのが特徴です。

また、今回記載している料金は2025年10月16日時点での料金です。この記事を読んでいただいている時期によっては、料金が変更されている可能性もございます。ご了承お願い致します。

イベント履歴

この機能を利用するのに対しては料金が発生しません。

90日間の管理イベントに対しては無料で閲覧・検索・ダウンロードできます。

証跡(Trail)

管理イベントとデータイベントで料金体系が変わります。

管理イベント

・各リージョンで作成した最初の証跡が収集する管理イベントのコピーは無料。ただし、S3への保存料金は別途かかります。

・同じ管理イベントを収集する二つ目以降の証跡を作成すると有料になります。具体的に発生する料金は以下です。

S3に配信される管理イベント100,000件あたり $2.00

データイベント

管理イベントと違って無料枠がなく、最初から有料です。具体的に発生する料金は以下です。

S3に配信されるデータイベント 100,000件あたり $0.10

Insight

分析された管理イベントの数に基づいて料金が発生します。具体的に発生する料金は以下です。

分析されたイベント 100,000件あたり $0.35

Lake

データの取り込みとデータのスキャンに対して料金が発生します。

また、保存期間によって二つの料金プランがあります。具体的に発生する料金は以下です。

① 1年間延長可能な保持料金プラン(比較的安価)

データの取り込み

CloudTrailイベント: $0.75/GB

取り込み料金に最初の1年間のデータ保持料金が含まれます。

1年を超えて保持する場合は、追加のストレージ料金($0.023/GB/月)が発生します。

データのスキャン

スキャンしたデータ 1GBあたり $0.005

② 7年間の保持料金プラン(長期保存向け)

データの取り込み

最初の5TB/月: $2.50/GB

次の20TB/月: $1.00/GB

取り込み料金に7年間のデータ保持料金が含まれます。

データのスキャン

スキャンしたデータ 1GBあたり $0.005

まとめ

最後まで読んでいただきありがとうございました!この記事を通してCloudTrailの理解が深まったり、CloudTrailに対して興味を持っていただけると幸いです。

CloudTrailは無料で活用できるケースも多く、最初のハードルも他のサービスと比べて低いと思うので是非活用してみてください!

参考記事:

https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/how-cloudtrail-works.html

https://aws.amazon.com/jp/cloudtrail/pricing/