【基礎から学ぶ】AWS CloudTrailの課金体系をまとめてみた

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

AWS CloudTrail(以下、CloudTrail)はAPIの実行履歴を保存してくれるサービスです。
CloudTrailの費用は他のサービスと比べると少額であるため、課金体系を意識することは少ないかもしれませんが、案外わかりづらい部分もあるため、今回はCloudTrailの課金体系についてまとめてみます。

CloudTrailとは

CloudTrailについて、AWSのドキュメントに要点がまとまっていますので、まずそれを引用します。

AWS CloudTrail は、AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能にするサービスです。 CloudTrail を使用すると、AWS インフラストラクチャ全体でアカウントアクティビティをログに記録し、継続的に監視し、保持できます。CloudTrail では、AWS マネジメントコンソール、AWS の SDK やコマンドラインツール、その他の AWS のサービスを使用して実行されるアクションなど、AWS アカウントアクティビティのイベント履歴を把握できます。このイベント履歴により、セキュリティ分析、リソース変更の追跡、トラブルシューティングをより簡単に実行できるようになります。
https://aws.amazon.com/jp/cloudtrail/

すなわち、CloudTrailの利用により、AWSマネジメントコンソールを含めた全てのAPI実行ログを保存でき、障害時の原因究明等に利用可能です。

CloudTrailは「Trail(証跡)」という単位で設定を行い、保存するAPIログの種別や保存するS3バケット等を設定します。実行イメージを以下の図に示します。

現在、新規に作成されるAWSアカウントでは、CloudTrailはデフォルトで有効となっており、7日間分のAPIログは無料で保存されます。しかしながら、7日前より以前のログは破棄されてしまうため、サーバーワークスでは、より長い期間のログの保存を推奨しています。

その他、CloudTrailについては、弊社ブログでもいくつか記事を出しておりますので、参照頂けたらと思います。
http://blog.serverworks.co.jp/tech/tag/cloudtrail/

CloudTrailの課金体系

さて、CloudTrailの課金体系をご紹介します。

料金が発生するもの

CloudTrailの利用料(一部)

基本的にはCloudTrail自体の利用料は無料なのですが、各リージョンにて有効化した2つ目以降のTrail(証跡)に対しては、イベント毎 0.00002$の料金が発生します。
ただし、デフォルトで有効となっている7日間保存される設定は、課金対象のTrailにはカウントされません(すなわち、利用者が明示的にTrailを2つ作成すると、2つ目のTrailに対して料金が発生する)。

ログの保存に用いたストレージ使用量

ログの保存に用いたストレージ使用量分、料金が発生します。
ログの保存はCloudWatch LogsおよびS3に保存可能です。
それぞれの現時点での料金は以下の通りです。
– CloudWatch Logs
 - $0.50 : 取り込み GB あたり
 - $0.03 : GB あたりのアーカイブ/月
– S3
 - $0.0.25GB(※) : GBあたり/月

※最初の50TB/月

CloudWatchの料金について、詳細は以下を参照頂けたらと思います。
料金 – AWS CloudWatch

S3のリクエスト

CloudTrailからS3に行われたリクエストに対して料金が発生します。
CloudTrailからS3に対してはPUTとGETリクエストが実行されます。それぞれの課金体系は以下となっております。

  • PUT: $0.0047 : 1,000 リクエストあたり
  • GET: $0.0037 : 10,000 リクエストあたり

S3の料金について、詳細は以下を参照頂けたらと思います。
料金 – Amazon S3(クラウドストレージ)

料金が発生しないもの

ログの転送料金

ログの保存における転送料金は発生しません。
例えば、バージニア北部リージョンのリソースで実行されたAPIのログを東京リージョンのS3バケットに保存しても料金は発生しません。

料金例

例えば、東京リージョンに2つのTrailがあり、1つ目のTrailで100,000件、2つ目のTrailで150,000件のイベントを保存した場合、
CloudTrailの料金は2つ目のTrailのイベント件数に対して発生するため、以下の通りとなります。
$0.00002 × 150,000件 = $3
S3の料金はストレージの使用量およびリクエストに対して発生します。
使用量に関して、仮に1イベント1KByteとすると、
1KByte × 250,000件 = 250MB = $0.025
となります。リクエストに対して、仮にイベント5件毎にPUTが1回発生した場合、
((250,000件/5)/1,000)*$0.0047 = $0.235
となります。
上記の結果、合計$3.26となります。
改めて計算してみても、大変安価に利用可能ということがわかりますね。

おわりに

今回、CloudTrailの課金体系をまとめてみました。他のサービスについても、折を見て、取り上げられたらと思います。

AWS運用自動化サービス「Cloud Automator」