プロビジョンドキャパシティの料金

AWS 料金計算ツール

Amazon DynamoDB とアーキテクチャのコストを一回の見積もりで算出します。

今すぐカスタム見積もりを作成する

プロビジョニングされたキャパシティーのモードでは、アプリケーションに必要な 1 秒あたりのデータ読み込みと書き込みの回数を指定します。Auto Scaling を使用すれば、指定した利用率に応じてテーブルのキャパシティーが自動的に調整されるので、アプリケーションのパフォーマンスを確保しつつコストを削減できます。この料金表ページでは、DynamoDB の主要機能およびオプション機能に関する料金体系について詳しく説明します。AWS 中国リージョンでの料金については、AWS 中国リージョンの料金ページを参照してください。

重要な用語

読み取り容量ユニット (RCU): テーブルからデータを読み取るための各 API コールを読み取りリクエストといいます。読み取りリクエストは、強力な整合性のある読み取り、結果整合性のある読み取り、またはトランザクション読み取りとなります。項目のサイズが 4 KB までなら、1 RCU で、強力な整合性のある読み取りリクエストを 1 秒あたり 1 回実行できます。項目が 4 KB より大きい場合、追加の RCU が必要です。項目のサイズが 4 KB までなら、1 RCU で、結果整合性のある読み取りリクエストを 1 秒あたり 2 回実行できます。トランザクション読み取りリクエストでは、4 KB までの項目を 1 秒あたり 1 回読み取るのに 2 RCU が必要です。例えば、8 KB の項目であれば、強力な整合性のある読み取りには 2 RCU、結果整合性のある読み取りには 1 RCU、トランザクション読み取りには 4 RCU がそれぞれ必要になります。詳細については、読み取り整合性を参照してください。

書き込み容量ユニット (WCU): テーブルにデータを書き込むための各 API コールを書き込みリクエストといいます。項目のサイズが 1 KB までなら、WCU 1 個で、標準の書き込み要求を 1 秒あたり 1 回実行できます。項目が 1 KB より大きい場合、追加の WCU が必要です。トランザクション書き込み要求では、1 KB までの項目を 1 秒あたり 1 回書き込むのに WCU 2 個が必要です。たとえば、1 KB の項目の標準書き込み要求には WCU 1 個、3 KB の項目の標準書き込み要求には WCU 3 個、3 KB の項目のトランザクション書き込み要求には WCU 6 個が必要になります。

レプリケート書き込みキャパシティーユニット (rWCU): DynamoDB グローバルテーブルを使用する場合、選択した複数の AWS リージョンに対してデータが自動的に書き込まれます。ローカルリージョンで書き込みが発生する度に、レプリケート先のリージョンでも書き込みが発生します。

ストリーム読み込み要求単位: DynamoDB ストリームに対する GetRecords API 呼び出し 1 回あたりが、ストリーム読み込み要求単位 1 個に相当します。ストリーム読み込み要求単位 1 個で、1 MB までのデータを返すことが可能です。

トランザクション読み込み/書き込みリクエスト: DynamoDB では、トランザクション読み込み/書き込みは標準的な読み込み/書き込みとは異なります。トランザクション読み込み/書き込みでは、1 つのトランザクションセットに含まれるすべての操作を 1 つのセットとし、成否判定を行うためです。

変更データキャプチャ単位: DynamoDB は、DynamoDB テーブル項目レベルの変更をキャプチャし、Amazon Kinesis Data Streams や AWS Glue などの他の AWS サービスに複製することができます。DynamoDB はこれらの変更を委任された操作としてキャプチャします。つまり、DynamoDB がユーザーに代わってレプリケーションを実行するため、スループットキャパシティを管理する必要がありません。DynamoDB は、テーブルへの書き込みごとに 1 つの変更データキャプチャ単位に対して請求を行います (最大 1 KB)。1 KB を超える項目については、変更データキャプチャ単位が追加で必要になります。

DynamoDB テーブルクラス: DynamoDB は、コストの最適化に役立つように設計された 2 つのテーブルクラスを提供します。DynamoDB Standard テーブルクラスはデフォルトであり、大多数のワークロードに推奨されます。DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) テーブルクラスは、頻繁にアクセスされないデータを保存するテーブルであって、ストレージが主なコストとなっているテーブル向けに最適化されています。各テーブルクラスは、データストレージと読み取りおよび書き込みリクエストについて異なる料金を採用しています。テーブルのストレージ要件とデータアクセスパターンに基づいて、最も費用対効果の高いテーブルクラスを選択できます。 DynamoDB テーブルクラスの詳細については、DynamoDB デベロッパーガイドを参照してください。


DynamoDB の機能と請求の概要

機能

内容

請求単位

主要機能

 

プロビジョニングされた書き込みキャパシティー

テーブルにデータを書き込む

WCU

 

プロビジョニングされた読み込みキャパシティー

テーブルからデータを読み込む

RCU

 

データストレージ

データを格納する (インデックス値を含む)

GB 月単位

オプション機能

 

継続的バックアップ

過去 35 日間のバックアップを継続的に取得する

GB 月単位

 

オンデマンドバックアップ

過去のある時点におけるスナップショットバックアップを取得する

GB 月単位

 

バックアップからの復元

特定のスナップショットまたは時間のテーブルを復元する

GB

 

グローバルテーブル

データを複製して、マルチリージョンかつマルチアクティブなテーブルを作成する

rWCU

  Amazon Kinesis Data Streams の変更データキャプチャ DynamoDB テーブルの項目レベルの変更をキャプチャし、任意の Kinesis データストリームにレプリケートする 変更データキャプチャ単位
  AWS Glue の変更データキャプチャ テーブル項目レベルのデータ変更をキャプチャし、AWS Glue に複製する 変更データキャプチャ単位
  Amazon S3 へのデータエクスポート DynamoDB テーブルのバックアップを特定の時点から Amazon S3 にエクスポートする GB
  Amazon S3 からのデータインポート Amazon S3 から新しい DynamoDB テーブルにデータを移行してロードする GB

 

DynamoDB Streams

テーブルの項目レベルの変更に関する時系列シーケンスを提供する

ストリーム読み込みリクエスト単位

 

データ転送 (アウト)

他の AWS リージョンにデータを転送する

GB

DynamoDB 統合の請求概要

統合

機能

請求単位

 

DynamoDB 互換キャッシングサービスである DynamoDB Accelerator (DAX) との統合

料金パフォーマンスを向上させ、レイテンシーをミリ秒からマイクロ秒に短縮

ノード時間

  Amazon OpenSearch Service とのゼロ ETL 統合 データパイプラインを構築して管理することなく、全文検索、ベクトル検索、セマンティック検索、地理空間検索などを有効化 エクスポート量 (GB)
  Amazon Redshift とのゼロ ETL 統合 データパイプラインを構築して管理することなく、運用データの分析を有効化 エクスポート量 (GB)

DynamoDB の料金

  • プロビジョニングされたキャパシティー

    プロビジョニングされたキャパシティーのモードを選択するときは、アプリケーションに必要と予想される読み込みと書き込みのキャパシティーを指定します。Auto Scaling を使用すれば、指定した利用率に応じてテーブルのキャパシティーが自動的に調整されるので、アプリケーションのパフォーマンスを確保しつつコストを削減できます。DynamoDB では、1 秒あたりの (1 KB までの) 書き込み 1 回ごとに WCU 1 個分、1 秒あたりのトランザクション書き込み 1 回ごとに WCU 2 個分の料金が発生します。DynamoDB の読み取りでは、強力な整合性のある読み取りなら 1 秒あたり 1 回ごとに 1 RCU、トランザクション読み取りなら 1 秒あたり 1 回ごとに 2 RCU、結果整合性のある読み取りなら 1 秒あたり 1 回ごとに 0.5 RCU の料金が発生します (4 KB まで)。プロビジョン済み容量を完全に利用していなくても、Amazon DynamoDB テーブルでプロビジョンしたスループット容量 (読み取りおよび書き込み) の料金が請求されます。プロビジョン済み容量の料金は、テーブルクラスによって異なります。DynamoDB テーブルの実際の読み取りおよび書き込みパフォーマンスは異なる場合があり、プロビジョンするスループット容量よりも少ない場合があります。

    リザーブドキャパシティ

    DynamoDB のリザーブドキャパシティは、プロビジョンド容量の基本レベルで前払いの義務を負うことにより、プロビジョンド容量のコストを削減するのに役立ちます。リザーブドキャパシティを使用する場合、1 回限りの前払い料金をお支払いいただくとともに、一定期間にわたって最小プロビジョンド使用レベルを確約していただきます。リザーブドキャパシティは、割引された時間料金で請求されます。リザーブドキャパシティを超えてプロビジョニングした容量については、割引なしのプロビジョンド容量料金に基づいて請求されます。リザーブドキャパシティは、DynamoDB 標準テーブルクラスを使用する DynamoDB テーブルのシングルリージョンの、プロビジョンド読み取りおよび書き込み容量ユニット (RCU および WCU) 向けにご利用いただけます。DynamoDB 標準 – IA テーブルクラスを使用するテーブル、またはオンデマンド容量向けにリザーブドキャパシティをご利用いただくことはできません。

    AWS マネジメントコンソールからリクエストを送信することにより、DynamoDB のリザーブドキャパシティを購入できます。リザーブドキャパシティは 100 WCU または 100 RCU の単位でご購入いただきます。レプリケートされた WCU (rWCU) 向けにリザーブドキャパシティを購入することはできません。リザーブドキャパシティを購入する際に、AWS リージョン、数量、および期間を指定する必要があります。(1) 1回限りの前払い料金に加えて、(2) 期間中、購入した DynamoDB リザーブドキャパシティの量に基づいて、時間単位の料金が請求されます。DynamoDB のリザーブドキャパシティには、AWS カスタマーアグリーメント、またはお客様による当社のサービスの使用について規定する当社との他の契約に基づいて適用されるすべてのストレージ、データ転送、および他の料金も課されます。

  • ストレージのプロビジョンは不要です。DynamoDB では、テーブルのサイズが継続的にモニタリングされ、ストレージ料金が決定されます。DynamoDB は、データの生のバイトサイズに加えて、有効にした機能に応じた項目ごとのストレージオーバーヘッドを追加することにより、請求対象となるデータのサイズを測定します。詳細については、DynamoDB ユーザーガイドを参照してください。 データストレージの料金は、テーブルクラスによって異なります。

  • DynamoDB では、テーブルデータのバックアップに 2 つの方法を利用できます。継続的バックアップでは、ポイントインタイムリカバリ (PITR) により、テーブルの過去 35 日間のバックアップを継続的に取得します。過去 5 週間以内であれば、秒単位で指定した状態にテーブルを復元できます。オンデマンドバックアップでは、長期間保存するアーカイブとしてテーブルのスナップショットを作成します。この方法は、企業や政府の規制要件を満たすうえで役立ちます。

    継続的バックアップ (PITR)

    DynamoDB の PITR に対して発生する料金は、PITR が有効になっている各 DynamoDB テーブル (テーブルデータおよびローカルセカンダリインデックス) のサイズに基づいて決まります。DynamoDB では、PITR が有効なテーブルのサイズが毎月継続的にモニタリングされ、バックアップ料金が決定されます。課金は、各テーブルの PITR が無効になるまで続きます。

    オンデマンドバックアップ

    DynamoDB のオンデマンドバックアップに対して発生する料金は、テーブル (テーブルデータおよびローカルセカンダリインデックス) のストレージサイズに基づいて決まります。各バックアップのサイズは、バックアップのリクエスト時に毎回判定されます。毎月の課金対象となるバックアップストレージの合計サイズは、DynamoDB テーブルのすべてのバックアップを合計したサイズです。DynamoDB では、オンデマンドバックアップのサイズが毎月継続的にモニタリングされ、バックアップ料金が決定されます。

    DynamoDB または AWS Backup を使用して、オンデマンドバックアップを作成および管理できます。詳細については、オンデマンドのバックアップと復元を使用する をご覧ください。AWS Backup を利用することで、AWS のサービス全体でデータ保護を一元化および自動化できます。AWS Backup は、クロスアカウントおよびクロスリージョンのオンデマンドバックアップのコピー、低コストのストレージ階層、バックアップのタグ付け、およびソースデータから独立したバックアップの暗号化などの高度な機能も提供します。これらは、ビジネス継続性の要件を満たし、バックアップコストを最適化するのに役立ちます。リージョン間のデータ転送には追加料金が適用されます。これらの料金の詳細については、AWS Backup の料金を参照してください。

    * コールドバックアップストレージは、AWS Backup によってのみ管理されるオンデマンドバックアップ向けにサポートされています。AWS マネジメントコンソールから AWS Backup の使用をオプトインできます。
    コールドストレージに移行されたバックアップの保存期間は最低で 90 日間です。90 日間が経過する前にバックアップが削除された場合、その 90 日間の残りの日数についてのストレージ料金に等しい按分金額が請求されます。
     

    テーブルの復元

    オンデマンドバックアップや PITR からテーブルを復元する際に発生する料金は、各リクエストで復元されるデータ (テーブルデータ、ローカルセカンダリインデックス、グローバルセカンダリインデックス) の合計サイズに基づいて決まります。

    * コールドバックアップストレージからの復元は、AWS Backup によってのみ管理されるオンデマンドバックアップ向けにサポートされています。AWS マネジメントコンソールから AWS Backup の使用をオプトインできます。コールドバックアップストレージは、ポイントインタイムリカバリ (PITR) を使用した連続バックアップには適用できません。

  • DynamoDB では、各レプリカテーブルで使用されたリソースに応じてグローバルテーブルの使用料金が発生します。グローバルテーブルに対する書き込み要求は、標準 WCU ではなくレプリケート WCU で計算されます。レプリケーションに消費されるレプリケートされた WCU の数は、使用しているグローバルテーブルのバージョンによって異なります。詳細については、グローバルテーブルを管理するためのベストプラクティスと要件を参照してください。 料金はテーブルクラスによって異なります。読み取りリクエストとデータストレージは、グローバルテーブルではないテーブルで一貫して請求されます。テーブルレプリカを追加して、新しいリージョンでグローバルテーブルを作成または拡張する場合、DynamoDB は復元されたデータのギガバイトごとに、追加されたリージョンでのテーブルの復元について課金します。クロスリージョンレプリケーションおよびデータを含むテーブルへのレプリカの追加にも、データ転送 (アウト) の料金が発生します。詳細については、この料金ページの「データ転送」セクションを参照してください。

  • DynamoDB は、変更データキャプチャ単位での Amazon Kinesis Data Streams の変更データキャプチャに対して請求を行います。DynamoDB は、書き込みごとに 1 つの変更データキャプチャ単位に対して請求を行います (最大 1 KB)。お客様にはテーブルのスループット容量を管理することなく、アプリケーションが実行する書き込みに対してのみ料金をお支払いいただきます。

    DynamoDB の変更を Kinesis Data Streams に複製する場合でも、Kinesis Data Streams の料金が適用されます。詳細については、Amazon Kinesis Data Streams の料金をご覧ください。

  • DynamoDB は、変更データキャプチャ単位での AWS Glue の変更データキャプチャに対し、請求を行います。DynamoDB は、書き込みごとに 1 つの変更データキャプチャ単位に対して請求を行います (最大 1 KB)。テーブルのスループットキャパシティを管理することなく、アプリケーションが実行する書き込みに対してのみ料金をお支払いいただきます。

    DynamoDB の変更を AWS Glue ターゲットデータベースに複製する場合でも、AWS Glue の料金が適用されます。詳細については、AWS Glue 料金を参照してください。

  • この機能を使用して、DynamoDB 連続バックアップ (ポイントインタイムリカバリ) から Amazon Simple Storage Service (Amazon S3) にデータをエクスポートします。サポートされている出力データ形式は、DynamoDB JSON と Amazon Ion です。エクスポートされたデータは、Amazon Athena、Amazon SageMaker、AWS Lake Formation などの AWS サービスを利用して分析できます。

    フルエクスポートと増分エクスポートのいずれかを選択できます。フルエクスポートは、バックアップが作成された特定の時点における各 DynamoDB テーブルのサイズ (テーブルデータおよびローカルセカンダリインデックス) に基づいて課金されます。増分エクスポートは、増分エクスポート出力を生成するために継続的なバックアップから処理されたデータのサイズに基づいて課金されます。 エクスポートされたデータを Amazon S3 に保存したり、Amazon S3 バケットに対して PUT リクエストを実行したりすると、追加料金がかかります。これらの料金の詳細については、Amazon S3 の料金を参照してください。

  • Amazon DynamoDB データ インポートは、コードを記述することなく、Amazon S3 と DynamoDB テーブル間でデータを移動するためのシンプルで効率的な方法を提供します。AWS リージョンやアカウント間でテーブルをコピーして、データの移行や新しいアプリケーションの構築、チーム間でのデータ共有やコラボレーションの促進、ディザスタリカバリや事業継続計画の簡略化に役立てることができます。データ インポートの料金は、Amazon S3 の非圧縮ファイル サイズに基づきます。 詳細は S3 からのインポートを参照してください。 サポートされている入力データ形式は、CSV、DynamoDB JSON、および Amazon Ion です。

    ソースデータを保存したり、Amazon S3 バケットに対して GET リクエストを実行したりする際にも Amazon S3 の料金がかかります。Amazon S3 の料金の詳細については、「Amazon S3 の料金」を参照してください。

  • DAX は Amazon DynamoDB との互換性を備えたキャッシングサービスです。DynamoDB では、DAX キャパシティに対する料金が時間単位で発生します。DAX インスタンスの実行に長期間の契約は必要ありません。料金はノード時間単位で発生し、選択したインスタンスタイプによって変わります。1 時間未満のノード時間は、1 時間分として課金されます。料金は、DAX クラスター内の個別のノードすべてに対して適用されます。例えば、3 つのノードで構成される DAX クラスターを使用している場合、各ノード (合計 3 つ) に対して時間単位で課金されます。

    同じアベイラビリティーゾーン内での Amazon Elastic Compute Cloud (Amazon EC2) と DAX の間のデータ転送は無料です。Amazon EC2 インスタンスと、同じ AWS リージョンの異なるアベイラビリティーゾーンにある DAX ノードの間でデータを転送した場合は、標準の Amazon EC2 データ転送料金が適用されます。ただし、料金が発生するのは、Amazon EC2 インスタンスとの間のデータ転送のみです。DAX ノード自体で送受信されるトラフィックに対して DAX データ転送料金が発生することはありません。

  • DynamoDB では、DynamoDB ストリームからのデータの読み込みに対し、読み込みリクエスト単位での料金が発生します。GetRecords API コールが実行される度に、読み込みリクエスト 1 単位が課金され、1 MB までのデータが DynamoDB ストリームから読み込まれます。ストリーム読み込みリクエスト単位は、DynamoDB テーブルの読み込みリクエストとは異なる特別な単位です。DynamoDB トリガーの一環として AWS Lambda によって行われる GetRecords API コールに、料金はかかりません。DynamoDB グローバルテーブルによって行われる GetRecords API コールにも、料金はかかりません。

  • データ転送 (受信) は DynamoDB へのデータ転送、データ転送 (送信) は DynamoDB からのデータ転送のことです。DynamoDB のインバウンドのデータ転送には課金されません。また、DynamoDB と同じ AWS リージョン内の他の AWS のサービスとの間のデータ転送にも課金されません (0.00 USD/GB)。AWS リージョン間、例えば米国東部 (バージニア北部) リージョンの DynamoDB と欧州 (アイルランド) リージョンの Amazon EC2 の間など) で転送されたデータは、転送元と転送先の両方で課金されます。AWS 無料利用枠の一部として、毎月、AWS GovCloud (米国) リージョンを除き、すべての AWS のサービスで合計 1 GB のデータ転送 (送信) が無料で利用できます。詳細については、AWS 無料利用枠を参照してください。500 TB/月を超えるデータを転送する場合は、当社までお問い合わせください


DynamoDB の無料利用枠

AWS 無料利用枠は、お客様が AWS のサービスを無料で実際に体験できるように設けられています。AWS 無料利用枠の一部として、DynamoDB では以下の特典がご利用いただけます。各特典は、リージョンごと、支払者アカウントごとに毎月計算されます。

  • DynamoDB Standard テーブルクラスを使用したテーブル用の 25 WCU および 25 RCU のプロビジョン済み容量
  • DynamoDB Standard テーブルクラスを使用するテーブル用の 25 GB のデータストレージ
  • 2 つの AWS リージョンにデプロイされた DynamoDB Standard テーブルクラスを使用したグローバルテーブル用の 25 rWCU
  • DynamoDB Streams からのストリーム読み込みリクエスト 250 万回
  • AWS のすべてのサービスで合計して 1 GB までのデータ転送 (アウト) (最初の 12 か月で 15 GB)

DynamoDB の料金の例

  • この例では、Auto Scaling を有効にしたテーブルを、プロビジョニングされたキャパシティーのモードで利用する場合の料金を計算する方法を示しています。Auto Scaling では、実際の使用率が目標使用率に近い値を保つよう、実際に使用された容量に応じて、プロビジョニング済み容量の設定が継続的に変更されます。

    米国東部 (バージニア北部) リージョンで新しい DynamoDB Standard テーブルを作成し、目標使用率をデフォルト値 (70%)、最小容量のユニット数を 100 RCU と 100 WCU、最大容量を 400 RCU と 400 WCU に設定するとします (Limits in DynamoDB を参照してください)。説明を簡単にするために、ユーザーがアプリケーションを操作する度に、1 KB の書き込みが 1 回発生し、1 KB の強力な整合性のある読み取りが 1 回実行されるとします。

    最初の 10 日間は、RCU と WCU の使用数が 1~70 個の範囲で変動するとします。Auto Scaling によってスケーリングアクティビティがトリガーされることはなく、1 時間あたりの請求額は 0.078 USD です (プロビジョニングされた WCU 100 個の分が 0.065 USD [0.00065 USD * 100]、RCU 100 個の分が 0.013 USD [0.00013 USD * 100])。

    11 日目に、使用キャパシティーが RCU 100 個と WCU 100 個に増加するとします。Auto Scaling によってスケールアップアクティビティがトリガーされ、プロビジョニングされたキャパシティーが WCU 143 個と RCU 143 個に増加します (使用数 100 ÷ プロビジョニング数 143 = 69.9%)。1 時間あたりの請求額は 0.11109 USD です (WCU 143 個の分が 0.0925 USD、RCU 143 個の分が 0.01859 USD)。

    21 日目に、使用キャパシティーが RCU 80 個と WCU 80 個に減少するとします。Auto Scaling によってスケールダウンアクティビティがトリガーされ、プロビジョニングされたキャパシティーが WCU 114 個と RCU 114 個に減少します (使用数 80 ÷ プロビジョニング数 114 = 70.2%)。1 時間あたりの請求額は 0.08952 USD です (WCU 114 個の分が 0.0741 USD、RCU 114 個の分が 0.01482 USD)。

    この月の料金は 66.86 USD になり、内訳は次のとおりです。

    1~10 日目: 18.72 USD (1 時間あたり 0.078 USD x 24 時間 x 10 日)

    11~20 日目: 26.66 USD (1 時間あたり 0.11109 USD x 24 時間 x 10 日)

    21~30 日目: 21.48 USD (1 時間あたり 0.08952 USD x 24 時間 x 10 日)

    AWS 無料利用枠には、DynamoDB Standard テーブルクラスを使用するテーブル用に 25 WCU および 25 RCU が含まれているため、毎月の請求額が 14.04 USD 削減されます。

    25 WCU x 1 時間あたり 0.00065 USD x 24 時間 x 30 日 = 11.70 USD

    25 RCU x 1 時間あたり 0.00013 USD x 24 時間 x 30 日 = 2.34 USD

    データストレージ: 月初の時点でテーブルによるストレージの占有容量が 25 GB であり、月末の時点では 29 GB にまで拡大し、テーブルサイズの継続モニタリングによれば平均が 27 GB であったと仮定します。テーブルクラスが DynamoDB Standard に設定されているため、最初の 25 GB のストレージは AWS 無料利用枠の適用対象となります。残りの 2 GB のストレージについては 0.25 USD/GB が課金されるため、その月のテーブルストレージコストは 0.50 USD となります。

    この月の合計請求額は 53.32 USD になります。内訳は、読み込みと書き込みのキャパシティーに 52.82 USD、データストレージに 0.50 USD です。

  • この例では、Auto Scaling を有効にしたテーブルを、プロビジョニングされたキャパシティーのモードで利用する場合の料金を計算する方法を示しています。Auto Scaling では、実際の使用率が目標使用率に近い値を保つよう、実際に使用されたキャパシティーに応じて、プロビジョニングされたキャパシティーの設定が継続的に変更されます。

    米国東部 (バージニア北部) リージョンで新しいテーブルを作成し、目標使用率をデフォルト値の 70%、最小容量のユニット数を RCU 100 個と WCU 100 個、最大容量を RCU 400 個と WCU 400 個 (DynamoDB の制限を参照) に設定するとします。Auto Scaling はこの制限内で運用され、プロビジョニングされたキャパシティーが最小値を下回ってスケールダウンされることや、最大値を超えてスケールアップされることはありません。テーブルが作成されると、最小キャパシティーのユニットがプロビジョニングされ、Auto Scaling が開始します。説明を簡単にするために、ユーザーがアプリケーションとやり取りする度に、1 KB の書き込みが 1 回発生し、1 KB の強力な整合性のある読み込みが 1 回実行されるとします。

    テーブル作成後 1 時間目に、RCU と WCU の使用数が 1~70 個の範囲で変動するとします。実際の使用率は、それに応じて、目標使用率の 70% 以内で、1% (使用キャパシティー 1 個 ÷ プロビジョニングされたキャパシティー 100 個)~70% (使用キャパシティー 70 個 ÷ プロビジョニングされたキャパシティー 100 個) の範囲で変動します。Auto Scaling によってスケーリングアクティビティがトリガーされることはなく、この 1 時間の請求額は 0.078 USD です (プロビジョニングされた WCU 100 個の分が 0.065 USD [0.00065 USD * 100]、RCU 100 個の分が 0.013 USD [0.00013 USD * 100])。

    2 時間目には、使用キャパシティーが RCU 100 個と WCU 100 個に増加しているものとします。この結果、実際の使用率は 100% (使用キャパシティー 100 個 ÷ プロビジョニングされたキャパシティー 100 個) に上昇しており、70% の目標使用率を大きく超えています。Auto Scaling によってスケールアップアクティビティがトリガーされ、実際の使用率を 70% の目標使用率に近づけるために、プロビジョニングされるキャパシティーを増やします。この結果、プロビジョンされた容量は WCU 143 個と RCU 143 個になります (使用容量 100 個 ÷ プロビジョンされた容量 143 個 = 69.9%)。この 2 時間目の請求額は 0.1154 USD です (WCU 143 個の分が 0.09295 USD、RCU 143 個の分が 0.01859 USD)。

    3 時間目には、使用容量が RCU 80 個と WCU 80 個に減少しているものとします。この結果、実際の使用率は 56% (使用容量 80 個 ÷ プロビジョンされた容量 143 個) に低下しており、70% の目標使用率を大きく下回っています。Auto Scaling によってスケールダウンアクティビティがトリガーされ、実際の使用率を 70% の目標使用率に近づけるために、プロビジョニングされるキャパシティーを減らします。この結果、プロビジョニングされたキャパシティーは RCU 114 個と WCU 114 個になります (使用キャパシティー 80 個 ÷ プロビジョニングされたキャパシティー 114 個 = 70.2%)。この 3 時間目の請求額は 0.08892 USD です (WCU 114 個の分が 0.0741 USD、RCU 114 個の分が 0.01482 USD)。

    説明を簡単にするために、使用されるキャパシティーは RCU 80 個と WCU 80 個のまま変動しないとします。テーブルに対するプロビジョニングも WCU 114 個と RCU 114 個のままで、1 日あたりの料金は 2.1341 USD (内訳は次のとおり) であるとします。

    WCU 114 個 x 1 時間あたり 0.00065 USD x 24 時間 = 1.7784 USD

    RCU 114 個 x 1 時間あたり 0.00013 USD x 24 時間 = 0.3557 USD

    この月の料金は 64.04 USD で、内訳は次のとおりです。

    1 日目合計: 1 日あたり 2.14578 USD

    1 時間目: 1 時間あたり 0.078 USD

    2 時間目: 1 時間あたり 0.1154 USD

    3~24 時間目: 1 時間あたり 0.08892 USD

    2~30 日目: 1 日あたり 2.1341 USD

    AWS 無料利用枠には、DynamoDB Standard テーブルクラスを使用するテーブル用に 25 WCU および 25 RCU が含まれているため、毎月の請求額が 14.04 USD 削減されます。

    25 WCU x 1 時間あたり 0.00065 USD x 24 時間 x 30 日 = 11.70 USD

    RCU 25 個 x 1 時間あたり 0.00013 USD x 24 時間 x 30 日 = 2.34 USD

    データストレージ: 月初の時点でテーブルによるストレージの占有容量が 25 GB であり、月末の時点では 29 GB にまで拡大し、テーブルサイズの継続モニタリングによれば平均が 27 GB であったと仮定します。 テーブルクラスが DynamoDB Standard に設定されているため、最初の 25 GB のストレージは AWS 無料利用枠の適用対象となります。残りの 2 GB のストレージについては 0.25 USD/GB が課金されるため、その月のテーブルストレージコストは 0.50 USD となります。

    バックアップと復元: 30 日ある月のオンデマンドバックアップストレージの総計が 60 GB であれば、バックアップにかかる月額料金は、(0.10 USD × 60 GB) = 6.00 USD/月です。ただし、月間サイクルで 15 GB のオンデマンドバックアップデータを 10 日間削除した場合、請求額は、(0.10 USD × 60 GB) – (0.10 USD × 15 GB × 20/30) = 5.00 USD/月となります。

    ここで、オンデマンドバックアップの実行に加え、継続的バックアップを使用すると仮定します。テーブルサイズは 29 GB であるため、月額料金は (0.20 USD x 29 GB) = 5.80 USD/月となります。

    月の間に 1 回、29 GB のテーブルを復元する必要がある場合、その復元の費用は (0.15 USD x 29 GB) = 4.35 USD です。

    Kinesis Data Streams 変更データキャプチャ: Kinesis Data Streams へのストリーミングを有効にして、Amazon Kinesis サービスを使用してデータ変更を処理するとします。また、書き込みスループットが前の例と同じであると仮定します。アプリケーションは、1 秒あたり 1 KB の書き込みを 80 回実行します。DynamoDB では、Kinesis Data Streams にキャプチャする書き込み 1 KB ごとに、1 つの変更データキャプチャ単位が請求されます。1 か月間で、(80 x 3,600 x 24 x 30) = 207,360,000 の変更データキャプチャ単位になります。月額費用は (0.10 USD x 207,360,000/1,000,000) = 20.74 USD になります。

    Amazon S3 へのデータエクスポート: 分析のためにテーブルのバックアップを Amazon S3 にエクスポートするとします。指定された時点でのテーブルのサイズが 29 GB の場合、結果として生じるエクスポートコストは (0.10 USD x 29 GB) = 2.90 USD になります。

    DynamoDB Accelerator (DAX) との統合: DAX は Amazon DynamoDB との互換性を備えたキャッシングサービスです。アプリケーションの応答時間を短縮する必要があると判断し、DynamoDB Accelerator (DAX) サービスを使用することにしました。利用できるハードウェアの仕様を確認し、t2.small インスタンスタイプの 3 つのノードのクラスターがニーズに適切だと判断しました。26 日に DAX を有効にしました。DynamoDB による課金は 1 時間あたり 0.12 USD (0.04 × 3 ノード) であり、月末までの 5 日間で合計 14.40 USD (0.12 × 120 時間) となります。

    グローバルテーブル: 米国西部 (オレゴン) リージョンで災害対策レプリカテーブルを作成するとします。テーブルのサイズが 25 GB のときに米国西部 (オレゴン) リージョンにレプリカを追加すると、テーブル復元料金が 3.75 USD (0.15 USD x 25 GB) になるとします。このレプリカを追加すると、25 GB のデータ転送も生成されます。詳細については、以下の「データ転送」セクションをご覧ください。キャパシティーのニーズは前の例と同じであるとします。Auto Scaling により、アプリケーションのスループットのニーズに合わせて WCU 114 個と RCU 114 個がプロビジョニングされる点も同じですが、この例では、両方のレプリカテーブルに書き込むために rWCU もプロビジョニングする必要があります。プロビジョニングされる rWCU の数は、両方のリージョンでアプリケーションの書き込みに必要な rWCU の合計数になります。このシナリオでは、米国東部 (バージニア北部) リージョンと米国西部 (オレゴン) リージョンの両方に 1 秒あたり 80 回の書き込みを実行します。結果、プロビジョニングされる最小のキャパシティーは rWCU 160 個 (バージニア北部で rWCU 80 個 + オレゴン = rWCU 160 個) になります。Auto Scaling によって、実際の使用率をプロビジョニングされたキャパシティーの 70 % に保つために、rWCU 229 個 (rWCUs 160 個/70%) がプロビジョニングされます。詳細については、グローバルテーブルを管理するためのベストプラクティスと要件を参照してください。各リージョンにおいて各時間にプロビジョンされた、最初の 25 個のプロビジョン済み rWCU は DynamoDB Standard テーブルクラスを使用するテーブル向けの AWS 無料利用枠に含まれているので、1 時間あたりの料金は 0.174525 USD、30 日ある月の料金に換算すると 125.66 USD になります。また、米国西部 (オレゴン) リージョンのレプリケート済みテーブルに 27 GB の追加データを保存します。DynamoDB Standard テーブルクラスを使用するテーブルについては、最初の 25 GB のストレージは AWS 無料利用枠の適用対象となります。残りの 2 GB のストレージについては 0.25 USD/GB が課金されるため、その月の追加テーブルストレージコストは 0.50 USD となります。

    DynamoDB ストリーム: ここでは、DynamoDB ストリームを有効にし、ストリームデータに対して毎秒 1 回の読み込み要求を実行できるようにアプリケーションを構築すると仮定します。その結果、1 か月で 259.2 万回のストリーム読み込み要求が行われましたが、そのうち、最初の 250 万回の読み込み要求は AWS 無料利用枠に含まれます。残りの 9 万 2,000 回の読み込みリクエストに対してのみ、読み込みリクエスト 10 万単位あたり 0.02 USD の料金が発生します。

    データ転送: グローバルテーブルの実装により、この例では AWS リージョン間でデータを転送しているため、その分の料金が発生します。DynamoDB では、リージョンからのアウトバウンドのデータ転送には料金が発生しますが、インバウンドのデータ転送には料金が発生しません。毎回 1 KB の書き込みが 1 秒あたり 80 回のペースで続くとした場合、リージョン間で 1 秒あたり 80 KB のデータ転送が発生し、1 か月あたりではクロスリージョンのデータ転送が 198 GB (1 秒あたり 80 KB x 30 日間で 2,592,000 秒) になります。米国西部 (オレゴン) リージョンにレプリカを追加すると、さらに 25 GB のデータ転送が生成されます。AWS 無料利用枠のデータ転送枠を AWS の他のサービスで既に使用している場合、データ転送の料金は 20.07 USD (0.09 USD × [198 GB + 25 GB]) となります。

    まとめると、シングルリージョン DynamoDB テーブルの合計月額料金は次のようになります。

    • プロビジョニングされたキャパシティー: 50.00 USD
    • データストレージ: 0.50 USD
    • オンデマンドバックアップ: 5.00 USD
    • 継続的 (PITR) バックアップ: 5.80 USD
    • テーブルの復元: 4.35 USD
    • Kinesis Data Streams の変更データキャプチャ: 20.74 USD
    • Amazon S3 へのデータエクスポート: 2.90 USD
    • Amazon DynamoDB 互換キャッシングサービスである DynamoDB Accelerator (DAX) との統合: 14.40 USD
    • DynamoDB Streams: 0.02 USD

    合計料金: 103.71 USD

    米国西部 (オレゴン) リージョンを追加した後の毎月の合計 DynamoDB 料金は、次のとおりです。

    • プロビジョニングされた読み込みキャパシティー: 10.68 USD
    • データストレージ (バージニア北部): 0.50 USD
    • オンデマンドバックアップ: 5.00 USD
    • 継続的 (PITR) バックアップ: 5.80 USD
    • テーブルの復元 (バージニア北部): 4.35 USD
    • Kinesis Data Streams の変更データキャプチャ: 20.74 USD
    • Amazon S3 へのデータエクスポート: 2.90 USD
    • Amazon DynamoDB 互換キャッシングサービスである DynamoDB Accelerator (DAX) との統合: 14.40 USD
    • DynamoDB Streams: 0.02 USD
    • グローバルテーブルのテーブルの復元 (オレゴン): 3.75 USD
    • グローバルテーブルのレプリケート書き込みキャパシティー: 125.66 USD
    • グローバルテーブルのデータストレージ (オレゴン): 0.50 USD
    • データ転送: 20.07 USD

    合計料金: 214.38 USD

  • この例では、テーブルのストレージとデータアクセスパターンに最適な DynamoDB テーブルクラスを選択することで、テーブルの月額料金を削減する方法を示します。

    米国東部 (バージニア北部) リージョンで、新しいテーブルを作成したとします。テーブルは既に 1 TB の履歴データを占有しています。データは頻繁にアクセスされることはありませんが、必要に応じてユーザーがすぐに利用できるようにしておく必要があります。ここで、データストレージが月末までに 1.4 TB に増加し、テーブルサイズの継続モニタリングによれば平均 1.2 TB になると仮定します。テーブルには、安定した予測可能なトラフィックパターンがあります。したがって、使用率が 1 か月間でプロビジョニングされた容量の 70% を超えないことを認識した上で、160 WCU と 160 RCU にプロビジョンしました。

    まず、DynamoDB Standard テーブルクラスを使用してテーブルの月額料金を見積もります。

    DynamoDB Standard テーブルクラスを使用した月額料金

    テーブルクラスを DynamoDB Standard に設定すると、次のように請求されます。

    データストレージ: DynamoDB Standard テーブルクラスを使用すると、最初の 25 GB のストレージは AWS 無料利用枠の適用対象となります。残りの 1.175 TB のストレージについては 0.25 USD/GB の料金が請求されるため、その月のテーブルストレージコストは 293.75 USD となります。

    プロビジョン済み容量: AWS 無料利用枠には、DynamoDB Standard テーブルクラスを使用するテーブル用に 25 WCU および 25 RCU が含まれています。次の料金が請求されます。

    プロビジョン済み書き込み容量について、135 WCU x 0.00065 USD/時間 x 24 時間 x 10 日 = 63.18 USD

    プロビジョン済み読み取り容量について、135 RCU x 0.00013 USD/時間 x 24 時間 x 10 日 = 12.63 USD

    まとめると、DynamoDB Standard テーブルクラスを使用した場合の合計月額料金は次のとおりです。

    • プロビジョン済み容量: 75.82 USD
    • データストレージ: 293.75 USD

    DynamoDB Standard テーブルクラスを使用した月額合計料金は 369.57 USD です。

    DynamoDB Standard-IA テーブルクラスを使用した月額料金

    既に示したように、DynamoDB Standard テーブルクラスを使用する場合、ストレージコストはプロビジョン済み容量のコストの 50% を超えます。DynamoDB Standard テーブルクラスを使用する際に、ストレージが主要なコストである場合 (プロビジョン済み容量コストの 50% を超える場合)、DynamoDB Standard-IA テーブルクラスに切り替えることで、コストを最適化できます。同じワークロードについて、翌月の初めにテーブルクラスを DynamoDB Standard-IA に切り替えたと仮定します。次のように請求されます。

    データストレージ: 1.2 TB のストレージについては 0.10 USD/GB の料金が請求されるため、その月のテーブルストレージコストは 120.00 USD となります。

    プロビジョニング済み容量: 次のとおり請求されます。

    プロビジョン済み書き込み容量について、160 WCU x 0.00081 USD/時間 x 24 時間 x 10 日 = 92.16 USD
    プロビジョン済み読み取り容量について、160 RCU x 0.00016 USD/時間 x 24 時間 x 10 日 = 18.43 USD

    まとめると、DynamoDB Standard-IA テーブルクラスを使用した場合の合計月額料金は次のとおりです。

    • プロビジョン済み容量: 110.59 USD
    • データストレージ: 120.00 USD

    DynamoDB Standard-IA テーブルクラスを使用した場合の合計月額料金は 230.59 USD となります。テーブルを DynamoDB Standard-IA に切り替えることで、テーブルの合計月額料金が 37.6%、つまり 138.97 USD 削減されました。

料金に関するその他のリソース

AWS 料金計算ツール

AWS の月額料金を簡単に計算

料金に関するサポートを受ける

個別のお見積もりをご希望の場合、AWS のスペシャリストに問い合わせる