

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Bedrock のクォータ
<a name="quotas"></a>

 AWS アカウント には、Amazon Bedrock の制限と呼ばれるデフォルトのクォータがあります。Amazon Bedrock のサービスクォータを表示するには、次のいずれかを実行します。
+ 「[サービスクォータの表示](https://docs.aws.amazon.com/servicequotas/latest/userguide/gs-request-quota.html)」のステップに従って、サービスとして **[Amazon Bedrock]** を選択します。
+ 「 AWS 全般のリファレンス」の「[Amazon Bedrock サービスクォータ](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock)」を参照してください。

Amazon Bedrock のモデル推論は、トークン使用率のクォータによって制御されます。モデルによっては、より高い率でトークンを使用します。これらの使用率とトークンの使用状況を最適化する方法の詳細については、「[Amazon Bedrock でのトークンのカウント方法](quotas-token-burndown.md)」を参照してください。

サービスのパフォーマンスを維持し、Amazon Bedrock を適切に使用するために、アカウントに割り当てられたデフォルトのクォータは、リージョンの要因、支払い履歴、不正使用、および/または[クォータ引き上げリクエスト](quotas-increase.md)の承認に応じて更新される場合があります。

**Topics**
+ [Amazon Bedrock でのトークンのカウント方法](quotas-token-burndown.md)
+ [推論を実行する前にトークンをカウントしてトークンの使用量をモニタリングする](count-tokens.md)
+ [Amazon Bedrock クォータの引き上げをリクエストする](quotas-increase.md)

# Amazon Bedrock でのトークンのカウント方法
<a name="quotas-token-burndown"></a>

モデル推論を実行する場合、使用する Amazon Bedrock モデルに応じて処理できるトークンの数にはクォータがあります。トークンのクォータに関連する次の用語を確認してください。


****  

| 用語 | 定義 | 
| --- | --- | 
| InputTokenCount | モデルへの入力として提供されたリクエスト内のトークンの数を表す CloudWatch Amazon Bedrock ランタイムメトリクス。 | 
| OutputTokenCount | リクエストに応じてモデルにより生成されたトークンの数を表す CloudWatch Amazon Bedrock ランタイムメトリクス。 | 
| CacheReadInputTokens | モデルによって再処理されるのではなく、キャッシュから正常に取得された入力トークンの数を表す CloudWatch Amazon Bedrock ランタイムメトリクス。この値は、[プロンプトキャッシュ](prompt-caching.md)を使用しない場合は 0 になります。 | 
| CacheWriteInputTokens | キャッシュに正常に書き込まれた入力トークンの数を表す CloudWatch Amazon Bedrock ランタイムメトリクス。この値は、[プロンプトキャッシュ](prompt-caching.md)を使用しない場合は 0 になります。 | 
| 1 分あたりのトークン数 (TPM) | 1 分間 AWS で使用できるトークンの数 (入力と出力の両方を含む) のモデルレベルで によって設定されたクォータ。 | 
| 1 日あたりのトークン数 (TPD) | 1 日に使用できるトークンの数 (入力と出力の両方を含む) のモデルレベルで AWS によって設定されたクォータ。デフォルトでは、この値は TPM x 24 x 60 です。ただし、新しい AWS アカウント ではクォータが削減されました。 | 
| 1 分あたりのリクエスト数 (RPM) | 1 分間に送信できるリクエスト数に対してモデルレベルで AWS によって設定されたクォータ。 | 
| max\$1tokens | モデルが生成できる出力トークンの最大数を設定するためにリクエストで指定するパラメータ。 | 
| バーンダウンレート | 入力トークンと出力トークンがスロットリングシステムのトークンクォータ使用量に変換されるレート。 | 

Anthropic Claude モデルバージョン 3.7 以降のバーンダウンレートは、**出力トークンに対して 5 倍です** (1 つの出力トークンはクォータから 5 つのトークンを消費します）。

他のすべてのモデルの場合、バーンダウンレートは **1:1** になります (1 つの出力トークンはクォータから 1 つのトークンを消費します)。

**Topics**
+ [トークンクォータ管理について](#quotas-token-burndown-management)
+ [max\$1tokens パラメータの影響について](#quotas-token-burndown-max-tokens)
+ [max\$1tokens パラメータの最適化](#quotas-token-burndown-max-tokens-optimize)

## トークンクォータ管理について
<a name="quotas-token-burndown-management"></a>

リクエストを行うと、TPM および TPD クォータからトークンが差し引かれます。計算は次の段階で行われます。
+ **リクエストの開始時** – RPM クォータを超過していないと仮定して、次の合計がクォータから差し引かれます。クォータを超えると、リクエストはスロットリングされます。

  ```
  Total input tokens + max_tokens
  ```
+ **処理中** – リクエストによって消費されたクォータは、生成された出力トークンの実際の数を考慮して定期的に調整されます。
+ **リクエストの終了時** – リクエストによって消費されたトークンの合計数は次のように計算され、未使用のトークンがあればクォータに補充されます。

  ```
  InputTokenCount + CacheWriteInputTokens + (OutputTokenCount x burndown rate)
  ```

  [プロンプトキャッシュ](prompt-caching.md)を使用しない場合、`CacheWriteInputTokens` は 0 になります。`CacheReadInputTokens` はこの計算には影響しません。

**注記**  
実際のトークン使用量に対してのみ請求されます。  
例えば、Anthropic Claude Sonnet 4 を使用して、1,000 個の入力トークンを含むリクエストを送信し、100 個のトークンに相当する応答を生成する場合:  
**1,500 個のトークン** (1,000 \$1 100 x 5) が TPM クォータと TPD クォータから消費されます。
**1,100 個のトークン**に対してのみ請求されます。

## max\$1tokens パラメータの影響について
<a name="quotas-token-burndown-max-tokens"></a>

`max_tokens` 値は、各リクエストの開始時にクォータから差し引かれます。予想よりも早く TPM クォータに達している場合は、完了サイズにより近づくように、`max_tokens` を減らしてみてください。

次のシナリオでは、出力トークンのバーンダウンレートが 5 倍であるモデルを使用して、完了したリクエストについてクォータ控除がどのように影響したかの例を示します。

### シナリオ 1: max\$1tokens 値が高い
<a name="quotas-token-burndown-max-tokens-too-high"></a>

次のパラメータを想定します。
+ **InputTokenCount:** 3,000
+ **CacheReadInputTokens:** 4,000
+ **CacheWriteInputTokens:** 1,000
+ **OutputTokenCount:** 1,000
+ **max\$1tokens:** 32,000

次のクォータ控除が行われます。
+ **初回控除 (リクエスト作成時):** 40,000 (= 3,000 \$1 4,000 \$1 1,000 \$1 32,000)
+ **最終調整済み控除 (応答生成後):** 9,000 (= 3,000 \$1 1,000 \$1 1,000 x 5)

このシナリオでは、`max_tokens` パラメータの設定が高すぎるため、同時リクエスト数が少なくなる可能性があります。これにより、TPM クォータ容量にすぐに達するため、リクエストの同時実行、スループット、クォータ使用率が低下します。

### シナリオ 2: 最適化された max\$1tokens 値
<a name="quotas-token-burndown-max-tokens-optimized"></a>

次のパラメータを想定します。
+ **InputTokenCount:** 3,000
+ **CacheReadInputTokens:** 4,000
+ **CacheWriteInputTokens:** 1,000
+ **OutputTokenCount:** 1,000
+ **max\$1tokens:** 1,250

次のクォータ控除が行われます。
+ **初回控除 (リクエスト作成時)**: 9,250 (= 3,000 \$1 4,000 \$1 1,000 \$1 1,250)
+ **最終調整済み控除 (応答生成後):** 9,000 (= 3,000 \$1 1,000 \$1 1,000 x 5)

このシナリオでは、初期控除が最終調整済み控除よりもほんの少し高いため、`max_tokens` パラメータが最適化されました。これにより、リクエストの同時実行、スループット、クォータ使用率が向上しまました。

## max\$1tokens パラメータの最適化
<a name="quotas-token-burndown-max-tokens-optimize"></a>

`max_tokens` パラメータを最適化することで、割り当てられたクォータ容量を効率的に活用できます。このパラメータの決定を通知するために、Amazon CloudWatch を使用できます。Amazon CloudWatch は、Amazon Bedrock のトークン使用状況データなど、 AWS サービスからメトリクスを自動的に収集します。

トークンは `InputTokenCount` と `OutputTokenCount` のランタイムメトリクスに記録されます (その他のメトリクスについては、「[Amazon Bedrock ランタイムメトリクス](monitoring.md#runtime-cloudwatch-metrics)」を参照してください。

CloudWatch モニタリングを使用して `max_tokens` パラメータの決定を通知するには、 AWS マネジメントコンソールで以下を実行します。

1. [https://console.aws.amazon.com/cloudwatch](https://console.aws.amazon.com/cloudwatch) で Amazon CloudWatch コンソールにサインインします。

1. 左側のナビゲーションパネルで **[ダッシュボード]** を選択します。

1. **[自動ダッシュボード]** タブを選択します。

1. **[Bedrock]** を選択します。

1. **[モデル別のトークン数]** ダッシュボードで、展開アイコンを選択します。

1. ピーク使用量を考慮して、メトリクスの期間と範囲パラメータを選択します。

1. **[合計]** とラベル付けされたドロップダウンメニューから、異なるメトリクスを選択してトークンの使用量を観察できます。これらのメトリクスを調べて、`max_tokens` 値の設定に関する決定をガイドします。

# 推論を実行する前にトークンをカウントしてトークンの使用量をモニタリングする
<a name="count-tokens"></a>

モデル推論を実行する場合、入力で送信するトークンの数は、リクエストのコストと、1 分間および 1 日に使用できるトークンのクォータに影響します。[CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html) API は、推論リクエストで同じ入力がモデルに送信された場合に使用されるトークン数を返すため、基盤モデルにリクエストを送信する前にトークンの使用量を推定するのに役立ちます。

**注記**  
[CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html) API を使用しても料金は発生しません。

使用されるトークン化戦略はモデルによって異なるため、トークンのカウントはモデル固有です。このオペレーションによって返されるトークン数は、推論を実行するために同じ入力がモデルに送信された場合に課金対象となるトークン数と一致します。

`CountTokens` API を使用して、以下のことを実行できます。
+ 推論リクエストを送信する前にコストを見積もる。
+ トークンの制限内に収まるようにプロンプトを最適化する。
+ アプリケーションでのトークンの使用量を計画する。

**Topics**
+ [トークンのカウントでサポートされているモデルおよびリージョン](#count-tokens-supported)
+ [リクエスト内のトークンをカウントする](#count-tokens-use)
+ [例を試す](#count-tokens-example)

## トークンのカウントでサポートされているモデルおよびリージョン
<a name="count-tokens-supported"></a>

次の表は、トークンカウントの基盤モデルサポートを示しています。


| プロバイダー | モデル | モデル ID | 単一リージョンモデルのサポート | 
| --- | --- | --- | --- | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  | 
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |  ap-northeast-1 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 |  eu-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  | 

## リクエスト内のトークンをカウントする
<a name="count-tokens-use"></a>

推論リクエスト内の入力トークンの数をカウントするには、[Amazon Bedrock ランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt)を使用して [CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html) リクエストを送信します。モデルをヘッダーに指定し、トークンをカウントする入力を `body` フィールドに指定します。`body` フィールドの値は、[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) リクエストの入力トークンをカウントするのか、[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) リクエストの入力トークンをカウントするのかによって異なります。
+ `InvokeModel` リクエストの場合、`body` の形式は、指定したモデルによって異なる形式の JSON オブジェクトを表す文字列です。
+ `Converse` リクエストの場合、`body` の形式は、会話に含まれる `messages` プロンプトと `system` プロンプトを指定する JSON オブジェクトです。

## 例を試す
<a name="count-tokens-example"></a>

このセクションの例では、Anthropic Claude 3 Haiku を使用して `InvokeModel` リクエストと `Converse` リクエストのトークンをカウントします。

**前提条件**
+ ダウンロードするとAWS SDK for Python (Boto3)、認証情報とデフォルトのAWSリージョンが自動的に認識されるように設定が設定されます。
+ IAM アイデンティティに、次のアクションを行うためのアクセス許可が付与されていること (詳細については、「[Amazon Bedrock のアクション、リソース、条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html)」を参照してください)。
  + bedrock:CountTokens – `CountTokens` の使用を許可します。
  + bedrock:InvokeModel – `InvokeModel` および `Converse` の使用を許可します。少なくとも *arn:\$1\$1Partition\$1:bedrock:\$1\$1Region\$1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0* にスコープを設定する必要があります。

[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) リクエストのトークンのカウントを試すには、次の Python コードを実行します。

```
import boto3
import json

bedrock_runtime = boto3.client("bedrock-runtime")

input_to_count = json.dumps({
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 500,
    "messages": [
        {
            "role": "user",
            "content": "What is the capital of France?"
        }
    ]
})

response = bedrock_runtime.count_tokens(
    modelId="anthropic.claude-3-5-haiku-20241022-v1:0",
    input={
        "invokeModel": {
            "body": input_to_count
        }
    }
)

print(response["inputTokens"])
```

[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) リクエストのトークンのカウントを試すには、次の Python コードを実行します。

```
import boto3
import json 

bedrock_runtime = boto3.client("bedrock-runtime")

input_to_count = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "What is the capital of France?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [
                {
                    "text": "The capital of France is Paris."
                }
            ]
        },
        {
            "role": "user",
            "content": [
                {
                    "text": "What is its population?"
                }
            ]
        }
    ],
    "system": [
        {
            "text": "You're an expert in geography."
        }
    ]
}

response = bedrock_runtime.count_tokens(
    modelId="anthropic.claude-3-5-haiku-20241022-v1:0",
    input={
        "converse": input_to_count
    }
)

print(response["inputTokens"])
```

# Amazon Bedrock クォータの引き上げをリクエストする
<a name="quotas-increase"></a>

アカウントのクォータ引き上げをリクエストする手順は、「[Amazon Bedrock サービスクォータ](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock)」のクォータ表に記載の**引き上げ可能**列の値によって異なります。
+ **はい**とマークされているクォータは、「Service Quotas ユーザーガイド」の「[クォータ引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」の手順に従って調整できます。
+ いずれのモデルでも、以下のクォータをまとめて引き上げをリクエストできます。
  + *\$1\$1model\$1* のクロスリージョン InvokeModel トークン数/分
  + *\$1\$1model\$1* の 1 分あたりのクロスリージョン InvokeModel のリクエスト数
  + *\$1\$1model\$1* の 1 分あたりのオンデマンド InvokeModel のトークン数
  + *\$1\$1model\$1* のオンデマンド InvokeModel リクエスト数/分
  + *\$1\$1model\$1* の 1 日あたりのモデル呼び出しの最大トークン数

  これらのクォータの任意の組み合わせの引き上げをリクエストするには、「Service Quotas ユーザーガイド」の「[クォータ引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」の手順に従って、*\$1\$1model\$1* の**クロスリージョン InvokeModel トークン数/分**のクォータの引き上げをリクエストします。リクエスト送信後、サポートチームから連絡があり、他の 4 つのクォータも引き上げるオプションをご案内します。
**注記**  
圧倒的な需要により、既存のクォータ割り当てを消費するトラフィックを生成するお客様に優先権が与えられます。この条件を満たしていない場合、リクエストは拒否されることがあります。