S3リクエストメトリクスを有効にする際に発生した料金について

S3リクエストメトリクスを有効にする際に発生した料金について

Clock Icon2025.02.14

困っていた内容

S3バケットでリクエストメトリクスを有効化、cloudwatchでログを出力することで該当バケットへアクセスがあった際にメール通知します。
該当のバケットのリクエストメトリクスを有効化する上で発生した費用の確認方法をご教授ください。

確認方法

リクエストメトリクスとして有効になるメトリクスのうち、実際にリクエストが発生することで put されたメトリクスのみが課金対象として計上されます。
リクエストメトリクスの計測は毎時行われますので、時間単位内に put が発生しなかったメトリクスは、その時間帯について課金対象から除外されます。
リクエストメトリクスの費用につきましては、下記AWSドキュメントの「例19_S3リクエストメトリクス」を引用いたします。
[Amazon CloudWatch Pricing]
(https://aws.amazon.com/jp/cloudwatch/pricing/)

たとえば、バックアップルーチンを毎日実行し、かつその実行が 1 時間以内に完了するアプリケーションを考えてみましょう。このアプリケーションでは、S3 に対して PUT リクエストだけが行われます。そのため、AllRequests、PutRequests、TotalRequestLatency、BytesUploaded といったメトリクスだけが生成され、DeleteRequests、SelectRequests、SelectReturnedBytes といったその他の操作に関するメトリクスは生成されません。例として、16 種類のうち 8 種類のメトリクスが生成されると仮定します。なお、メトリクスの詳細な一覧は Amazon S3 のドキュメントにあります。ルーチンが 1 時間のうちに始まり、完了したと仮定すると、生成されて CloudWatch にパブリッシュされるメトリクスの数は以下のようになります。
メトリクスの総数 = 8
パブリッシュされたメトリクスの合計時間 = 1 時間/日が 30 日 (30 日までの月と仮定) = 1 * 30 = 30 時間/月
合計時間/月 = 30 日 * 24 時間 = 720 時間/月
最初の 10,000 件のカスタムメトリクス@メトリクスあたり 0.30 USD = 0.30 USD * 8 (メトリクスの数) * 30 (メトリクス時間/月) / 720 (時間/月) = 0.10 USD/月
S3 リクエストメトリクスの CloudWatch 月額料金 = 0.10 USD/月
メトリクスの合計数が 10,000 を超えると、上記の料金表に基づいてボリューム料金が適用されます。

具体的な計算例

例19では、1日に1時間のみメトリクスがput される想定となっております。
そのため、月の日数が30日の場合、put される総時間は 1 * 30 = 30時間です。
上述の通り、put されたメトリクスのみが課金対象のみとなるため、30/720時間が課金対象として計上されています。
仮に、1日に1時間ではなく、月の中で毎時間メトリクスがputされる場合は、上記式の30時間が720時間に置き換わります。

参考資料

[1] [reate estimate: Configure Amazon CloudWatch]
(https://calculator.aws/#/createCalculator/CloudWatch)

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.