このセクションでは、Amazon DynamoDB 内の現在のクォータ (以前は制限と呼ばれていました) について説明します。各クォータは、指定がない限り、リージョン単位で適用されます。
トピック
読み取り/書き込みスループット
スループットのデフォルトクォータ
AWS では、リージョン内でアカウントがプロビジョニングおよび利用できるスループットについて、いくつかのデフォルトのクォータがあります。
アカウントレベルの読み取りスループットとアカウントレベルの書き込みスループットクォータは、アカウントレベルで適用されます。これらのアカウントレベルのクォータは、特定のリージョン内のすべてのアカウントテーブルとグローバルセカンダリインデックスのプロビジョニングされたスループットキャパシティーの合計に適用されます。アカウントで使用可能なスループットをすべて 1 つのテーブルにプロビジョニングすることも、複数のテーブルに分けてプロビジョニングすることもできます。ーこれらのクォータは、プロビジョンドキャパシティーモードを使用するテーブルにのみ適用されます。
プロビジョンドキャパシティーモードを使用するテーブルと、オンデマンドキャパシティーモードを使用するテーブルに適用されるテーブルレベルの読み込みスループットのクォータとテーブルレベルの書き込みスループットクォータは、それぞれ異なります。
プロビジョンドキャパシティーモードのテーブルと GSI の場合、クォータは、リージョン内の任意のテーブルまたはその GSI にプロビジョニングできる読み取りおよび書き込みキャパシティユニットの最大数です。個々のテーブルとそのすべての GSI の合計も、アカウントレベルの読み取り/書き込みスループットクォータを下回っている必要があります。これに加えて、プロビジョニングされたすべてのテーブルとその GSI の合計がアカウントレベルの読み取り/書き込みスループットクォータを下回っている必要があります。
オンデマンドキャパシティモードテーブルと GSI の場合、テーブルレベルのクォータは、任意のテーブル、またはそのテーブル内の個々の GSI で使用可能な最大読み取り/書き込みキャパシティユニットです。アカウントレベルの読み取り/書き込みスループットクォータは、オンデマンドモードのテーブルには適用されません。
アカウントにデフォルトで適用されるスループットのクォータは以下のとおりです。
スループットクォータ名 | オンデマンド | プロビジョンド | 調整可能 |
---|---|---|---|
|
|
|
はい |
|
|
|
あり |
|
|
|
あり |
スループットの増加または減少 (プロビジョニングされたテーブルの場合)
プロビジョニングされたスループットの増加
ReadCapacityUnits
または WriteCapacityUnits
オペレーションを使用して、必要な回数だけ AWS Management Console または UpdateTable
を増やすことができます。1 回の呼び出しで、テーブル、そのテーブルの任意のグローバルセカンダリインデックス、またはこれらの任意の組み合わせに対して、プロビジョニングされるスループットを増やすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。
プロビジョニングされたキャパシティーを追加する場合、アカウントごとのクォータを超えることはできません。また、DynamoDB では、プロビジョニングされたキャパシティーを急速に増やすことはできません。これらの制限に達しない限り、テーブルのプロビジョニング容量を必要なだけ増やすことができます アカウントごとのクォータの詳細については、前述の「スループットのデフォルトクォータ」セクションを参照してください。
プロビジョニングされたスループットの減少
UpdateTable
オペレーションのすべてのテーブルとグローバルセカンダリインデックスでは、ReadCapacityUnits
か WriteCapacityUnits
(またはその両方) を減らすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。
1 日あたりの DynamoDB テーブルで実行できるプロビジョンドキャパシティーの減少数には、デフォルトのクォータがあります。日付は、協定世界時 (UTC) に従って定義されます。特定の日に、その日に他の減少をまだ実行していない限り、1 時間以内に最大 4 回の減少を実行することから始めることができます。その後、1 時間あたり 1 回追加で減少を実行できます (60 分に 1 回)。これにより、1 日の最大減少回数は 27 回になります。
重要
テーブルとグローバルセカンダリインデックスの減少制限は別々に設定されているため、特定のテーブルのグローバルセカンダリインデックスにはいずれも、独自の減少制限が設定されています。ただし、1 つのリクエストでテーブルとグローバルセカンダリインデックスのスループットを縮小し、いずれかが現在の制限を超えた場合は拒否されます。リクエストが部分的に処理されることはありません。
例
1 日の最初の 4 時間で、グローバルセカンダリインデックスが設定されているテーブルは次のように変更できます。
-
テーブルの
WriteCapacityUnits
かReadCapacityUnits
(または両方) を 4 時間減らします。 -
グローバルセカンダリインデックスの
WriteCapacityUnits
かReadCapacityUnits
(または両方) を 4 時間減らします。
同じ日の終わりに、テーブルとグローバルセカンダリインデックスのスループットは、合計 27 回ずつ縮小することができる可能性があります。
リザーブドキャパシティ
AWS アカウントで購入できるアクティブなリザーブドキャパシティの量に、デフォルトのクォータを設定します。クォータ制限は、書き込みキャパシティユニット (WCU) と読み取りキャパシティユニット (RCU) のリザーブドキャパシティの組み合わせです。
リザーブドキャパシティのクォータ | アクティブなリザーブドキャパシティ | 調整可能 |
---|---|---|
アカウントごと |
1,000,000 のプロビジョンドキャパシティユニット (WCU _ RCU) |
はい |
1 回の購入で 1,000,000 を超えるプロビジョニング済みキャパシティユニットを購入しようとすると、このサービスクォータ制限に関するエラーが表示されます。アクティブなリザーブドキャパシティがあり、追加のリザーブドキャパシティを購入しようとして、アクティブなプロビジョンドキャパシティユニットが 1,000,000 ユニットを超える場合、このサービスクォータ制限に関するエラーが表示されます。
テーブル
テーブルのサイズ
テーブルのサイズには実用的な制限はありません。テーブルは項目数やバイト数について制限がありません。
1 アカウント (1 リージョン) あたりのドメインの最大数
AWS アカウントについては、AWS リージョンごとに 2,500 個のテーブルという初期クォータがあります。
1 つのアカウントで2,500を超えるテーブルが必要な場合は、AWS アカウントチームに連絡して、最大 10,000 テーブルまで増やすことを検討してください。10,000 を超える場合のベストプラクティスは、複数のアカウントを設定することです。各アカウントは最大 10,000 個のテーブルに対応できます。
グローバルテーブルのトランザクション
グローバルテーブルを使用する場合、次のデフォルトのクォータが適用されます。
グローバルテーブルのデフォルトクォータ | オンデマンド | プロビジョンド |
---|---|---|
テーブルあたりのスループット |
|
|
アカウント、リージョン、1 日あたりの新しいレプリカのバックフィルされたデータ |
|
|
トランザクションオペレーションは、書き込み API が最初に呼び出された AWS リージョン内でのみ、不可分性、一貫性、分離性、および耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。例えば、米国東部 (オハイオ) リージョンと米国西部 (オレゴン) リージョンにレプリカを持つグローバルテーブルがあり、米国東部 (バージニア北部) リージョンで TransactWriteItems
オペレーションを実行したとすると、変更がレプリケートされたとき、米国西部 (オレゴン) では部分的に完了したトランザクションが観察されることがあります。変更は、ソースリージョンでコミットされた後でのみ、他のリージョンにレプリケートされます。
注記
場合によっては、AWS サポート を通じてクォータ制限の引き上げをリクエストする必要が生じることがあります。以下のいずれかに該当する場合は、https://aws.amazon.com/support
-
40,000 を超える書き込みキャパシティユニット (WCU) を使用するように設定されているテーブルのレプリカを追加する場合は、レプリカの追加 WCU クォータのサービスクォータの引き上げをリクエストする必要があります。
-
24 時間以内に 1 つまたは複数のレプリカを 1 つの送信先リージョンに追加し、合計が 10 TB を超える場合は、レプリカの追加データのバックフィルクォータについてサービスクォータの引き上げをリクエストする必要があります。
-
次のようなエラーが発生した場合は、サービスクォータの引き上げをリクエストする必要があります。
-
リージョン「example_region_B」の現在のアカウント制限を超えるため、リージョン「example_region_A」でテーブル「example_table」のレプリカを作成できません。
-
セカンダリインデックス
テーブルあたり最大 5 個のローカルセカンダリインデックスを定義できます。
デフォルトクォータとして、テーブルごとに 20 個のグローバルセカンダリインデックスがあります。
射影されたセカンダリインデックスの属性
1 つのテーブルのすべてのローカルおよびグローバルセカンダリインデックスを合わせて、最大 100 の属性を射影することができます。このクォータは、ユーザー指定の射影された属性だけに適用されます。
CreateTable
オペレーションでは、INCLUDE
として ProjectionType
を指定した場合には、NonKeyAttributes
で指定した属性の合計数がすべてのローカルセカンダリインデックス全体を合計して 100 を超えないようにする必要があります。同じ属性名を 2 つの異なるインデックスに射影すると、クォータに対する 2 つの異なる属性として計算されます。
このクォータは、ProjectionType
が KEYS_ONLY
または ALL
であるセカンダリインデックスには適用されません。
DynamoDB Streams
DynamoDB Streams でのシャードの同時読み込み
単一リージョンのテーブルがグローバルテーブルでない場合、同じ DynamoDB Streams のシャードから、同時に 2 つまでの同時プロセスを読み込むように設計できます。この制限を超えると、リクエストのスロットリングが発生する場合があります。グローバルテーブルでは、リクエストのスロットリングを回避するために、同時リーダーの数を 1 に制限することをお勧めします。
DynamoDB Streams が有効なテーブルの最大書き込みキャパシティ
AWS では、DynamoDB Streams が有効な DynamoDB テーブルの書き込み容量について、いくつかのデフォルトのクォータを用意しています。これらのデフォルトクォータは、プロビジョニングされた読み取り/書き込みキャパシティモード、量のテーブルにのみ適用されます。
-
米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、南米 (サンパウロ)、欧州 (フランクフルト)、欧州 (アイルランド)、アジアパシフィック (東京)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、中国 (北京) リージョン:
-
テーブル単位 – 40,000 個の書き込みキャパシティーユニット
-
-
その他すべてのリージョン:
-
テーブル単位 – 10,000 個の書き込みキャパシティーユニット
-
Amazon S3 からのインポート
us-east-1、us-west-2、および eu-west-1 の各リージョンでは、Amazon S3 からの DynamoDB のインポートは、一度に 15 TB の合計インポートソースオブジェクトサイズで 50 個の同時インポートジョブに対応できます。他のすべてのリージョンでは、合計サイズが 1 TB で最大 50 個の同時インポートタスクに対応できます。各インポートジョブでは、すべてのリージョンで最大 50,000 個の Amazon S3 オブジェクトを使用できます。インポートと検証の詳細については、「インポート形式の割り当てと検証」を参照してください。
Amazon S3 へのテーブルのエクスポート
フルエクスポート: 最大 300 個の同時エクスポートタスク、またはすべての処理中のテーブルエクスポートから合計 100 TB をエクスポートできます。これらの制限は両方とも、エクスポートがキューに入る前に確認されます。
増分エクスポート: Amazon S3 への DynamoDB 増分エクスポートは、最大 300 個の同時エクスポートジョブ、またはすべての処理中のテーブルエクスポートから合計 100 TB までサポートできます。エクスポート期間ウィンドウの制限は、最小 15 分、最大 24 時間です。
バックアップと復元
DynamoDB は、DynamoDB のオンデマンドバックアップまたは継続的バックアップを介して、合計 50 TB の同時復元を最大 50 サポートします。AWS Backup は、合計 25 TB の同時復元を最大 50 サポートします。
Contributor Insights
DynamoDB テーブルで Customer Insights を有効にする場合でも、Contributor Insights のルール制限が適用されます。詳細については、「CloudWatch サービスのクォータ」を参照してください。