Amazon DynamoDB - AWS 料金体系の仕組み

Amazon DynamoDB

Amazon DynamoDB は、規模を問わず、一貫した 1 桁ミリ秒のレイテンシーを必要とするすべてのアプリケーションに対する高速で柔軟性の高い NoSQL データベースサービスです。フルマネージドのクラウドデータベースであり、ドキュメントストアと key-value ストアの両方のモデルをサポートしています。その柔軟なデータモデル、信頼性の高いパフォーマンス、スループット容量のオートスケーリングにより、モバイル、ウェブ、ゲーム、広告技術、IoT、その他多くの用途に最適です。

Amazon DynamoDB の料金の概要

DynamoDB では、DynamoDB テーブルのデータの読み取り、書き込み、保存に加え、お客様が有効にしたオプション機能が課金の対象となります。DynamoDB には、オンデマンド容量モードとプロビジョンド容量モードという 2 種類の容量モードがあり、それぞれにテーブルの読み取りと書き込みを処理する請求オプションがあります。

DynamoDB の読み取りリクエストは、強力な整合性のある読み取り、結果整合性のある読み取り、トランザクション読み取りのいずれかとなります。

オンデマンド容量モード

オンデマンド容量モードでは、アプリケーションがテーブルに対して実行したデータの読み取りと書き込みのリクエストごとに料金を支払います。ワークロードの増減には DynamoDB が即座に対応するため、お客様はアプリケーションに期待する読み取り/書き込みスループットを指定する必要がありません。DynamoDB では、DynamoDB のコア機能とオプション機能に対して課金されます。

表: Amazon DynamoDB のオンデマンド料金

コア機能の請求単位 詳細
読み取りリクエスト単位 (RRU)

テーブルからデータを読み取る API コールは RRU で課金されます。

強力な整合性のある読み取りリクエスト (最大 4 KB) には 1 つの RRU が必要です。

4 KB を超える項目には、追加の RRU が必要です。

最大 4 KB の項目の場合:

結果整合性のある読み取りリクエストには、半分の RRU が必要です。

トランザクション読み取りリクエストには 2 つの RRU が必要です

書き込みリクエスト単位 (WRU)

テーブルにデータを書き込む各 API コールが WRU です。

標準の WRU では、最大 1 KB の項目を書き込むことができます。

1 KB より大きい項目には、追加の WCU が必要です。

トランザクション書き込みには 2 つの WRU が必要です。

RRU の例:

  • 8 KB の項目の強力な整合性のある読み取りリクエストには、2 つの読み取りリクエスト単位が必要です。

  • 8 KB の項目の結果整合性のある読み取りには、1 つの読み取りリクエスト単位が必要です。

  • 8 KB の項目のトランザクション読み取りには、4 つの読み取りリクエスト単位が必要です。

WRU の例:

  • 1 KB の項目の書き込みリクエストには、1 つの WRU が必要です。

  • 3 KB の項目の書き込みリクエストには 3 つの WRU が必要です。

  • 3 KB の項目のトランザクション書き込みリクエストには、6 つの WRU が必要です。

DynamoDB のコア機能とオプション機能に対する DynamoDB の課金方法の詳細については、「オンデマンド容量の料金」を参照してください。

プロビジョンド容量モード

プロビジョンド容量モードでは、アプリケーションに要求する 1 秒あたりのデータの読み取りと書き込みの回数を指定します。オートスケーリングを使用すると、指定した利用率に応じてテーブルの容量が自動的に調整されるため、アプリケーションのパフォーマンスを確保するとともにコストを削減できます。

表: Amazon DynamoDB のプロビジョンド容量モード

コア機能の請求単位 詳細
読み取り容量ユニット (RCU)

テーブルからデータを読み取る API コールは RCU です。

サイズが最大 4 KB の項目の場合、1 つの RCU で強力な整合性のある読み取りリクエストを 1 秒あたり 1 回実行できます。

サイズが 4 KB より大きい項目には、追加の RCU が必要です。

最大 4 KB の項目の場合:

1 つの RCU で結果整合性のある読み取りリクエストを 1 秒あたり 2 回実行できます。

トランザクション読み取りリクエストでは、1 秒あたり 1 回読み取るのに 2 つの RCU が必要です。

書き込み容量ユニット (WCU)

テーブルにデータを書き込む各 API コールが書き込みリクエストです。

サイズが最大 1 KB の項目の場合、1 つの WCU で標準の書き込みリクエストを 1 秒あたり 1 回実行できます。

1 KB より大きい項目には、追加の WCU が必要です。

トランザクション書き込みリクエストでは、最大 1 KB の項目を 1 秒あたり 1 回書き込むのに 2 つの WCU が必要です。

データストレージ

DynamoDB はテーブルのサイズを継続的にモニタリングして、ストレージ料金を決定します。

DynamoDB では、請求対象のデータのサイズを測定するために、アップロードしたデータの raw バイトサイズに加えて、インデックス作成に伴なう各項目のストレージオーバーヘッドとして 100 バイトをアカウントに追加します。

毎月保存する最初の 25 GB は無料です。

WCU の例

  • 1 KB の項目の標準書き込みリクエストには 1 つの WCU が必要です。

  • 3 KB の項目の標準書き込みリクエストには 3 つの WCU が必要です。

  • 3 KB の項目のトランザクション書き込みリクエストには 6 つの WCU が必要です。

RCU の例:

  • 8 KB の項目の強い整合性のある読み取りには 2 つの RCU が必要です。

  • 8 KB の項目の結果整合性のある読み取りには 1 つの RCU が必要です。

  • 8 KB の項目のトランザクション読み取りには 4 つの RCU が必要です。

詳細については、「Amazon DynamoDB の料金」を参照してください。

データ転送

Amazon DynamoDB と同じリージョン内の他の AWS のサービスとの間で転送したデータは無料です。リージョン間 (例: 米国東部 (バージニア北部) リージョンの Amazon DynamoDB と欧州 (アイルランド) リージョンの Amazon EC2 の間) で転送したデータは、転送の両側で課金されます。

グローバルテーブル

グローバルテーブルは、DynamoDB のグローバルフットプリント上に構築され、フルマネージド、マルチリージョン、マルチマスターのデータベースとして、大規模にスケールされたグローバルアプリケーションの高速でローカルな読み取りと書き込みのパフォーマンスを提供します。グローバルテーブルは、選択した AWS リージョン間で Amazon DynamoDB テーブルを自動的にレプリケートします。

DynamoDB では、各レプリカテーブルで使用したリソースに基づいてグローバルテーブルの使用料金が請求されます。グローバルテーブルに対する書き込みリクエストは、標準の WCU ではなくレプリケートした WCU で計算されます。レプリケートした WCU がレプリケーションに使用される数は、使用しているグローバルテーブルのバージョンによって異なります。

読み取りリクエストとデータストレージは、標準テーブル (グローバルテーブルではないテーブル) に従って一貫して請求されます。テーブルレプリカを追加して新しいリージョンにグローバルテーブルを作成または拡張すると、DynamoDB は追加したリージョンでのテーブルの復元に対して、復元したデータのギガバイト単位で料金を請求します。クロスリージョンレプリケーション、およびデータを含むテーブルへのレプリカの追加に対しても、データ転送 (送信) の料金が発生します。

詳細については、「グローバルテーブルを管理するためのベストプラクティスと要件」を参照してください。

DynamoDB の追加機能の料金の詳細については、「Amazon DynamoDB の料金」ページを参照してください。