「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
Amazon DynamoDB のサービス、アカウント、およびテーブルのクォータ
このセクションでは、Amazon DynamoDB 内の現在のクォータについて説明します (またはクォータなしの場合もあります)。各クォータは、指定がない限り、リージョン単位で適用されます。
トピック
読み取り/書き込みモードとスループット
24 時間ごとに 1 回、読み込み/書き込みキャパシティーモードを切り替えることができます。
キャパシティーユニットサイズ (プロビジョニングされるテーブルの場合)
最大サイズ 4 KB の項目について、1 つの読み込みキャパシティーユニット = 1 秒あたり 1 回の強力な整合性のある読み込み、あるいは 1 秒あたり 2 回の結果整合性のある読み込み。
最大サイズ 1 KB の項目について、1 つの書き込みキャパシティーユニット = 1 秒あたり 1 回の書き込み
トランザクション読み込みリクエストでは、4 KB までの項目を 1 秒あたりに 1 回読み込むのに読み込みキャパシティーユニットが 2 個必要です。
トランザクション書き込みリクエストでは、1 KB までの項目を 1 秒あたり 1 回書き込むのに書き込みキャパシティーユニットが 2 個必要です。
リクエストユニットサイズ (オンデマンドテーブルの場合)
最大サイズ 4 KB の項目について、1 つの読み込みリクエストユニット = 1 回の強力な整合性のある読み込み、あるいは 2 回の結果整合性のある読み込み。
最大サイズ 1 KB の項目について、1 つの書き込みリクエストユニット = 1 回の書き込み。
トランザクション読み込みリクエストでは、4 KB までの項目を 1 回読み込むのに読み込みリクエストユニットが 2 個必要です。
トランザクション書き込みリクエストでは、1 KB までの項目を 1 回書き込むのに書き込みリクエストユニットが 2 個必要です。
スループットのデフォルトクォータ
AWS では、プロビジョニングできるスループットについて、いくつかのデフォルトのクォータがあります。クォータの拡大をリクエストしない限り、以下のクォータが適用されます。サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
オンデマンド | プロビジョンド | |
---|---|---|
|
|
|
|
|
|
|
|
|
アカウントで使用可能なスループットをすべて 1 つのテーブルに適用することも、複数のテーブルに分けて適用することもできます。
プロビジョニングされたスループットクォータには、すべてのグローバルセカンダリインデックスのキャパシティーとともに、テーブルのキャパシティーの合計が含まれます。
でAWS マネジメントコンソール、 を使用して、特定のAmazon CloudWatchリージョンにおける現在の読み取りおよび書き込みスループットAWSを確認するにはread capacity
、[Metricswrite capacity graphs
(メトリクス)] タブで [] および [] を確認します。クォータに近づきすぎていないことを確認してください。
プロビジョニングされたスループットのデフォルトのクォータを増加させた場合は、DescribeLimits オペレーションを使用して現在のクォータ値を確認できます。
スループットの増加または減少 (プロビジョニングされたテーブルの場合)
プロビジョニングされるスループットを増やす
ReadCapacityUnits
または WriteCapacityUnits
オペレーションを使用して、必要な回数だけ AWS マネジメントコンソール または UpdateTable
を増やすことができます。1 回の呼び出しで、テーブル、そのテーブルの任意のグローバルセカンダリインデックス、またはこれらの任意の組み合わせに対して、プロビジョニングされるスループットを増やすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。
プロビジョニングされたキャパシティーを追加する場合、アカウントごとのクォータを超えることはできません。また、DynamoDB では、プロビジョニングされたキャパシティーを急速に増やすことはできません。これらの制限に達しない限り、テーブルのプロビジョニング容量を必要なだけ増やすことができます アカウントごとのクォータの詳細については、前述の「スループットのデフォルトクォータ」セクションを参照してください。
プロビジョニングされるスループットを減らす
UpdateTable
オペレーションのすべてのテーブルとグローバルセカンダリインデックスでは、ReadCapacityUnits
か WriteCapacityUnits
(またはその両方) を減らすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。1 日に 4 回までいつでも減らすことができます。日付は、協定世界時 (UTC) に従って定義されます。さらに、過去
1 時間に減少されていない場合はさらに減少できます。一日の減少の最大数は 27 回 になります (最初の 1 時間で 4 回、一日の残り時間で 1 時間ごとに 1
回)。
テーブルとグローバルセカンダリインデックスの減少制限は別々に設定されているため、特定のテーブルのグローバルセカンダリインデックスにはいずれも、独自の減少制限が設定されています。ただし、1 つのリクエストでテーブルとグローバルセカンダリインデックスのスループットを縮小し、いずれかが現在の制限を超えた場合は拒否されます。リクエストが部分的に処理されることはありません。
例
1 日の最初の 4 時間で、グローバルセカンダリインデックスが設定されているテーブルは次のように変更できます。
-
テーブルの
WriteCapacityUnits
かReadCapacityUnits
(または両方) を 4 時間減らします。 -
グローバルセカンダリインデックスの
WriteCapacityUnits
かReadCapacityUnits
(または両方) を 4 時間減らします。
同じ日の終わりに、テーブルとグローバルセカンダリインデックスのスループットは、合計 27 回ずつ縮小することができる可能性があります。
Tables
テーブルのサイズ
テーブルのサイズには実用的な制限はありません。テーブルは項目数やバイト数について制限がありません。
アカウントあたりのテーブル数
すべての AWS アカウントについてAWS、リージョンごとに 256 テーブルという初期クォータがあります。
サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
グローバルテーブル
AWS では、グローバルテーブルを使用するときにプロビジョニングまたは利用できるスループットについて、いくつかのデフォルトのクォータがあります。
オンデマンド | プロビジョンド | |
---|---|---|
|
|
|
|
|
|
40,000 を超える書き込みキャパシティーユニット (WCU) を使用するように設定されているテーブルのレプリカを追加する場合は、レプリカの追加 WCU クォータのサービスクォータの拡大をリクエストする必要があります。サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
トランザクションオペレーションは、書き込みが最初に行われたAWSリージョン内でのみ、不可分性、整合性、分離性、耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。たとえば、米国東部 (オハイオ) リージョンと米国西部 (オレゴン) リージョンにレプリカを含むグローバルテーブルがあり、米国東部 (バージニア北部) リージョンで TransactWriteItems オペレーションを実行するとします。この場合、変更がレプリケートされると、米国西部 (オレゴン) リージョンで部分的に完了したトランザクションを確認できます。変更は、ソースリージョンでコミットされると、他のリージョンにのみレプリケートされます。
セカンダリインデックス
テーブルごとのセカンダリインデックス
5 の最大ローカルセカンダリインデックスを定義することができます。
20 のグローバルセカンダリインデックスには、1 テーブルあたりの初期クォータがあります。サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
グローバルセカンダリインデックス オペレーションごとに、1 つのUpdateTable
を作成または削除できます。
テーブルあたりの射影された セカンダリインデックス 属性
合計最大 100 の属性を、1 つのテーブルのすべてのグローバルセカンダリインデックスに射影することができます。これは、ユーザー指定の射影された属性だけに適用されます。
CreateTable
オペレーションでは、ProjectionType
として INCLUDE
を指定した場合には、NonKeyAttributes
で指定した、すべてのローカルセカンダリインデックスを含む属性の合計数が 100 を超えてはなりません。同じ属性名を 2 つの異なるインデックスに射影した場合には、合計を計算する際に
2 つの異なる属性として計算されます。
この制限は、ProjectionType
が KEYS_ONLY
または ALL
であるセカンダリインデックスには適用されません。
パーティションキーおよびソートキー
パーティションキーの長さ
パーティションキーと値の最小長は 1 バイトです。最大長は 2048 バイト です。
パーティションキーの値
テーブルまたはセカンダリインデックスについて、パーティションキー値の明確な数に関する実質的な制限はありません。
ソートキーの長さ
ソートキーと値の最小長は 1 バイトです。最大長は 1024 バイト です。
ソートキー値
一般的に、パーティションキーの値ごとのソートキーの値の数について、実質的に制限はありません。
セカンダリインデックスを持つテーブルは例外です。local secondary indexでは、項目コレクションのサイズに制限があります。異なるパーティションキーの値について、すべてのテーブルおよびインデックス項目の合計サイズは、10 GB を超えることはできません。これにより、パーティションキー値あたりのソートキーの数が制約を受ける可能性があります。詳細については、「 」を参照してください項目コレクションのサイズ制限
名前付けルール
テーブル名およびセカンダリインデックス名
テーブルとセカンダリインデックスの名前は、3 文字以上、255 文字以下である必要があります。使用可能な文字は次のとおりです。
-
A-Z
-
a-z
-
0-9
-
_
(下線) -
-
(ハイフン) -
.
(ドット)
属性名
一般的に、属性名は 1 文字以上、64 KB 以下である必要があります。
以下の例外があります。これらの属性名は 255 文字以下である必要があります。
-
Secondary indexパーティションキー名。
-
Secondary indexソートキー名。
-
ユーザー指定の射影された属性の名前 (local secondary index のみに適用)。
CreateTable
オペレーションでは、ProjectionType
をINCLUDE
に指定した場合には、NonKeyAttributes
パラメータの属性名の長さが制限されます。射影タイプKEYS_ONLY
およびALL
には影響しません。
これらの属性名は UTF-8 を使用してエンコードする必要があり、それぞれの名前の合計サイズが (エンコード後に) 255 バイトを超えることはできません。
データ型
String
文字列の長さは、最大項目サイズ 400 KB によって制限されます。
文字列は、UTF-8 バイナリエンコードの Unicode です。UTF-8 は可変幅のエンコードであるため、DynamoDB により、UTF-8 バイトを使用して文字列の長さが決まります。
Number
数値は、最大 38 桁の精度であり、正、負、または 0 のいずれかです。
-
正の範囲:
1E-130
~9.9999999999999999999999999999999999999E+125
-
負の範囲:
-9.9999999999999999999999999999999999999E+125
~-1E-130
DynamoDB は JSON 文字列を使用してリクエストと返信の数値データを表します。詳細については、「 」を参照してくださいDynamoDB 低レベル API
数値の精度が重要な場合は、数値型から変換する文字列を使用して、DynamoDB に数値を渡します。
Binary
バイナリの長さは、最大項目サイズ 400 KB によって制限されます。
バイナリ属性を操作するアプリケーションは、データを DynamoDB に送信する前に、それを base64 形式でエンコードする必要があります。DynamoDB は、受信したデータを署名なしバイト配列にデコードし、それを属性の長さとして使用します。
Items
項目のサイズ
DynamoDB の最大項目のサイズは、400 KB で、属性名バイナリの長さ (UTF-8 長) と属性値の長さ (これもバイナリ長) を含みます。属性名はサイズ制限に反映されます。
たとえば、2 つの属性を持つ項目があり、1 つの属性は名前が "shirt-color" で値が "R"、別の属性は名前が "shirt-size" で値が "M" であるとします。この項目の合計サイズは 23 バイトです。
を使用したテーブルの項目サイズ ローカルセカンダリインデックスes
テーブルの local secondary index ごとに、以下を合計したサイズに関して 400 KB の制限があります。
-
テーブルの項目データのサイズ。
-
その項目に対応する local secondary index エントリのサイズ。キーの値と射影された属性を含みます。
Attributes
項目あたりの属性名と値のペア
項目あたりの属性の累積サイズは、DynamoDB の最大項目サイズ (400 KB) 内である必要があります。
リスト、マップ、またはセットの値の最大数
値を含む項目が 400 KB のサイズ制限内である限り、リスト、マップ、またはセットの値の最大数の制限はありません。
属性値
属性がテーブルまたはインデックスのキー属性として使用されていない場合は、空の文字列属性とバイナリ属性値を使用できます。空の文字列とバイナリ値は、セット、リスト、およびマップ型内で許可されます。属性値は空のセット (文字列セット、数値セット、またはバイナリセット) にすることはできません。ただし、空のリストおよびマップは許可されます。
入れ子の属性の深さ
DynamoDB は深さが最大 32 レベルの入れ子の属性をサポートします。
式パラメータ
式パラメータにはProjectionExpression
、、、ConditionExpression
、および UpdateExpression
がありますFilterExpression
。
Lengths
任意の式の最大長は 4 KB です。たとえば、ConditionExpression
a=b
のサイズは 3 バイトです。
1 つの式属性名または式属性値の最大長は 255 バイトです。たとえば、#name
は 5 バイト、:val
は 4 バイトです。
式のすべての置換変数の最大長は 2 MBです。これはすべての ExpressionAttributeNames
および ExpressionAttributeValues
の長さの合計です。
演算子およびオペランド
UpdateExpression
で許容される演算子または関数の最大数は 300 です。たとえば、UpdateExpression SET a = :val1 + :val2 + :val3
は 2 つの「+
」演算子を含みます。
IN
コンパレータのオペランドの最大数は 100 です。
予約語
DynamoDB に、予約語と競合する名前の使用を防止する機構はありません (詳細な一覧については、「の予約語DynamoDB」を参照してください)。
ただし、式パラメータで予約語を使用する場合は、ExpressionAttributeNames
も指定する必要があります。詳細については、「 」を参照してくださいDynamoDB の式の属性名
DynamoDB トランザクション
DynamoDB トランザクション API オペレーションには以下の制約があります。
-
トランザクションには、25 個を超える一意のアクションを含めることはできません。
-
トランザクションには、4 MB を超えるデータを含めることはできません。
-
トランザクション内の 2 つのアクションを、同じテーブルの同じ項目に対して実行することはできません。たとえば、
ConditionCheck
とUpdate
の両方を 1 つのトランザクションで同じ項目に対して実行することはできません。 -
トランザクションは、複数のAWSアカウントまたはリージョンのテーブルで操作することはできません。
-
トランザクションオペレーションは、書き込みが最初に行われたAWSリージョン内でのみ、不可分性、整合性、分離性、耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。たとえば、米国東部 (オハイオ) リージョンと米国西部 (オレゴン) リージョンにレプリカを含むグローバルテーブルがあり、米国東部 (バージニア北部) リージョンで
TransactWriteItems
オペレーションを実行するとします。この場合、変更がレプリケートされると、米国西部 (オレゴン) リージョンで部分的に完了したトランザクションを確認できます。変更は、ソースリージョンでコミットされると、他のリージョンにのみレプリケートされます。
DynamoDB ストリーム
DynamoDB ストリーム のシャードの同時リーダー
同じ DynamoDB ストリーム シャードから同時に 2つを超えるプロセスによる読み取りを許可しないでください。この制限を超えると、リクエストのスロットリングが発生する場合があります。
ストリームが有効なテーブルの最大書き込みキャパシティー
AWS では、 DynamoDB ストリームが有効なDynamoDBテーブルの書き込みキャパシティーにいくつかのデフォルトのクォータがあります。クォータの拡大をリクエストしない限り、以下のクォータが適用されます。サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
-
米国東部(バージニア北部) 米国東部 (オハイオ)、、、米国西部 (北カリフォルニア)、米国西部 (オレゴン)、南米 (サンパウロ)、欧州 (フランクフルト)、欧州 (アイルランド)アジアパシフィック (東京)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、、 アジアパシフィック (シドニー) 中国 (北京) リージョン:
-
テーブル単位 – 40,000 書き込みキャパシティーユニット
-
-
その他すべてのリージョン:
-
テーブル単位 – 10,000 書き込みキャパシティーユニット
-
プロビジョニングされたスループットクォータは、DynamoDB ストリームが有効な DynamoDB テーブルにも適用されます。詳細については、「 」を参照してくださいスループットのデフォルトクォータ
DynamoDB Accelerator (DAX)
AWS を利用可能なリージョン
AWS を使用できるDAXリージョンのリストについては、の「 DynamoDB Accelerator (DAX)」を参照してくださいAWS General Reference。
Nodes
DAX クラスターは、1 つのプライマリノードと、0 ~ 10 個のリードレプリカノードで構成されます。
1 つのAWSリージョンでノードの合計数 (AWSアカウントごと) が 50 個を超えることはできません。
パラメータグループ
リージョンごとに最大 20 の DAX パラメータグループを作成できます。
サブネットグループ
リージョンごとに最大 50 の DAX サブネットグループを作成できます。
サブネットグループ内では、最大 20 のサブネットを定義できます。
API 固有の制限
CreateTable
/UpdateTable
/DeleteTable
-
一般的に、最大 50 の
CreateTable
、UpdateTable
、およびDeleteTable
リクエストを同時に実行できます (任意の組み合わせ)。つまり、CREATING
、UPDATING
、またはDELETING
の状態のテーブルの合計数が 50 を超えることはできません。唯一の例外は、1 つ以上の セカンダリインデックス を持つテーブルを作成する場合です。そのようなリクエストは一度に 25 件まで実行できます。ただし、テーブルまたはインデックスの仕様が複雑な場合は、DynamoDB によって同時オペレーション数が一時的に減らされることがあります。
BatchGetItem
-
1 回の
BatchGetItem
オペレーションで、最大 100 項目を取得できます。取得するすべての項目の合計サイズは 16 MB を超えることはできません。
BatchWriteItem
-
単一の
BatchWriteItem
オペレーションは、最大 25 のPutItem
またはDeleteItem
リクエストを含むことができます。書き込むすべての項目の合計サイズは 16 MB を超えることはできません。
DescribeTableReplicaAutoScaling
-
DescribeTableReplicaAutoScaling
メソッドでは、1 秒あたり 10 リクエストのみサポートされます。
DescribeLimits
-
DescribeLimits
は定期的に呼び出すのみにします。1 分以内に複数回呼び出すと、スロットリングエラーが発生する可能性があります。
DescribeContributorInsights
/ListContributorInsights
/UpdateContributorInsights
-
DescribeContributorInsights
、ListContributorInsights
、およびUpdateContributorInsights
は定期的に呼び出すのみにします。DynamoDB では、これらの API のそれぞれで 1 秒あたり最大 5 つのリクエストがサポートされます。
Query
-
Query
の結果セットは、呼び出しあたり 1 MB に制限されます。クエリ応答からLastEvaluatedKey
を使用して、結果をさらに取り出すこともできます。
Scan
-
Scan
の結果セットは、呼び出しあたり 1 MB に制限されます。スキャン応答からLastEvaluatedKey
を使用して、結果をさらに取り出すこともできます。
UpdateTableReplicaAutoScaling
-
UpdateTableReplicaAutoScaling
メソッドは、1 秒あたり 10 個のリクエストのみをサポートします。
DynamoDB保管時の の暗号化
AWS 所有のカスタマーマスターキー (CMK)、 AWS 管理の CMK、およびカスタマー管理の CMK を、テーブルごとに 24 24-hourウィンドウごとに、テーブル作成時から 4 回切り替えることができます。過去 6 時間に変更がない場合は、追加の変更が許可されます。これにより、1 日の変更の最大数は 8 になります (最初の 6 時間で 4 つの変更、1 日の後続の 6 時間のウィンドウごとに 1 つの変更)。
上記のクォータが枯渇した場合でも、 AWS 所有の CMK を使用するように暗号化キーを必要に応じて切り替えることができます。
クォータの拡大をリクエストしない限り、以下のクォータが適用されます。サービスクォータの拡大をリクエストするには、「https://aws.amazon.com/ のサポート
へのテーブルのエクスポート Amazon S3
エクスポートタスクは、最大 300 個、または最大 100 TB のテーブルサイズで同時にエクスポートできます。