[アップデート] AWS CloudTrail のデータイベントで 5 分単位の集約情報を記録できるようになりました

[アップデート] AWS CloudTrail のデータイベントで 5 分単位の集約情報を記録できるようになりました

2025.11.24

AWS CloudTrail のデータイベントを5分単位で集約して出力する機能である Aggregating data events が追加されました。

https://aws.amazon.com/about-aws/whats-new/2025/11/cloudtrail-data-event-aggregation-security-monitoring/

AWS Cloudtrail のデータイベントを記録する際に追加で有効化することができ、追加料金を支払うことで5分単位で次の集約情報を記録できます。

集約テンプレート名 概要
API Activity API 毎(GetObject など)の集約
Resource Access リソース毎の集約
User Actions IAM プリンシパル毎(IAM ユーザーなど)の集約

料金は、S3 に配信されて集計のために分析されたデータイベント 100,000 件あたり $0.03 です。

cloudtrail-data-event-aggregation-1

引用元:AWS CloudTrail pricing

AWS ユーザーガイドでは次のページに記載されています。本ブログ執筆時点では英語のページのみです。

https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating-data-events.html

試してみた

Aggregating data events を有効化して、S3 に配信された集約情報を確認してみます。

Aggregating data events の有効化

マネジメントコンソールから設定する場合は、データイベントを有効化した場合に Aggregating data events の設定ステップが追加されました。今回は S3 のすべてのイベントを記録する設定で試してみます。

cloudtrail-data-event-aggregation-2

Aggregation templates 毎に有効化するかどうかを選択できます。今回は3種類のテンプレートすべてを有効化して証跡を作成してみます。

cloudtrail-data-event-aggregation-3

作成した証跡の設定において、Aggregating data events が有効化されていることを確認できました。

cloudtrail-data-event-aggregation-4

AWS CLI で Aggregating data events の設定を確認した場合は次のコマンドで確認できます。

aws cloudtrail get-event-configuration \ --trail-name <your-trail-name> \ --region ap-northeast-1 

有効化されている場合のコマンド実行結果例です。

$ aws cloudtrail get-event-configuration \ > --trail-name cloudtrail-for-organizations \ > --region ap-northeast-1 { "TrailARN": "arn:aws:cloudtrail:ap-northeast-1:111122223333:trail/cloudtrail-for-organizations", "AggregationConfigurations": [ { "Templates": [ "API_ACTIVITY", "RESOURCE_ACCESS", "USER_ACTIONS" ], "EventCategory": "Data" } ] } 

無効化されている場合のコマンド実行結果例です。

$ aws cloudtrail get-event-configuration \ > --trail-name test-cloudtrail \ > --region ap-northeast-1 { "TrailARN": "arn:aws:cloudtrail:ap-northeast-1:111122223333:trail/Members", "AggregationConfigurations": [] } 

Aggregating data events の確認

既存で作成済みの S3 バケット test-on-aaa-20251122 test-on-bbb-20251122 から3回ずつオブジェクトをダウンロードしておきます。

for i in {1..3}; do aws s3 cp s3://test-on-aaa-20251122/download.txt .; done for i in {1..3}; do aws s3 cp s3://test-on-bbb-20251122/download.txt .; done 

AWS CloudTrail の配信先の S3 バケットでは次のフォルダ構成となっていました。今回は組織の証跡を作成していますが、アカウント単独の証跡の場合は組織 ID がないためフォルダ構成が一部変わると思われます。

AWSLogs/ └── o-1jnexample/ └── 111122223333/ └── CloudTrail-Aggregated/ └── ap-northeast-1/ └── 2025/ └── 11/ └── 23/ 

約5分間隔でファイルが出力されていました。5分単位で集約していることが関係していると思われます。

cloudtrail-data-event-aggregation-5

S3 バケットにアクセスした時刻の情報を確認してみます。コマンドを実行したのは 00:15 頃であり、今回の場合はその情報は 00:31 に配信されたファイル内にありました。
集約情報は下表のようにまとめられており、集約テンプレート毎に何にフォーカスして集計されているのかが異なっていました。表には行数を記載していますが、ブログ中では表示されないため、手元でコピーして確認いただくと分かりやすいかもしれません。

記載行 集約テンプレート名 集約内容 備考
2~93行目 API Activity GetObject イベント
93~185行目 API Activity HeadObject イベント
186~265行目 Resource Access test-on-aaa-20251122 バケット
266~345行目 Resource Access test-on-bbb-20251122 バケット
346~441行目 User Actions test-s3-user ユーザー コマンドを実行した IAM ユーザー
[ { "eventVersion": "1.0", "accountId": "444455556666", "eventId": "14ff0257-c7de-4f1b-92ec-0e11291eb79e", "eventCategory": "Aggregated", "eventType": "AwsAggregatedEvent", "awsRegion": "ap-northeast-1", "eventSource": "s3.amazonaws.com", "timeWindow": { "windowStart": "2025-11-23T15:15:00Z", "windowEnd": "2025-11-23T15:20:00Z", "windowSize": "PT5M" }, "summary": { "primaryDimension": { "dimension": "eventName", "statistics": [ { "name": "GetObject", "value": 6 } ], "aggregationType": "Count" }, "details": [ { "dimension": "resourceARN", "statistics": [ { "name": "arn:aws:s3:::test-on-aaa-20251122", "value": 3 }, { "name": "arn:aws:s3:::test-on-bbb-20251122", "value": 3 } ], "aggregationType": "Count" }, { "dimension": "userIdentity", "statistics": [ { "name": "ARN:arn:aws:iam::444455556666:user/test-s3-user", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "userAgent", "statistics": [ { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/E,G,Z,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,E,b,Z cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,Z,E,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/Z,E,G,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,E,G cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,G,E cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 } ], "aggregationType": "Count" }, { "dimension": "sourceIpAddress", "statistics": [ { "name": "192.0.2.1", "value": 6 } ], "aggregationType": "Count" } ] } }, { "eventVersion": "1.0", "accountId": "444455556666", "eventId": "82305865-f48d-4a82-97ac-f58fdf0841d3", "eventCategory": "Aggregated", "eventType": "AwsAggregatedEvent", "awsRegion": "ap-northeast-1", "eventSource": "s3.amazonaws.com", "timeWindow": { "windowStart": "2025-11-23T15:15:00Z", "windowEnd": "2025-11-23T15:20:00Z", "windowSize": "PT5M" }, "summary": { "primaryDimension": { "dimension": "eventName", "statistics": [ { "name": "HeadObject", "value": 6 } ], "aggregationType": "Count" }, "details": [ { "dimension": "resourceARN", "statistics": [ { "name": "arn:aws:s3:::test-on-aaa-20251122", "value": 3 }, { "name": "arn:aws:s3:::test-on-bbb-20251122", "value": 3 } ], "aggregationType": "Count" }, { "dimension": "userIdentity", "statistics": [ { "name": "ARN:arn:aws:iam::444455556666:user/test-s3-user", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "userAgent", "statistics": [ { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/E,G,Z,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,E,b,Z cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,Z,E,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/Z,E,G,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,E,G cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,G,E cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 1 } ], "aggregationType": "Count" }, { "dimension": "sourceIpAddress", "statistics": [ { "name": "192.0.2.1", "value": 6 } ], "aggregationType": "Count" } ] } }, { "eventVersion": "1.0", "accountId": "444455556666", "eventId": "c512ee92-f012-4887-8690-825ea6389d8f", "eventCategory": "Aggregated", "eventType": "AwsAggregatedEvent", "awsRegion": "ap-northeast-1", "eventSource": "s3.amazonaws.com", "timeWindow": { "windowStart": "2025-11-23T15:15:00Z", "windowEnd": "2025-11-23T15:20:00Z", "windowSize": "PT5M" }, "summary": { "primaryDimension": { "dimension": "resourceARN", "statistics": [ { "name": "arn:aws:s3:::test-on-aaa-20251122", "value": 6 } ], "aggregationType": "Count" }, "details": [ { "dimension": "eventName", "statistics": [ { "name": "GetObject", "value": 3 }, { "name": "HeadObject", "value": 3 } ], "aggregationType": "Count" }, { "dimension": "userIdentity", "statistics": [ { "name": "ARN:arn:aws:iam::444455556666:user/test-s3-user", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "userAgent", "statistics": [ { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,E,b,Z cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,Z,E,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/Z,E,G,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 } ], "aggregationType": "Count" }, { "dimension": "sourceIpAddress", "statistics": [ { "name": "192.0.2.1", "value": 6 } ], "aggregationType": "Count" } ] } }, { "eventVersion": "1.0", "accountId": "444455556666", "eventId": "e13fe544-0ce5-4452-a068-0b9ae60defa4", "eventCategory": "Aggregated", "eventType": "AwsAggregatedEvent", "awsRegion": "ap-northeast-1", "eventSource": "s3.amazonaws.com", "timeWindow": { "windowStart": "2025-11-23T15:15:00Z", "windowEnd": "2025-11-23T15:20:00Z", "windowSize": "PT5M" }, "summary": { "primaryDimension": { "dimension": "resourceARN", "statistics": [ { "name": "arn:aws:s3:::test-on-bbb-20251122", "value": 6 } ], "aggregationType": "Count" }, "details": [ { "dimension": "eventName", "statistics": [ { "name": "GetObject", "value": 3 }, { "name": "HeadObject", "value": 3 } ], "aggregationType": "Count" }, { "dimension": "userIdentity", "statistics": [ { "name": "ARN:arn:aws:iam::444455556666:user/test-s3-user", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "userAgent", "statistics": [ { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/E,G,Z,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,E,G cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,G,E cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 } ], "aggregationType": "Count" }, { "dimension": "sourceIpAddress", "statistics": [ { "name": "192.0.2.1", "value": 6 } ], "aggregationType": "Count" } ] } }, { "eventVersion": "1.0", "accountId": "444455556666", "eventId": "fe8aab53-b00b-44d1-aef6-4bb5139d5e9d", "eventCategory": "Aggregated", "eventType": "AwsAggregatedEvent", "awsRegion": "ap-northeast-1", "eventSource": "s3.amazonaws.com", "timeWindow": { "windowStart": "2025-11-23T15:15:00Z", "windowEnd": "2025-11-23T15:20:00Z", "windowSize": "PT5M" }, "summary": { "primaryDimension": { "dimension": "userIdentity", "statistics": [ { "name": "ARN:arn:aws:iam::444455556666:user/test-s3-user", "value": 12 } ], "aggregationType": "Count" }, "details": [ { "dimension": "resourceARN", "statistics": [ { "name": "arn:aws:s3:::test-on-aaa-20251122", "value": 6 }, { "name": "arn:aws:s3:::test-on-bbb-20251122", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "eventName", "statistics": [ { "name": "GetObject", "value": 6 }, { "name": "HeadObject", "value": 6 } ], "aggregationType": "Count" }, { "dimension": "userAgent", "statistics": [ { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/E,G,Z,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,E,b,Z cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/G,Z,E,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/Z,E,G,b cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,E,G cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 }, { "name": "[aws-cli/2.32.3 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,Z,G,E cfg/retry-mode#standard md/installer#exe md/prompt#off md/command#s3.cp]", "value": 2 } ], "aggregationType": "Count" }, { "dimension": "sourceIpAddress", "statistics": [ { "name": "192.0.2.1", "value": 12 } ], "aggregationType": "Count" } ] } } ] 

これで Aggregating data events の確認は終わりです。

さいごに

AWS CloudTrail のデータイベントを5分単位で集約して出力する機能である Aggregating data events が追加されたため、試してみました。既存のデータイベントを残しつつ、追加で集約情報を記録できました。データイベントを分析するための仕組みを作っていない場合に、手軽にサマリを確認したい場合に便利な機能だと思いました。
以上、このブログがどなたかのご参考になれば幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事