DynamoDBのプロビジョンドでキャパシティユニットコストを抑える
DynamoDBは2つの料金体系
に大別される
- プロビジョンド
- オンデマンド
今回はプロビジョンドについてみていく
プロビジョンドのコストについては以下の3つ対して課金される
- キャパシティユニット
- データ容量
- データ転送量
今回は、この中でも一番複雑なキャパシティユニットコストを安く済ませてみる
RCU、WCUを1に設定する
コストには、各キャパシティユニットを最小値にすること
プロビジョンドではRCU、WCUの値を決め、その値で負荷に関わらずDynamoDBが稼働した時間で課金される(データ転送量は別)
[f:id:iku8:20210801195145p:plain]
1ヶ月70円くらいで収まりそう
そもそもDynamoDBでいうキャパシティユニットとは、パフォーマンスをどれだけ出せるかの設定であり、これが高いとコストがかかるがパフォーマンスが出せる。
最小値にすることでもちろんパフォーマンスは落ちる
キャパシティユニットは読み込み
と書き込み
で料金体系が結構異なる
[https://aws.amazon.com/jp/dynamodb/pricing/provisioned/:embed:cite]
以下イメージだけ抑えておく(詳しくは上記のURLを参照)
[f:id:iku8:20210801231543p:plain]
RCU(読み込みキャパシティユニット)
データの読み込みを1秒間に1〜2回できる
4KBより大きいデータを読み込む場合は追加のRCUが必要になる(オートスケールとかバーストとかを使うらしい)
[f:id:iku8:20210801230514p:plain]
RCUが1であれば、1ヶ月あたり11円くらい
WCU(書き込みキャパシティユニット)
データの書き込みを1秒間に1回できる
1KBより大きいデータの書き込みは追加WCUが必要
[f:id:iku8:20210801230459p:plain]
WCUが1であれば、1ヶ月あたり58円くらい
RCU、WCUがそれぞれ1であれば1ヶ月70円くらいのコストで済む。