CloudTrail Lake で CloudTrail ログを調査してみた

AWS
AWSその他
この記事は約5分で読めます。

CloudWatch Logs Insights 、Athena を利用した CloudTrail ログの調査は以下ブログで行ってみましたので、CloudTrail Lakeでもやってみました。

CloudTrail Lake とは

イベントに対して Athena のようにクエリを行えます。

Athena との違い

  • テーブルを定義して作成する必要がない
  • クエリだけでなくデータ取込時に料金が発生

CloudTrail Lake はイベントデータストアを作成してからクエリを行いますが、そのイベントデータストアにデータが取り込まれると料金が発生します。

料金

取込・保存した(Ingest and store)最初の5TB(7年間は保存料込み): 1 GB あたり 2.5ドル
クエリでスキャンされたデータ:1 GB あたり 0.005 ドル

「Ingest and store」の「7年間は保存料込み」について、私なりに咀嚼した内容を述べてみます(無料枠は考慮しません)。

イベントデータストアを 1 月に作成し、1GB のデータを取り込んだとします。
1 月に請求される料金は 2.5 ドルであり、この金額はデータの取込・保存料となります。
翌月の 2 月にデータの取り込みがなければ取込・保存料は発生しません。
保存料が発生しないことを疑問に思うかもしれませんが、7 年間の保存料が 1 月の請求の 2.5 ドルに含まれています。これが「7年間は保存料込み」の意味です。
「毎月の保存料は請求しないけど、その分データの取込時に料金を多めに請求するよ」ということだ思っています。
イベントデータストアでデータを保存できる期間が現状7年なので、取込・保存料という形式で請求されるものの、保存料は無料であり、実質取込料のみと考えた方が単純で分かりやすいと思います。

なお、2022 年 6 月には請求書に以下のように「Ingestion-Bytes」と記載され、保存料に関しての記載はありませんでした。

AWS CloudTrail APN1-Ingestion-Bytes
$2.5 per GB for Ingestion-Bytes in Asia Pacific (Tokyo)

請求書にも取り込みに関する記載しかないので、保存料は気にしなくていいと勝手に思ってます(7年も保存しないし)。

料金 - AWS CloudTrail | AWS

注意点

  • イベントデータストアは、作成以降のイベントを取り込む
    • 過去のイベントを確認したい場合は、既存の CloudTrail 証跡の S3 のログをインポートしてイベントデータストアを作成することになる
  • 過去のイベントのみのイベントデータストアを作成できない
    • 現状、イベントデータストアを作成する際、過去のイベントのインポートのみを選択できません
    • 管理イベントまたはデータイベントを選択する必要あり
    • データイベントで存在しないS3を指定したりすることで、過去のイベントのみを持つイベントデータストアを作成することはできる

イベントデータストアの作成

イベントデータストアを作成します。

「証跡イベントをコピー」を選択し、既存証跡のCloudTrail ログをインポートします。
本来ならこれだけで十分なのですが、管理イベントまたはデータイベントのどちらかを選択する必要があるため、今回は「管理イベント」も選択します。
また、ここでイベントの時間範囲を指定できるので、調査対象の時間を指定します。今回は 1 ヶ月にしました。

クエリを行う

SELECT count (*) as TotalEvents, useridentity.arn, eventsource, eventname, errorCode, errorMessage FROM xxx
where errorcode like '%'
AND eventTime >= '2022-12-24T00:00:00Z'
AND eventTime <= '2022-12-24T23:59:59Z'
group by eventsource, eventname, errorCode, errorMessage, useridentity.arn

クエリのスキャン量15.6MB、クエリ秒数0.6秒でした。
Athena よりスキャンデータ量は多いものの、クエリ秒数は短い結果になりました(Athena だとスキャンデータ:2.57MB、実行時間 1.576秒)が、全てのクエリがこのような結果になるかは分かりません。

12 records matched | 5097 records (15.6 MB) scanned in 0.6s @ 8142.2 records/s (24.9 MB/s)

なお、クエリのサンプルはコンソールにも掲載されていますし、ドキュメントにもあります。

Example queries - AWS CloudTrail
This section includes example CloudTrail Lake queries to help you get started.

構文はこちら

CloudTrail Lake SQL constraints - AWS CloudTrail
CloudTrail Lake queries are SQL strings. This section describes the allowed SQL language that you use to create queries.

さいごに

過去のイベントのみをインポートできるイベントデータストアを作成できないことが残念でしたが、将来的なアップデートに期待したいです。

タイトルとURLをコピーしました