3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「料金設定が月単位」「課金が秒単位」のAWS EBSの料金計算

Posted at

概要

AWS EBSのストレージ/ボリュームのサイズに対する料金は秒単位で課金されます。料金は月額で設定されていますが、月額÷その月の日数÷86,400秒(24時間)が1秒当たりの料金になります。月によって1秒当たりの料金は少しだけ上下します。

AWS EBSの料金設定と課金の単位

AWSには料金設定と課金単位の粒度が違うサービスがあります。例えばEBSの料金は次のように「GB 月」と月額で設定されています(金額は2021年6月1日時点の東京リージョン)。

ボリュームタイプ 料金
汎用SSD(gp3)-ストレージ 0.096USD/GB 月
汎用SSD(gp2)ボリューム 1か月にプロビジョニングされたストレージ1GBあたり0.12USD

しかしEBSのデータ量に課金は、実は秒単位です(ただし最小で60秒分は課金されます)。次のように書かれています。

  • gp3 ボリュームのプロビジョンドストレージ、プロビジョンド IOPS、およびプロビジョンドスループットは、1 秒ごとに課金されます (最小課金時間は 60 秒)。
  • gp2 ボリュームのプロビジョニング済みストレージは、1 秒ごとに課金されます (最小課金時間は 60 秒)。

実際に適用される「秒単価」

この時、料金計算には「今月の1秒当たりの料金(秒単価)」が必要になります。秒単価は、その月の秒数によって、つまりその月の日数によって変わります。次のように書かれています。

例えば、お客様が 1 か月 30 日間の期間に 12 時間 (43,200 秒) 2000 GB のボリュームをプロビジョニングしたとします。GB/月につき 0.08 USD 課金されるリージョンでは、そのボリュームに対して 2.667 USD (GB/月につき 0.08 USD x 2000 GB x 43,200 秒 / (86,400 秒/日 x 30 日/月)) が課金されます。

0.096USD/GB 月で1,000GBを使用した時、次のような単価になります。

  • 1月など31日までの場合 … (0.096USD/GB 月)÷(86,400秒/日 × 31日/月)=0.000000035842USD/GB 秒
  • 4月など30日までの場合 … (0.096USD/GB 月)÷(86,400秒/日 × 30日/月)=0.000000037037USD/GB 秒
  • うるう年の2月で29日までの場合 … (0.096USD/GB 月)÷(86,400秒/日 × 29日/月)=0.000000038314USD/GB 秒
  • それ以外の2月で28日までの場合 … (0.096USD/GB 月)÷(86,400秒/日 × 28日/月)=0.000000039683USD/GB 秒

月によって微妙に秒単価は上下します。

実際の料金計算

実際の料金計算は、秒単価を使うより次のような式で行う方がよいでしょう。

  • サイズ × 月額 × 利用秒数 ÷ 86400 ÷ その月の日数

利用期間を秒数ではなく日数で計算するなら、もっと簡単です。

  • サイズ × 月額 × 利用日数 ÷ その月の日数

利用しない期間はEBSボリュームを削除して利用開始時にデプロイするなど、一定サイズで利用時間を短くする場合の概算なら、月額に割合を掛けてしまう方が考えやすいことが多いです。

  • 平日だけ(週7日のうち5日だけ)利用 … サイズ × 月額 × 5/7
  • 定時内だけ(1日24時間のうち8時間だけ)利用 … サイズ × 月額 × 8/24

まとめ

AWS EBSのストレージ/ボリュームのサイズに対する料金は秒単位で課金されます。料金は月額で設定されていますが、月額÷その月の日数÷86,400秒(24時間)が1秒当たりの料金になります。月によって1秒当たりの料金は少しだけ上下します。AWSの料金を考えるうえで、以下の二点は意識しておきたいと思いました。

  • 時間課金の料金確認時には、料金設定単位、課金単位、最小課金時間の情報を揃える
    • 料金設定は月間(月額)だけど、課金単位は時間単位や秒単位などのサービスがある
    • 課金単位は秒だけど、最小課金時間が60秒などのサービスがある
  • 日割り計算をする際は、当月の日数を意識する(1月なら31日、4月なら30日など)

料金設定単位、課金単位、最小課金時間が揃わないものとしては、例えば身近なものにEC2のオンデマンドインスタンスの料金があります。料金は時間単価で設定されています。課金も基本的には時間単位ですが、一部のLinuxインスタンスでは秒単位になります。この時、最小課金時間も別の数字になります。

オンデマンド、リザーブド、スポット形式で起動したLinuxベースのインスタンスによるAmazon EC2の使用において、請求が1秒単位 (最低60秒) で行われるようになりました。Amazon EC2 Elastic GPUとAmazon EBSボリュームも、1時間ごとの請求モデルから1秒あたり (最低60秒) の請求モデルに変更されます。(略)時間単位による請求が課せられているMicrosoft WindowsやLinuxディストリビューションを実行しているインスタンスには、秒単位による請求が適用されません。
Amazon EC2 で 1 秒あたりの請求が可能に

他のサービスについても、利用期間に対する料金を確認する際には、上記の3項目を見つけることを意識するとよさそうです。

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?