勝手に引っかかりそうになってただけかもしれませんが。
TL;DR
前払い料金を払っても、時間単価が別にかかるよ。
DynamoDBのリザーブドキャパシティ
巷ではOn-Demandで盛り上がっていますが、
プロビジョンドキャパシティーの料金では、リザーブドキャパシティがあります。
この記事を書いている時点では以下のような表示になっています。
https://aws.amazon.com/jp/dynamodb/pricing/provisioned/
時間単価って何?
上記の料金表に「時間単価」というものがあります。
(表に書いていませんが、左が1年、右が3年のようです)
年単位での支払いなので、参考までに時間単価を掲載してくれてるのかと思いきや…。
例えば、1年のRCUの場合、
34.20USD / 365日 / 24時間 = 約0.0039USD
と、0.0029USD/時と大きくずれています。
他の金額も同様に計算してみても、合うのは一つもありません。
一体これはどうやって出てきた数字なんだ…。
サポートに聞いてみた
サポートに問い合わせてみたところ、
どうやら「前払い料金」を支払うと、「時間単価」の価格で使える、という意味らしいです。
例えば、1年のRCUの場合、先に34.20USDを支払えば、その後1年間は0.0029USD/時で100RCUが使えると。
結局、実質の時間単価は?
「前払い料金」を時間ごとの料金にして、さらに「時間単価」を足して実質の時間単価を出してみました(東京リージョン)。
実質の時間単価 | 割引率 | |
---|---|---|
1年WCU | 約0.03427USD/時 | 約53.8% |
1年RCU | 約0.00680USD/時 | 約54.2% |
3年WCU | 約0.01712USD/時 | 約77.0% |
3年RCU | 約0.00336USD/時 | 約77.4% |
購入したキャパシティをフルで使わないとどうなる?
リザーブドキャパシティは100W/RCU単位での購入になります。
では、購入後、DynamoDBを使っていない時間、100W/RCU未満のキャパシティを使っている時間の料金はどうなるのでしょうか?
これに関しても問い合わせてみたところ、使っていようが使ってなかろうが時間単価の料金がかかり続けるそうです。
(だったら全部前払いにしてくれたらいいのに…!)
まとめ
ドキュメントに明示的に書かれてない部分があって分かりにくいものの、割引率としてはかなり大きいです。
100WCU/RCU単位での購入になりますが、大規模に長期間使うのであれば非常にお得かと思います。
なお、料金は変動する可能性がありますので、最新の料金は公式を参照してください。
https://aws.amazon.com/jp/dynamodb/pricing/provisioned/