Amazon DynamoDB のサービス、アカウント、およびテーブルのクォータ - Amazon DynamoDB

Amazon DynamoDB のサービス、アカウント、およびテーブルのクォータ

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

読み込み/書き込みモードとスループット

テーブルは、オンデマンドモードからプロビジョンドキャパシティモードにいつでも切り替えることができます。キャパシティモード間で複数の切り替えを行う場合は、次の条件が適用されます。

  • オンデマンドモードで新しく作成したテーブルは、いつでもプロビジョンドキャパシティモードに切り替えることができます。ただし、オンデマンドモードに戻すことができるのは、テーブルの作成タイムスタンプから 24 時間後のみです。

  • オンデマンドモードの既存のテーブルは、いつでもプロビジョンドキャパシティモードに切り替えることができます。ただし、オンデマンドモードに戻すことができるのは、オンデマンドへの切り替えを示す最後のタイムスタンプから 24 時間後のみです。

読み込みおよび書き込みキャパシティモード間の切り替えの詳細については、「DynamoDB でキャパシティモードを切り替える際の考慮事項」を参照してください。

キャパシティユニットサイズ (プロビジョニングされるテーブルの場合)

最大サイズが 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 秒あたり 1 回の強力な整合性のある読み込み、あるいは 1 秒あたり 2 回の結果整合性のある読み込み。

最大サイズが 1 KB の項目について、1 つの書き込みリクエストユニット = 1 秒単位の書き込み。

トランザクション読み込みリクエストでは、最大 4 KB の項目を 1 秒に 1 回読み込むのに読み込みリクエストユニットが 2 個必要です。

トランザクション書き込みリクエストでは、1 KB の項目を 1 秒に 1 回書き込むのに書き込みリクエストユニットが 2 個必要です。

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

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

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

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

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

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

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

スループットクォータ名 オンデマンド プロビジョンド 調整可能

Per table

40,000 read request units and 40,000 write request units

40,000 read capacity units and 40,000 write capacity units

はい

Per account

Not applicable

80,000 read capacity units and 80,000 write capacity units

はい

Minimum throughput for any table or global secondary index

Not applicable

1 read capacity unit and 1 write capacity unit

あり

Service Quotas コンソールAWS API および AWS CLI を使用して、調整可能なクォータのクォータ増加のリクエストを行うことができます。

アカウントレベルのスループットクォータについては、Service Quotas コンソールAWSCloudWatch コンソールAWS API および AWS CLI を使用して、CloudWatch アラームを作成し、現在の使用量が適用されたクォータ値の指定した割合に達すると、自動的に通知されるようにすることができます。CloudWatch を使用すると、AccountProvisionedReadCapacityUnits および AccountProvisionedWriteCapacityUnits AWS 使用状況メトリクスを確認して、使用状況をモニタリングすることもできます。使用状況に関するメトリクスの詳細については、「AWS 使用状況メトリクス」を参照してください。

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

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

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

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

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

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

1 日あたりの DynamoDB テーブルで実行できるプロビジョンドキャパシティーの減少数には、デフォルトのクォータがあります。日付は、協定世界時 (UTC) に従って定義されます。特定の日に、その日に他の減少をまだ実行していない限り、1 時間以内に最大 4 回の減少を実行することから始めることができます。その後、1 時間あたり 1 回追加で減少を実行できます (60 分に 1 回)。これにより、1 日の最大減少回数は 27 回になります。

必要に応じて、Service Quotas コンソールAWS API および AWS CLI を使用して、クォータ増加のリクエストを行うことができます。

重要

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

1 日の最初の 4 時間で、グローバルセカンダリインデックスが設定されているテーブルは次のように変更できます。

  • テーブルの WriteCapacityUnitsReadCapacityUnits (または両方) を 4 時間減らします。

  • グローバルセカンダリインデックスの WriteCapacityUnitsReadCapacityUnits (または両方) を 4 時間減らします。

同じ日の終わりに、テーブルとグローバルセカンダリインデックスのスループットは、合計 27 回ずつ縮小することができる可能性があります。

リザーブドキャパシティ

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

リザーブドキャパシティのクォータ アクティブなリザーブドキャパシティ 調整可能

アカウントごと

1,000,000 のプロビジョンドキャパシティユニット (WCU _ RCU)

あり

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

1,000,000 を超えるリザーブドキャパシティの引き上げが必要な場合は、サポートチームにリクエストを送信してクォータの引き上げをリクエストできます。

インポートクォータ

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

Contributor Insights

DynamoDB テーブルで Customer Insights を有効にする場合でも、Contributor Insights のルール制限が適用されます。詳細については、「CloudWatch サービスのクォータ」を参照してください。

テーブル

テーブルのサイズ

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

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

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

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

Service Quotas コンソールAWS API および AWS CLI を使用して、アカウントの最大テーブル数に対するデフォルトおよび適用されたクォータ値を確認し、必要に応じてクォータ増加のリクエストを行うことができます。AWS サポートにチケットを申請してクォータの増加をリクエストすることもできます

Service Quotas コンソールAWS API および AWS CLI を使用すると、CloudWatch アラームを作成し、現在の使用量が適用されたクォータ値の指定した割合に達すると、自動的に通知されるようにすることができます。CloudWatch を使用すると、TableCount AWS 使用状況メトリクスを確認して、使用状況をモニタリングすることもできます。使用状況に関するメトリクスの詳細については、「AWS 使用状況メトリクス」を参照してください。

グローバルテーブル

AWSでは、グローバルテーブルを使用するときにプロビジョンまたは利用できるスループットについて、いくつかのデフォルトのクォータがあります。

グローバルテーブルのデフォルトクォータ オンデマンド プロビジョンド

Per table

40,000 read request units and 40,000 write request units

40,000 read capacity units and 40,000 write capacity units

Per table, per destination Region, per day

10 TB for all source tables to which a replica was added for this destination Region

10 TB for all source tables to which a replica was added for this destination Region

トランザクションオペレーションは、書き込みが最初に行われた AWS リージョン内でのみ、不可分性、一貫性、分離性、および耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。たとえば、米国東部 (オハイオ) リージョンと米国西部 (オレゴン) リージョンにレプリカを含むグローバルテーブルがあり、米国東部 (バージニア北部) リージョンで TransactWriteItems オペレーションを実行するとします。この場合、変更がレプリケートされると、米国西部 (オレゴン) リージョンで部分的に完了したトランザクションを確認できます。変更は、ソースリージョンでコミットされた後でのみ、他のリージョンにレプリケートされます。

注記

場合によっては、AWS Support を通じてクォータ制限の引き上げをリクエストする必要が生じることがあります。以下のいずれかに該当する場合は、https://aws.amazon.com/support を参照してください。

  • 40,000 を超える書き込みキャパシティユニット (WCU) を使用するように設定されているテーブルのレプリカを追加する場合は、レプリカの追加 WCU クォータのサービスクォータの引き上げをリクエストする必要があります。

  • 24 時間以内に 1 つまたは複数のレプリカを 1 つの送信先リージョンに追加し、合計が 10 TB を超える場合は、レプリカの追加データのバックフィルクォータについてサービスクォータの引き上げをリクエストする必要があります。

  • 次のようなエラーが発生した場合は、サービスクォータの引き上げをリクエストする必要があります。

    • リージョン「example_region_B」の現在のアカウント制限を超えるため、リージョン「example_region_A」でテーブル「example_table」のレプリカを作成できません。

セカンダリインデックス

テーブルごとのセカンダリインデックス

最大 5 つのローカルセカンダリインデックスを定義することができます。

デフォルトクォータとして、テーブルごとに 20 個のグローバルセカンダリインデックスがあります。Service Quotas コンソールAWS API および AWS CLI を使用して、アカウントに適用されるテーブルごとのグローバルセカンダリインデックスのデフォルトと現在のクォータを確認し、必要に応じてクォータ増加のリクエストを行うことができます。https://aws.amazon.com/support にチケットを申請してクォータの増加をリクエストすることもできます。

UpdateTable オペレーションごとに、グローバルセカンダリインデックスを1 つだけ作成または削除できます。

テーブルごとの射影されたセカンダリインデックスの属性

合計最大 100 の属性を、1 つのテーブルのすべてのグローバルセカンダリインデックスに射影することができます。これは、ユーザー指定の射影された属性だけに適用されます。

CreateTable オペレーションでは、INCLUDE として ProjectionType を指定した場合には、NonKeyAttributes で指定した、すべてのローカルセカンダリインデックスを含む属性の合計数が 100 を超えてはいけません。同じ属性名を 2 つの異なるインデックスに射影した場合には、合計を計算する際に 2 つの異なる属性として計算されます。

この制限は、ProjectionTypeKEYS_ONLY または ALL であるセカンダリインデックスには適用されません。

パーティションキーおよびソートキー

パーティションキーの長さ

パーティションキーと値の最小長は 1 バイトです。最大長は 2048 バイトです

パーティションキーの値

テーブルまたはセカンダリインデックスについて、パーティションキー値の明確な数に関する実質的な制限はありません。

ソートキーの長さ

ソートキーと値の最小長は 1 バイトです。最大長は 1024 バイトです

ソートキー値

一般的に、パーティションキーの値ごとのソートキーの値の数について、実質的に制限はありません。

セカンダリインデックスを持つテーブルは例外です。項目コレクションは、パーティションキー属性の値が同じ項目のセットです。グローバルセカンダリインデックスでは、項目コレクションはベーステーブルから独立しています (そのため、異なるパーティションキー属性を持つこともできます)。ただし、ローカルセカンダリインデックスでは、インデックス付きビューはテーブル内の項目と同じパーティションに配置され、同じパーティションキー属性を共有します。このローカリティのため、テーブルに 1 つ以上の LSI がある場合、項目コレクションを複数のパーティションに分散することはできません。

1 つ以上の LSI を含むテーブルの場合、項目コレクションのサイズは 10 GB を超えることはできません。これには、パーティションキー属性の値が同じであるすべてのベーステーブル項目およびすべての射影された LSI ビューが含まれます。パーティションの最大サイズは 10 GB です。詳細については、「項目コレクションのサイズ制限」を参照してください。

名前付けルール

テーブル名とセカンダリインデックス名

テーブルとセカンダリインデックスの名前は、3 文字以上、255 文字以下である必要があります。使用可能な文字は次のとおりです。

  • A-Z

  • a-z

  • 0-9

  • _ (下線)

  • - (ハイフン)

  • .(ドット)

属性名

一般的に、属性名は 1 文字以上、64 KB 以下である必要があります。

以下の例外があります。これらの属性名は 255 文字以下である必要があります。

  • セカンダリインデックスのパーティションキー名。

  • セカンダリインデックスのソートキー名。

  • ユーザー指定の射影された属性の名前 (ローカルセカンダリインデックスのみに適用)。CreateTable オペレーションでは、ProjectionTypeINCLUDE に指定した場合には、NonKeyAttributes パラメータの属性名の長さが制限されます。射影タイプ KEYS_ONLY および ALL には影響しません。

これらの属性名は UTF-8 を使用してエンコードする必要があり、それぞれの名前の合計サイズが (エンコード後に) 255 バイトを超えることはできません。

データ型

文字列

文字列の長さは、項目の最大サイズである 400 KB に制約されます。

文字列は、UTF-8 バイナリエンコードの Unicode です。UTF-8 は可変幅のエンコードであるため、DynamoDB により、UTF-8 バイトを使用して文字列の長さが決定されます。

数値は、最大 38 桁の精度であり、正、負、または 0 のいずれかです。

  • 正の範囲: 1E-1309.9999999999999999999999999999999999999E+125

  • 負の範囲: -9.9999999999999999999999999999999999999E+125-1E-130

DynamoDB では、リクエストと返信の数値データが JSON 文字列で表示されます。詳細については、「DynamoDB 低レベル API」を参照してください。

数値の精度が重要な場合は、数値型から変換する文字列を使用して、DynamoDB に数値を渡します。

バイナリ

バイナリの長さは、項目の最大サイズである 400 KB に制約されます。

バイナリ属性を操作するアプリケーションは、データを DynamoDB に送信する前に、base64 形式でエンコードする必要があります。その後 DynamoDB は、受信したデータを署名なしバイト配列にデコードし、それを属性の長さとして使用します。

項目

項目のサイズ

DynamoDB の項目の最大サイズは 400 KB で、属性名のバイナリの長さ (UTF-8 の長さ) と属性値の長さ (こちらもバイナリの長さ) を含みます。属性名はサイズ制限に反映されます。

たとえば、2 つの属性を持つ項目があり、1 つの属性は名前が "shirt-color" で値が "R"、別の属性は名前が "shirt-size" で値が "M" であるとします。この項目の合計サイズは 23 バイトです。

ローカルセカンダリインデックスを持つテーブルの項目のサイズ

テーブルのローカルセカンダリインデックスごとに、次を合計したサイズに関して 400 KB の制限があります。

  • テーブルの項目データのサイズ。

  • すべてのローカルセカンダリインデックスエントリ (キーの値と射影された属性を含む) の対応するエントリサイズ。

属性

項目あたりの属性名と値のペア

項目あたりの属性の累積サイズは、DynamoDB の項目の最大サイズ (400 KB) 以内である必要があります。

リスト、マップ、またはセットの値の数

値を含む項目が 400 KB の制限内である限り、リスト、マップ、またはセットにおける値の最大数の制限はありません。

属性値

属性がテーブルまたはインデックスのキー属性として使用されていない場合は、空の文字列属性とバイナリ属性値を使用できます。空の文字列とバイナリ値は、セット、リスト、およびマップ型内で許可されます。属性値は空のセット (文字列セット、数値セット、またはバイナリセット) にすることはできません。ただし、空のリストおよびマップは許可されます。

入れ子の属性の深さ

DynamoDB では、深さが最大 32 のレベルの入れ子の属性をサポートします。

式パラメータ

式パラメータには、ProjectionExpressionConditionExpressionUpdateExpression、および FilterExpression があります。

長さ

任意の式の最大長は 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 オペレーションには次の制約があります。

  • トランザクションには、100 個を超える一意のアクションを含めることはできません。

  • トランザクションには、4 MB を超えるデータを含めることはできません。

  • トランザクション内の 2 つのアクションを、同じテーブルの同じ項目に対して実行することはできません。たとえば、ConditionCheckUpdate の両方を 1 つのトランザクションで同じ項目に対して実行することはできません。

  • トランザクションは、複数の AWS アカウントまたはリージョンのテーブルで動作できません。

  • トランザクションオペレーションは、書き込みが最初に行われた AWS リージョン内でのみ、不可分性、一貫性、分離性、および耐久性 (ACID) を保証します。グローバルテーブルのリージョン間では、トランザクションはサポートされていません。たとえば、米国東部 (オハイオ) リージョンと米国西部 (オレゴン) リージョンにレプリカを含むグローバルテーブルがあり、米国東部 (バージニア北部) リージョンで TransactWriteItems オペレーションを実行するとします。この場合、変更がレプリケートされると、米国西部 (オレゴン) リージョンで部分的に完了したトランザクションを確認できます。変更は、ソースリージョンでコミットされると、他のリージョンにのみレプリケートされます。

DynamoDB Streams

DynamoDB Streams でのシャードの同時読み込み

単一リージョンのテーブルがグローバルテーブルでない場合、同じ DynamoDB Streams のシャードから、同時に 2 つまでのプロセスを読み込むように設計できます。この制限を超えると、リクエストのスロットリングが発生する場合があります。グローバルテーブルでは、リクエストのスロットリングを回避するために、同時リーダーの数を 1 に制限することをお勧めします。

DynamoDB Streams が有効なテーブルの最大書き込みキャパシティ

AWS では、DynamoDB Streams が有効な DynamoDB テーブルの書き込み容量について、いくつかのデフォルトのクォータを用意しています。これらのデフォルトクォータは、プロビジョニングされた読み取り/書き込みキャパシティーモードのテーブルにのみ適用されます。アカウントにデフォルトで適用されるスループットのクォータは以下のとおりです。

  • 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、南米 (サンパウロ)、欧州 (フランクフルト)、欧州 (アイルランド)、アジアパシフィック (東京)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、中国 (北京) リージョン:

    • テーブル単位 – 40,000 個の書き込みキャパシティーユニット

  • その他すべてのリージョン:

    • テーブル単位 – 10,000 個の書き込みキャパシティーユニット

Service Quotas コンソールAWS API および AWS CLI を使用して、アカウントに適用される DynamoDB Streams が有効なテーブルの最大書き込みキャパシティーと、アカウントに適用される現在のクォータを確認し、必要に応じてクォータの増加をリクエストできます。AWS サポートにチケットを申請してクォータの増加をリクエストすることもできます

注記

プロビジョニングされたスループットクォータは、DynamoDB Streams が有効な DynamoDB テーブルにも適用されます。Streams が有効になっているテーブルの書き込みキャパシティのクォータの増加をリクエストする場合は、このテーブルのプロビジョニングされたスループットキャパシティの増加もリクエストしてください。詳細については、「スループットのデフォルトクォータ」を参照してください。他のクォータは、より高いスループットの DynamoDB Streams を処理する場合にも適用されます。詳細については、「Amazon DynamoDB Streams API リファレンスガイド」を参照してください。

DynamoDB Accelerator (DAX)

AWS が利用可能なリージョン

DAX を使用できる AWS リージョンのリストについては、「AWS 全般のリファレンス」の「DynamoDB アクセラレーター (DAX)」を参照してください。

ノード

DAX クラスターは、1 つのみのプライマリノードと、0~10 個のリードレプリカノードで構成されます。

ノードの総数 (AWS アカウントごと) は、1 つの AWS リージョン内で 50 を超えることはできません。

パラメータグループ

リージョンごとに最大 20 の DAX パラメータグループを作成できます。

[サブネットグループ]

リージョンごとに最大 50 の DAX サブネットグループを作成できます。

サブネットグループ内では、最大 20 のサブネットを定義できます。

API 固有の制限

CreateTable/UpdateTable/DeleteTable/PutResourcePolicy/DeleteResourcePolicy

一般に、CreateTableUpdateTableDeleteTablePutResourcePolicyDeleteResourcePolicy のリクエストは、どのような組み合わせでも最大 500 件まで同時に実行できます。その結果、CREATINGUPDATING、または DELETING の状態のテーブルの合計数が 500 を超えることはできません。

テーブルグループ全体で任意の組み合わせで、ミュータブル (CreateTableDeleteTableUpdateTablePutResourcePolicyDeleteResourcePolicy) コントロールプレーン API リクエストを 1 秒あたり最大 2,500 回送信できます。ただし、PutResourcePolicy リクエストおよび DeleteResourcePolicy リクエストにはそれぞれ下限があります。詳細については、PutResourcePolicyDeleteResourcePolicy のクォータに関する以下の詳細を参照してください。

また、リソースベースのポリシーを含む CreateTable リクエストおよび PutResourcePolicy リクエストは、ポリシーの KB ごとに 2 つの追加リクエストとしてカウントされます。例えば、サイズが 5 KB のポリシーの CreateTable リクエストまたは PutResourcePolicy リクエストは 11 リクエストとしてカウントされます。1 つは CreateTable リクエスト、10 はリソースベースのポリシー (2 x 5 KB) です。同様に、サイズが 20 KB のポリシーは 41 件のリクエストとしてカウントされます。1 つはリクエストで、40 はリソースベースのポリシー (2 x 20 KB) です。

PutResourcePolicy

1 つのテーブルで 1 秒あたり最大 25 個の PutResourcePolicy API リクエストを送信できます。個々のテーブルのリクエストが成功すると、その後の 15 秒間、新しい PutResourcePolicy リクエストはサポートされません。

リソースベースのポリシードキュメントでサポートされる最大サイズは 20 KB です。DynamoDB では、この上限に照らしてポリシーのサイズを計算する際に空白はカウントされません。

DeleteResourcePolicy

1 つのテーブルで 1 秒あたり最大 50 個の DeleteResourcePolicy API リクエストを送信できます。個々のテーブルの PutResourcePolicy リクエストが成功すると、その後の 15 秒間、DeleteResourcePolicy リクエストはサポートされません。

BatchGetItem

1 回の BatchGetItem オペレーションで、最大 100 項目を取得できます。取得するすべての項目の合計サイズが 16 MB を超えてはいけません。

BatchWriteItem

1 回の BatchWriteItem オペレーションでは、最大 25 の PutItem、または DeleteItem リクエストを含むことができます。書き込むすべての項目の合計サイズが 16 MB を超えてはいけません。

DescribeStream

DescribeStream は最大で毎秒 10 回呼び出すことができます。

DescribeTableReplicaAutoScaling

DescribeTableReplicaAutoScaling メソッドでは、1 秒あたり 10 リクエストのみサポートされます。

DescribeLimits

DescribeLimits は定期的に呼び出すのみにします。1 分以内に複数回呼び出すと、スロットリングエラーが発生する可能性があります。

DescribeContributorInsights/ListContributorInsights/UpdateContributorInsights

DescribeContributorInsightsListContributorInsights、およびUpdateContributorInsights は定期的に呼び出すのみにします。DynamoDB では、これらの API のそれぞれで 1 秒あたり最大 5 つのリクエストがサポートされます。

DescribeTable/ListTables/GetResourcePolicy

読み取り専用 (DescribeTableListTablesGetResourcePolicy) コントロールプレーン API リクエストを組み合わせて、1 秒あたり最大 2,500 回送信できます。GetResourcePolicy API には、1 秒あたり 100 リクエストという個別の下限があります。

Query

Query の結果セットは、1 回の呼び出しあたり 1 MB に制限されます。クエリ応答から LastEvaluatedKey を使用して、結果をさらに取り出すこともできます。

Scan

Scan の結果セットは、1 回の呼び出しあたり 1 MB に制限されます。スキャン応答から LastEvaluatedKey を使用して、結果をさらに取り出すこともできます。

UpdateKinesisStreamingDestination

UpdateKinesisStreamingDestination オペレーションを実行する場合、24 時間に最大 3 回、ApproximateCreationDateTimePrecision を新しい値に設定できます。

UpdateTableReplicaAutoScaling

UpdateTableReplicaAutoScaling メソッドでは、1 秒あたり 10 リクエストのみサポートされます。

UpdateTableTimeToLive

UpdateTableTimeToLive メソッドでは、指定されたテーブルごとに、Time to Live (TTL) の有効化または無効化のリクエストが 1 時間あたり 1 つだけサポートされます。この変更が完全に処理されるまでに最大で 1 時間かかる場合があります。この 1 時間の間に同じテーブルに対して追加の UpdateTimeToLive 呼び出しが行われると、ValidationException が発生します。

保管時の DynamoDB 暗号化

AWS 所有のキー、AWS マネージドキー、カスタマーマネージドキーは 24 時間いつでも切り替えることができます。テーブルの作成時から、テーブル単位で最大 4 回まで切り替え可能です。また、過去 6 時間以内に変更がなかった場合は、追加で変更することができます。これにより、1 日で変更できる最大の回数は 8 回になります (1 日の中で最初の 6 時間は 4 回、その後は 6 時間ごとに 1 回)。

AWS 所有のキー を使用する暗号化キーの切り替えは、上述のクォータを使い尽くしても、必要な回数だけ行うことができます。

クォータの拡大をリクエストしない限り、以下のクォータが適用されます。サービスクォータの増加をリクエストするには、https://aws.amazon.com/support を参照してください。

Amazon S3 へのテーブルのエクスポート

フルエクスポート: 最大 300 個の同時エクスポートタスク、またはすべての処理中のテーブルエクスポートから合計 100 TB をエクスポートできます。これらの制限は両方とも、エクスポートがキューに入る前に確認されます。

増分エクスポート: 15 分 ~ 24 時間のエクスポート期間で、最大 300 の同時ジョブ、つまり 100 TB のテーブルサイズを同時にエクスポートできます。

バックアップと復元

DynamoDB のオンデマンドバックアップを使用して復元する場合、合計で 50 TB の復元を最大 50 実行できます。AWS Backup を使用して復元する場合、合計で 25 TB の復元を最大 50 まで同時に実行できます。バックアップの詳細については、「DynamoDB のバックアップと復元」を参照してください。