[訂正記事] CloudTrail Lakeの保存料金はデータ取り込み時の一度だけでした!(毎月の保存料金は発生しません)

2022.01.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

先日、CloudTrail Lakeのアップデート紹介記事を投稿しましたが料金について誤った解釈で紹介をしていました。

上記記事は多くの方に読んでいただき、それなりに反響もございましたので、記事中でシレっと訂正を追加するだけでは誤った認識の払拭にならないだろうと思い、訂正記事として個別に投稿することにいたしました。

最初に結論を3行で

  • 先の記事でIngest & Store(取り込み料金と保存料金)についてGBあたり$2.5/月と誤った解釈したうえでS3保存料金$0.0025 per GB/月と比較して「高い」と表現していましたが誤りでした
  • 正しくは毎月の従量課金ではなくデータ取り込み時にのみGBあたり$2.5が発生します
  • 7年以内の保存料金が取り込み時の課金に含まれています(S3のような毎月の従量課金は発生しません)

以降は私の言い訳がつらつらと続きます。

誤った料金設定の解釈

価格表の項目ではIngest & Storeと記載されていましたので以下のように解釈しました

  • 取り込み料金 GB あたり$2.5
  • 保存料金 GB あたり毎月 $2.5

その結果「え。S3やったらGBあたり毎月$0.025なのに、めちゃ高いやん!」と感じたことから

イベントデータストアの料金が$2.5/GBなので、Athenaでの実装に満足している方は継続してAthenaを使ったほうがお財布には優しい

と結論づけました。シェアいただいた皆さんのコメントなどを見ても概ね同様の感想だったように思います。

正しい料金設定の解釈

しかしながらもう一度料金表をよく見てみましょう

どこにも/Monthなんて書いてません!

通常、下図のように容量あたり毎月の従量課金が発生する場合は/Monthの記載があります。

また、このような記載もあります。

With CloudTrail Lake, you are charged for the volume of data that you ingest, the volume of data you scan for analysis, and data storage, if you choose to store it for longer than 7 years.

CloudTrail Lakeでは、インジェストするデータ量、分析のためにスキャンするデータ量、7年以上の長期保存を選択した場合のデータ保存量に対して課金されます。

はい「7年以上のデータ保存量に対して課金」です。言い換えると「7年未満のデータ保存量に対して課金されません」ということになります。

結局CloudTrail Lakeは高い?安い?

結論から述べると、一概に「安い」「高い」でCloudTrail Lakeを評価するのは難しいと思います。

保存量込みだったら?

単純に東京リージョンのS3標準料金で7年保持したとしても$0.025/GB*12カ月*7年=$2.1になりますので$2.5/GBには届きません。

設定上は最短7日など短く設定もできるのですが、取り込み時に7年分の保存料金込みだと考えると、期間が短くなるほどにコスパは悪く感じてしまうかもしれません。

1年以上前のデータはGlacier?

2022.1.27 追記
公式料金ページから以下の記載は削除されているようです

料金ページには気になる記載があります。

Queries running on data more than 1 year old will require data retrieval time of 1 min to 12 hours.

1年以上前のデータに対するクエリーは、1分~12時間程度のデータ検索時間が必要です。

CloudTrail Lakeの裏側は公開されていませんので、あくまで想像の域ですが古いデータへのクエリに時間がかかる可能性について言及されていることから1年以上前のデータの保存先としてGlacierなどのアーカイブストレージの存在を感じずにはいられません。

だとすると、S3標準料金の7年保持で換算することもあまり意味がないように思えてきます。

S3以外の要素を考えると?

S3の保存料金だけで比較すると高いように感じますが、CloudTrail Lakeの推しポイントは「マルチリージョン」「マルチアカウント(Organization)」「高度なイベントセレクター機能」だと思います。

従来、各リージョンや各アカウントに散らばったログをAWS Glueなどを利用しながら特定イベントログを抽出、集約してAthenaでクエリ出来る状態に持っていくまでに要していた手間やコストを想像したうえで、判断されるのが良いでしょう。

「とりあえず何でもかんでもCloudTrail Lakeに放り込む」というよりかは、監査やセキュリティなどの調査のために高度なイベントセレクターで特定ログのみを抽出する、且つある程度の長期間保持しておく必要がある、といった利用がマッチするのではないでしょうか。

まとめ

  • CloudTrail Lakeの料金には取り込み+7年間分の保存料金を含めての$2.5/GB
    • S3のように保存されいてるデータ量に対する毎月の従量課金ではない
  • 一定期間を経過するとデータ検索時間が長くなる場合があることからアーカイブストレージの存在を感じる
    • S3標準料金だけで保存料金を比較することは出来ない
  • マルチリージョン、Organization内のマルチアカウント、高度なイベントセレクターによるイベント抽出、集約の手間やコストも含めて$2.5/GBをどう判断するか

私のアップデート記事によって「何だよ、CloudTrail Lake高いやんけー」といった認識を植え付けられてしまった方に、「保存料金込み」であるといった正しい理解のうえであらためて評価いただければ幸いです。