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 で使用可能な最大読み取り/書き込みキャパシティユニットです。アカウントレベルの読み取り/書き込みスループットクォータは、オンデマンドモードのテーブルには適用されません。
アカウントにデフォルトで適用されるスループットのクォータは以下のとおりです。
スループットクォータ名 | オンデマンド | プロビジョンド | 調整可能 |
---|---|---|---|
|
|
|
はい |
|
|
|
はい |
|
|
|
あり |
Service Quotas コンソール
アカウントレベルのスループットクォータについては、Service Quotas コンソールAccountProvisionedReadCapacityUnits
および AccountProvisionedWriteCapacityUnits
AWS 使用状況メトリクスを確認して、使用状況をモニタリングすることもできます。使用状況に関するメトリクスの詳細については、「AWS 使用状況メトリクス」を参照してください。
スループットの増加または減少 (プロビジョニングされたテーブルの場合)
プロビジョニングされたスループットの増加
ReadCapacityUnits
または WriteCapacityUnits
オペレーションを使用して、必要な回数だけ AWS Management Console または UpdateTable
を増やすことができます。1 回の呼び出しで、テーブル、そのテーブルの任意のグローバルセカンダリインデックス、またはこれらの任意の組み合わせに対して、プロビジョニングされるスループットを増やすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。
プロビジョニングされたキャパシティーを追加する場合、アカウントごとのクォータを超えることはできません。また、DynamoDB では、プロビジョニングされたキャパシティーを急速に増やすことはできません。これらの制限に達しない限り、テーブルのプロビジョニング容量を必要なだけ増やすことができます アカウントごとのクォータの詳細については、前述の「スループットのデフォルトクォータ」セクションを参照してください。
プロビジョニングされたスループットの減少
UpdateTable
オペレーションのすべてのテーブルとグローバルセカンダリインデックスでは、ReadCapacityUnits
か WriteCapacityUnits
(またはその両方) を減らすことができます。新しい設定は、UpdateTable
オペレーションが完了するまでは有効になりません。
1 日あたりの DynamoDB テーブルで実行できるプロビジョンドキャパシティーの減少数には、デフォルトのクォータがあります。日付は、協定世界時 (UTC) に従って定義されます。特定の日に、その日に他の減少をまだ実行していない限り、1 時間以内に最大 4 回の減少を実行することから始めることができます。その後、1 時間あたり 1 回追加で減少を実行できます (60 分に 1 回)。これにより、1 日の最大減少回数は 27 回になります。
必要に応じて、Service Quotas コンソール
重要
テーブルとグローバルセカンダリインデックスの減少制限は別々に設定されているため、特定のテーブルのグローバルセカンダリインデックスにはいずれも、独自の減少制限が設定されています。ただし、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,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 コンソール
Service Quotas コンソールTableCount
AWS 使用状況メトリクスを確認して、使用状況をモニタリングすることもできます。使用状況に関するメトリクスの詳細については、「AWS 使用状況メトリクス」を参照してください。
グローバルテーブル
AWSでは、グローバルテーブルを使用するときにプロビジョンまたは利用できるスループットについて、いくつかのデフォルトのクォータがあります。
グローバルテーブルのデフォルトクォータ | オンデマンド | プロビジョンド |
---|---|---|
|
|
|
|
|
|
トランザクションオペレーションは、書き込みが最初に行われた 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 コンソール
UpdateTable
オペレーションごとに、グローバルセカンダリインデックスを1 つだけ作成または削除できます。
テーブルごとの射影されたセカンダリインデックスの属性
合計最大 100 の属性を、1 つのテーブルのすべてのグローバルセカンダリインデックスに射影することができます。これは、ユーザー指定の射影された属性だけに適用されます。
CreateTable
オペレーションでは、INCLUDE
として ProjectionType
を指定した場合には、NonKeyAttributes
で指定した、すべてのローカルセカンダリインデックスを含む属性の合計数が 100 を超えてはいけません。同じ属性名を 2 つの異なるインデックスに射影した場合には、合計を計算する際に 2 つの異なる属性として計算されます。
この制限は、ProjectionType
が KEYS_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
オペレーションでは、ProjectionType
をINCLUDE
に指定した場合には、NonKeyAttributes
パラメータの属性名の長さが制限されます。射影タイプKEYS_ONLY
およびALL
には影響しません。
これらの属性名は UTF-8 を使用してエンコードする必要があり、それぞれの名前の合計サイズが (エンコード後に) 255 バイトを超えることはできません。
データ型
文字列
文字列の長さは、項目の最大サイズである 400 KB に制約されます。
文字列は、UTF-8 バイナリエンコードの Unicode です。UTF-8 は可変幅のエンコードであるため、DynamoDB により、UTF-8 バイトを使用して文字列の長さが決定されます。
数
数値は、最大 38 桁の精度であり、正、負、または 0 のいずれかです。
-
正の範囲:
1E-130
~9.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 のレベルの入れ子の属性をサポートします。
式パラメータ
式パラメータには、ProjectionExpression
、ConditionExpression
、UpdateExpression
、および 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 つのアクションを、同じテーブルの同じ項目に対して実行することはできません。たとえば、
ConditionCheck
とUpdate
の両方を 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 コンソール
注記
プロビジョニングされたスループットクォータは、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
-
一般に、CreateTable、UpdateTable、DeleteTable、PutResourcePolicy、DeleteResourcePolicy のリクエストは、どのような組み合わせでも最大 500 件まで同時に実行できます。その結果、
CREATING
、UPDATING
、またはDELETING
の状態のテーブルの合計数が 500 を超えることはできません。テーブルグループ全体で任意の組み合わせで、ミュータブル (
CreateTable
、DeleteTable
、UpdateTable
、PutResourcePolicy
、DeleteResourcePolicy
) コントロールプレーン API リクエストを 1 秒あたり最大 2,500 回送信できます。ただし、PutResourcePolicy
リクエストおよびDeleteResourcePolicy
リクエストにはそれぞれ下限があります。詳細については、PutResourcePolicy
とDeleteResourcePolicy
のクォータに関する以下の詳細を参照してください。また、リソースベースのポリシーを含む
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
-
DescribeContributorInsights
、ListContributorInsights
、およびUpdateContributorInsights
は定期的に呼び出すのみにします。DynamoDB では、これらの API のそれぞれで 1 秒あたり最大 5 つのリクエストがサポートされます。
DescribeTable
/ListTables
/GetResourcePolicy
-
読み取り専用 (
DescribeTable
、ListTables
、GetResourcePolicy
) コントロールプレーン 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 のバックアップと復元」を参照してください。