

# Amazon DynamoDB のクォータと制約
<a name="ServiceQuotasRevised"></a>

このトピックは、Amazon DynamoDB 内の現在のクォータ (以前は制限と呼ばれていました) について説明します。このトピックでは、現在のクォータの表示やクォータの引き上げのリクエストなど、クォータ管理タスクを実行する方法についても説明します。

**Topics**
+ [DynamoDB でのクォータ管理タスクの実行](#ServiceQuotasManagementTasks)
+ [DynamoDB でのクォータ引き上げのリクエスト](RequestingQuotaIncrease.md)
+ [Amazon DynamoDB のクォータ](ServiceQuotas.md)
+ [Amazon DynamoDB での制約](Constraints.md)

## DynamoDB でのクォータ管理タスクの実行
<a name="ServiceQuotasManagementTasks"></a>

Amazon DynamoDB には、テーブル、ストリーム、インデックスなど、いくつかのサービスコンポーネントがあります。AWS アカウントを作成すると、これらのコンポーネントにデフォルトの*クォータ* (以前は制限と呼ばれていました) が設定されます。特に明記していない限り、クォータはリージョン固有です。クォータのいくつかは、リクエストによって引き上げることができます。リソースのクォータに達すると、そのリソースを作成するための追加のリクエストは、失敗して例外が発生します。

### DynamoDB クォータへのアクセス
<a name="Accessing-Service-Quotas"></a>

DynamoDB Service Quotas は、次のいずれかの方法で使用できます。
+ AWS マネジメントコンソール

  [Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/dynamodb/quotas)は、Service Quotas を表示および管理するために使用できるブラウザベースのインターフェイスです。Service Quotas には、上部のナビゲーションバーで選択するか、AWS マネジメントコンソールで Service Quotas を検索することで、任意の AWS マネジメントコンソールページからアクセスできます。
+ AWS Command Line Interface のツール

  AWS Command Line Interface ツールを使用する場合、システムのコマンドラインでコマンドを発行して、Service Quotas タスクを実行できます。コマンドラインツールは、AWS タスクを実行するスクリプトを作成する場合にも便利です。
+ AWS SDK

  さまざまなプログラミング言語やプラットフォーム (Java、Python、Ruby、.NET、iOS、Android など) に AWS SDK を使用して、Service Quotas タスクを実行できます。

 調整可能なクォータが Service Quotas で利用できない場合は、AWS Support Center Console を使用して [Service Quotas の引き上げケース](https://support.console.aws.amazon.com/support/home#/case/create%3FissueType=service-limit-increase)を作成します。

### コンソールで現在のクォータを表示するには
<a name="ViewingServiceQuotasConsole"></a>

**Service Quotas コンソールを使用して現在の DynamoDB クォータを表示するには**

1. [https://console.aws.amazon.com/servicequotas/home/services/dynamodb/quotas/](https://console.aws.amazon.com/servicequotas/home/services/dynamodb/quotas/) で Service Quotas コンソールを開きます。

1. 画面上部のナビゲーションバーで、リージョンを選択します。

1. コンソールには、DynamoDB **[クォータ名]**、**[適用されたアカウントレベルのクォータ値]**、**[AWS デフォルトのクォータ値]**、**[使用率]**、およびアカウントレベルまたはリソースレベルのクォータの **[調整可能性]** に関する詳細が表示されます。

   適用されたクォータ値または使用率が利用できない場合、コンソールには **[利用不可]** と表示されます。適用されたクォータ値は、サポートセンターコンソールからリクエストできます。

1. 特定の **[クォータ名]** を選択すると、**[詳細]** ページが表示されます。このページには、クォータの **[説明]**、**[クォータコード]**、**[クォータ ARN]**、**[使用率]**、**[適用されたアカウントレベルのクォータ値]**、**[調整可能性]**、および **[AWS デフォルトのクォータ値]** が表示されます。

   該当する場合、**[詳細]** ページには、**[モニタリング]** オプション、**[アラーム]**、**[リクエスト履歴]**、クォータの **[タグ]** も表示されます。

### AWS CLI を使用した現在のクォータの表示
<a name="ViewingServiceQuotasCLI"></a>

**DynamoDB クォータのデフォルト値を表示するには:**
+ DynamoDB サービスコード (dynamodb) を使用して `ListDefaultServiceQuotas` オペレーションを呼び出し、Amazon DynamoDB Service Quotas のデフォルト値を取得します。

  ```
  $ aws service-quotas list-aws-default-service-quotas \
          --service-code dynamodb
          
   {
      "Quotas": [
          {
              "ServiceCode": "dynamodb",
              "ServiceName": "Amazon DynamoDB",
              "QuotaArn": "arn:aws:servicequotas:us-east-1::dynamodb/L-F7858A77",
              "QuotaCode": "L-F7858A77",
              "QuotaName": "Global Secondary Indexes per table",
              "Value": 20.0,
              "Unit": "None",
              "Adjustable": true,
              "GlobalQuota": false
          },
          {
              "ServiceCode": "dynamodb",
              "ServiceName": "Amazon DynamoDB",
              "QuotaArn": "arn:aws:servicequotas:us-east-1::dynamodb/L-AB614373",
              "QuotaCode": "L-AB614373",
              "QuotaName": "Table-level write throughput limit",
              "Value": 40000.0,
              "Unit": "None",
              "Adjustable": true,
              "GlobalQuota": false
          }......
      ]
  }
  ```

**適用されたクォータ値を表示するには:**
+ DynamoDB サービスコード (dynamodb) を使用して [https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotas.html](https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotas.html) オペレーションを呼び出すと、パラメータ `QuotaAppliedAtLevel` の値としてそれぞれ `ACCOUNT`、`RESOURCE`、または `ALL` を渡すことで、アカウントレベル、リソースレベル、またはすべてのレベルで適用されたすべてのクォータ値を取得できます。次の CLI の例では、アカウントレベルで適用されるクォータ値を取得します。

  ```
  $ aws service-quotas list-service-quotas \
          --service-code dynamodb \
          --quota-applied-at-level ACCOUNT
          
          
  {
      "Quotas": [
          {
              "ServiceCode": "dynamodb",
              "ServiceName": "Amazon DynamoDB",
              "QuotaArn": "arn:aws:servicequotas:us-east-1:303935678045:dynamodb/L-F7858A77",
              "QuotaCode": "L-F7858A77",
              "QuotaName": "Global Secondary Indexes per table",
              "Value": 20.0,
  {
      "Quotas": [
          {
              "ServiceCode": "dynamodb",
              "ServiceName": "Amazon DynamoDB",
              "QuotaArn": "arn:aws:servicequotas:us-east-1:303935678045:dynamodb/L
  -F7858A77",
              "QuotaCode": "L-F7858A77",
              "QuotaName": "Global Secondary Indexes per table",
              "Value": 20.0,
              "Unit": "None",
              "Adjustable": true,
              "GlobalQuota": false,
              "QuotaAppliedAtLevel": "ACCOUNT"
          }.....
          
          }
      ]
  }
  ```