iku8blog - 考えない為に考える

DynamoDBのプロビジョンドでキャパシティユニットコストを抑える

date: 2021-08-08

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円くらいのコストで済む。

date: 2021-08-08