

# Amazon DynamoDB のクォータ
クォータ

このセクションでは、Amazon DynamoDB 内の現在のクォータ (以前は制限と呼ばれていました) について説明します。各クォータは、指定がない限り、リージョン単位で適用されます。

**注記**  
DynamoDB のすべてのサイズ測定値は、バイナリベースの単位を使用します。DynamoDB は、1 KB = 1024 バイト、1 MB = 1024 KB、1 GB = 1024 MB、1 TB = 1024 GB を示します。

**Topics**
+ [

## 読み取り/書き込みスループット
](#default-limits-throughput-capacity-modes)
+ [

## リザーブドキャパシティ
](#reserved-capacity)
+ [

## テーブル
](#limits-tables)
+ [

## グローバルテーブル
](#gt-limits-throughput)
+ [

## セカンダリインデックス
](#limits-secondary-indexes)
+ [

## 射影されたセカンダリインデックスの属性
](#projected-secondary-index-attributes)
+ [

## DynamoDB Streams
](#limits-dynamodb-streams)
+ [

## Amazon S3 からのインポート
](#import-limits)
+ [

## Amazon S3 へのテーブルのエクスポート
](#limits-table-export)
+ [

## バックアップと復元
](#limits-backup-restore)
+ [

## Contributor Insights
](#contributor-insights-quotas)

## 読み取り/書き込みスループット


### スループットのデフォルトクォータ


AWS では、リージョン内でアカウントがプロビジョニングおよび利用できるスループットについて、いくつかのデフォルトのクォータがあります。

アカウントレベルの読み取りスループットとアカウントレベルの書き込みスループットクォータは、アカウントレベルで適用されます。これらのアカウントレベルのクォータは、特定のリージョン内のすべてのアカウントテーブルとグローバルセカンダリインデックスのプロビジョニングされたスループットキャパシティーの合計に適用されます。アカウントで使用可能なスループットをすべて 1 つのテーブルにプロビジョニングすることも、複数のテーブルに分けてプロビジョニングすることもできます。ーこれらのクォータは、プロビジョンドキャパシティーモードを使用するテーブルにのみ適用されます。

プロビジョンドキャパシティーモードを使用するテーブルと、オンデマンドキャパシティーモードを使用するテーブルに適用されるテーブルレベルの読み込みスループットのクォータとテーブルレベルの書き込みスループットクォータは、それぞれ異なります。

プロビジョンドキャパシティーモードのテーブルと GSI の場合、クォータは、リージョン内の任意のテーブルまたはその GSI にプロビジョニングできる読み取りおよび書き込みキャパシティユニットの最大数です。個々のテーブルとそのすべての GSI の合計も、アカウントレベルの読み取り/書き込みスループットクォータを下回っている必要があります。これに加えて、プロビジョニングされたすべてのテーブルとその GSI の合計がアカウントレベルの読み取り/書き込みスループットクォータを下回っている必要があります。

オンデマンドキャパシティモードテーブルと GSI の場合、テーブルレベルのクォータは、任意のテーブル、またはそのテーブル内の個々の GSI で使用可能な最大読み取り/書き込みキャパシティユニットです。アカウントレベルの読み取り/書き込みスループットクォータは、オンデマンドモードのテーブルには適用されません。

アカウントにデフォルトで適用されるスループットのクォータは以下のとおりです。

**注記**  
すべてのキャパシティーユニットとリクエストユニットのクォータは秒単位で測定されます。例えば、読み込みキャパシティーユニットのクォータが 40,000 の場合、1 秒あたり 40,000 回の読み込みを意味します。

**注記**  
サービスクォータを増やすことで、DynamoDB テーブルの読み取りキャパシティユニット (RCU) または書き込みキャパシティユニット (WCU) をいくつでもリクエストできます。次の表に示す値は、初期のデフォルトクォータです。これらはテーブルの上限値ではありません。


| スループットクォータ名 | オンデマンド | プロビジョンド | 引き上げ可能 | 
| --- | --- | --- | --- | 
| テーブルごと | 40,000 の読み取りリクエストユニットと 40,000 の書き込みリクエストユニット | 読み込みキャパシティーユニット数 40,000 および書き込みキャパシティーユニット数 40,000 |  はい  | 
| アカウントあたり | 該当しない | 読み込みキャパシティーユニット数 80,000 および書き込みキャパシティーユニット数 80,000 |  はい  | 
| 任意のテーブルまたはグローバルセカンダリインデックスの最小スループット | 該当しない | 1 つの読み取りキャパシティユニットと 1 つの書き込みキャパシティユニット |  はい  | 

### スループットの増加または減少 (プロビジョニングされたテーブルの場合)


#### プロビジョニングされたスループットの増加


`ReadCapacityUnits` または `WriteCapacityUnits` オペレーションを使用して、必要な回数だけ AWS マネジメントコンソール または `UpdateTable` を増やすことができます。1 回の呼び出しで、テーブル、そのテーブルの任意のグローバルセカンダリインデックス、またはこれらの任意の組み合わせに対して、プロビジョニングされるスループットを増やすことができます。新しい設定は、`UpdateTable` オペレーションが完了するまでは有効になりません。

プロビジョニングされたキャパシティーを追加する場合、アカウントごとのクォータを超えることはできません。また、DynamoDB では、プロビジョニングされたキャパシティーを急速に増やすことはできません。これらの制限に達しない限り、テーブルのプロビジョニング容量を必要なだけ増やすことができます アカウントごとのクォータの詳細については、前述の「[スループットのデフォルトクォータ](#default-limits-throughput)」セクションを参照してください。

#### プロビジョニングされたスループットの減少


`UpdateTable` オペレーションのすべてのテーブルとグローバルセカンダリインデックスでは、`ReadCapacityUnits` か `WriteCapacityUnits` (またはその両方) を減らすことができます。新しい設定は、`UpdateTable` オペレーションが完了するまでは有効になりません。

1 日あたりの DynamoDB テーブルで実行できるプロビジョンドキャパシティーの減少数には、デフォルトのクォータがあります。日付は、協定世界時 (UTC) に従って定義されます。毎日 4 回の減少が可能です。1 時間ごとに 1 つの追加減少が利用可能になり、最大 4 つまで利用できます。これにより、1 日 24 時間で、最大 27 回 (最初の 1 時間に 4 回、残りの 23 時間ごとに 1 回) 減らすことができます。

**重要**  
テーブルとグローバルセカンダリインデックスの減少制限は別々に設定されているため、特定のテーブルのグローバルセカンダリインデックスにはいずれも、独自の減少制限が設定されています。ただし、1 つのリクエストでテーブルとグローバルセカンダリインデックスのスループットを縮小し、いずれかが現在の制限を超えた場合は拒否されます。リクエストが部分的に処理されることはありません。

**Example**  
1 日の最初の 4 時間で、グローバルセカンダリインデックスが設定されているテーブルは次のように変更できます。  
+  テーブルの `WriteCapacityUnits` か `ReadCapacityUnits` (または両方) を 4 時間減らします。
+  グローバルセカンダリインデックスの `WriteCapacityUnits` か `ReadCapacityUnits` (または両方) を 4 時間減らします。
 同じ日の終わりに、テーブルとグローバルセカンダリインデックスのスループットは、合計 27 回ずつ縮小することができる可能性があります。

## リザーブドキャパシティ


 AWS アカウントで購入できるアクティブなリザーブドキャパシティの量に、デフォルトのクォータを設定します。クォータ制限は、書き込みキャパシティユニット (WCU) と読み取りキャパシティユニット (RCU) のリザーブドキャパシティの組み合わせです。


| リザーブドキャパシティのクォータ | アクティブなリザーブドキャパシティ | 引き上げ可能 | 
| --- | --- | --- | 
|   アカウントあたり   |   1,000,000 のプロビジョンドキャパシティユニット (WCU \$1 RCU)   |   はい   | 

 1 回の購入で 1,000,000 を超えるプロビジョニング済みキャパシティユニットを購入しようとすると、このサービスクォータ制限に関するエラーが表示されます。アクティブなリザーブドキャパシティがあり、追加のリザーブドキャパシティを購入しようとして、アクティブなプロビジョンドキャパシティユニットが 1,000,000 ユニットを超える場合、このサービスクォータ制限に関するエラーが表示されます。

## テーブル


### テーブルのサイズ


テーブルのサイズには実用的な制限はありません。テーブルは項目数やバイト数について制限がありません。

### 1 アカウント (1 リージョン) あたりのドメインの最大数


AWS アカウントについては、AWS リージョンごとに 2,500 個のテーブルという初期クォータがあります。

1 つのアカウントで2,500を超えるテーブルが必要な場合は、AWS アカウントチームに連絡して、最大 10,000 テーブルまで増やすことを検討してください。10,000 を超える場合のベストプラクティスは、複数のアカウントを設定することです。各アカウントは最大 10,000 個のテーブルに対応できます。

## グローバルテーブル


グローバルテーブルを使用する場合、次のデフォルトのクォータが適用されます。


| グローバルテーブルのデフォルトクォータ | オンデマンド | プロビジョンド | 
| --- | --- | --- | 
| MRSC グローバルテーブルの数 ([整合性モード](V2globaltables_HowItWorks.md#V2globaltables_HowItWorks.consistency-modes) を参照) | 任意のキャパシティモードで合計 400 の MRSC グローバルテーブル | 任意のキャパシティモードで合計 400 の MRSC グローバルテーブル | 
| マルチリージョンの結果整合性 (MREC) 用に設定されたテーブルあたりのスループット | 40,000 の読み取りリクエストユニットと 40,000 の書き込みリクエストユニット | 読み込みキャパシティーユニット数 40,000 および書き込みキャパシティーユニット数 40,000 | 
| マルチリージョンの強力な整合性 (MRSC) 用に設定されたテーブルあたりのスループット | 40,000 の読み取りリクエストユニットと 40,000 の書き込みリクエストユニット | 読み込みキャパシティーユニット数 40,000 および書き込みキャパシティーユニット数 40,000 | 
| アカウント、リージョン、1 日あたりの新しいレプリカのバックフィルされたデータ | 10 TB | 10 TB | 

**注記**  
場合によっては、AWS サポート を通じてクォータ制限の引き上げをリクエストする必要が生じることがあります。以下のいずれかに該当する場合は、[https://aws.amazon.com/support](https://aws.amazon.com/support) を参照してください。  
レプリカの作成が成功するためには、グローバルテーブルのスループットクォータがテーブルあたりのスループットクォータ以上である必要があります。MREC グローバルテーブルと MRSC グローバルテーブルには、個別のグローバルテーブルスループットクォータがあります。
24 時間以内に 1 つまたは複数のレプリカを 1 つの送信先リージョンに追加し、合計が 10 TB を超える場合は、レプリカの追加データのバックフィルクォータについてサービスクォータの引き上げをリクエストする必要があります。
次のようなエラーが発生した場合は、サービスクォータの引き上げをリクエストする必要があります。  
リージョン「example\$1region\$1B」の現在のアカウント制限を超えるため、リージョン「example\$1region\$1A」でテーブル「example\$1table」のレプリカを作成できません。

## セカンダリインデックス


テーブルあたり最大 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 個の書き込みキャパシティーユニット

## Amazon S3 からのインポート


us-east-1、us-west-2、および eu-west-1 の各リージョンでは、Amazon S3 からの DynamoDB のインポートは、一度に 15 TB の合計インポートソースオブジェクトサイズで 50 個の同時インポートジョブに対応できます。他のすべてのリージョンでは、合計サイズが 1 TB で最大 50 個の同時インポートタスクに対応できます。各インポートジョブでは、すべてのリージョンで最大 50,000 個の Amazon S3 オブジェクトを使用できます。インポートと検証の詳細については、「[インポート形式の割り当てと検証](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataImport.Validation.html#S3DataImport.Validation.limits)」を参照してください。

## 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 サービスのクォータ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)」を参照してください。