DynamoDBのリザーブドキャパシティを購入してみた

はじめに

AWSチームのすずきです。

AWSが提供するNoSQLデータベースのAmazon DynamoDB。 データの保存量と、プロビジョニングした読み込み、書き込みのスループット容量(RCU,WCU)に対する 従量課金で利用できるサービスです。

DynamoDBのスループット容量に対して発生するコスト、3年間の利用契約と引き換えに、 最大76%節約できるリザーブドキャパシティ(RC)を手配する機会がありましたので、 その内容を紹介させて頂きます。

購入

購入画面

  • DynamoDBのマネジメントコンソールを開き「リザーブドキャパシティ」の画面より購入を行います。

dynamodb-rc-01

購入設定

dynamodb-rc-02

リージョン

  • DynamoDBを利用するリージョンと一致する事を確認します
  • 今回「AWS東京リージョン」(ap-northeast-1)で購入を実施しました。

プロビジョンドキャパシティタイプ

  • 読み込みユニット(RCU)、書き込みユニット(WCU)のいずれかを選択します
  • 今回「読み込みユニット」を指定しました

期間

  • 1年間、3年間の指定を行います
  • 1年間は約53%、3年は76%のコスト削減が期待できます。

プロビジョンドキャパシティーユニット

  • リザーブドキャパシティの購入単位は100となっています。

  • リザーブドキャパシティは、購入したリージョンに存在するDynamoDBテーブルに按分されます。

  • 読み込みキャパシティユニット(RCU)40で設定されたテーブルが3つ存在する環境で、RCU100のリザーブドキャパシティを購入した場合、 RCU100が割引価格、RCU20が定価で計算されます。

時間単位の使用料金

  • リザーブドキャパシティを購入した場合、契約期間(1年/3年)中、当時間課金が継続して発生します。
  • DynamoDBの利用を縮小、中止した場合でも、リザーブドキャパシティ期間が満了するまで当料金は発生し続けます。

前払い料金

  • リザーブドキャパシティ購入時に発生する前払金になります
  • 1年(3年)の費用のおよそ半額を前払いし、残金が時間単位で精算される形となります。

連絡先Eメール

  • リザーブドキャパシティ購入に関係する、AWSとの連絡に利用するメールアドレスを指定します。
  • 今回、RCU100の購入では特にメール確認などはなく、購入が完了しました。

チェックボックス

  • 前払い料金、時間単位の使用料金など、リザーブドキャパシティのサービス仕様について確認済みである事を示すチェックを行います。

確認

  • RC購入後、RCの一覧画面のステータスは「保留中の支払い」となります

dynamodb-rc-03

  • 今回、RCU100の購入では、購入後1時間程度でステータスが「有効」となりました。

dynamodb-rc-07

比較

一定のキャパシティ(RCU100)を維持したDynamoDB、 定価(オンデマンド)と、リザーブドキャパシティを1年間、3年間で購入して利用した場合の費用について 比較を実施してみました。

1年

dynamodb-rc-08

  • 定価利用とリザーブドキャパシティ(1年間)を比較し、支払い金額が少なくなる損益分岐点は168日目、およそ半年でした。

3年

dynamodb-rc-09

  • 1年以上の利用が見込まれる場合、3年間のリザーブドキャパシティの購入がお得です。

一覧

利用期間 最安
半年以下 定価(オンデマンド)
半年〜1年 リザーブドキャパシティ (1年間)
1年〜 リザーブドキャパシティ (3年間)

まとめ

DynamoDBのリザーブドキャパシティ、簡単な手続きで大きなコスト削減効果が期待できます。

特にDynamoDBのキャパシティ不足に起因するエラーが許容されないシステムでは、リザーブドキャパシティを購入し、その節約分で余裕のあるキャパシティ設定を実現される事をお勧めします。