

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

# リソース制限の設定
<a name="configure-resource-limits"></a>

Amazon MQ for RabbitMQ は、RabbitMQ 4 以降のブローカーリソース制限の設定をサポートしています。ブローカーを作成すると、Amazon MQ はこれらのリソース制限にデフォルト値を自動的に適用します。これらのデフォルトは、一般的な顧客使用パターンに対応しながらブローカーの可用性を保護するためのガードレールとして機能します。特定のワークロード要件に合わせて制限設定値を変更することで、ブローカーの動作をカスタマイズできます。デフォルトと最大許容値の詳細については、「」を参照してください[Amazon MQ for RabbitMQ のサイズ設定ガイドライン](rabbitmq-sizing-guidelines.md)。

## リソース名と設定キー
<a name="resource-limit-configuration-keys"></a>


| リソース名 | 設定キー | 
| --- | --- | 
| 接続 | connection\_max | 
| [チャネル] | channel\_max\_per\_node | 
| [キュー] | cluster\_queue\_limit | 
| Vhost | vhost\_max | 
| シャベル | runtime\_parameters.limits.shovel | 
| Exchange | cluster\_exchange\_limit | 
| チャネルあたりのコンシューマー | consumer\_max\_per\_channel | 
| 最大メッセージサイズ (MB) | max\_message\_size | 

## リソース制限を上書きする方法
<a name="override-resource-limits"></a>

Amazon MQ API と Amazon MQ コンソールを使用してリソース制限を上書きできます。

次の例は、 を使用してキュー数のデフォルト制限を上書きする方法を示しています AWS CLI。

```
aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"
```

呼び出しが成功すると、設定リビジョンが作成されます。設定を RabbitMQ ブローカーに関連付け、ブローカーを再起動してオーバーライドを適用する必要があります。詳細については、「」を参照してください。 [RabbitMQ Broker Configurations](rabbitmq-broker-configuration-parameters.md)

## 設定でのインスタンス固有のセクションのサポート
<a name="section-support-configuration-data"></a>

RabbitMQ 4 では、Amazon MQ は設定データのセクションをサポートしています。セクションを使用すると、単一の設定内でインスタンス固有のリソース制限を定義できます。各セクションは、特定のインスタンスタイプとデプロイモードの組み合わせに対応しています。設定をブローカーに関連付けると、Amazon MQ はブローカーのインスタンスタイプとデプロイモードに一致するセクションを自動的に適用します。

**重要**  
セクションのサポートは RabbitMQ 4 でのみ利用できます。セクションを含む設定を RabbitMQ 3 ブローカーに適用しようとすると、API は を返します`BadRequestException`。

**セクション構文**

セクションは、次の形式の二重中括弧で区切られます。

```
{{<host-instance-family>.<size>.<mode>}}
```

`mode` 値はデプロイモードを示します。
+ `1` – 単一インスタンスブローカー
+ `3` – クラスターブローカー

他のモード値はすべて無効であり、API はエラーを返します。

次の例は、2 つの異なるインスタンスタイプのセクションを含む設定データを示しています。

```
connection_max = 1000

{{m7g.large.3}}
connection_max = 2000
{{m7g.large.3}}

{{m7g.xlarge.3}}
connection_max = 4000
{{m7g.xlarge.3}}
```

**セクションで許可される設定キー**

セクション内では、次のリソース制限設定キーのみがサポートされています。セクション内に他の設定キーを追加すると、API エラーが発生します。
+ `max_message_size`
+ `channel_max_per_node`
+ `connection_max`
+ `cluster_queue_limit`
+ `vhost_max`
+ `consumer_max_per_channel`
+ `runtime_parameters.limits.shovel`
+ `cluster_exchange_limit`

**セクションの優先順位ルール**

汎用 (最上位) セクションとインスタンス固有のセクションの両方に設定キーが表示される場合、設定データの後半に表示される値が優先されます。たとえば、`m7g.large`クラスターブローカーに次の設定を適用すると、 は `connection_max`に設定されます`2000`。

```
connection_max = 1000

{{m7g.large.3}}
connection_max = 2000
{{m7g.large.3}}
```

汎用値が最後に来るため`1000`、順序を元に戻すと が `connection_max`に設定されます。

```
{{m7g.large.3}}
connection_max = 2000
{{m7g.large.3}}

connection_max = 1000
```

**注記**  
設定データが特定のインスタンスタイプの値を定義しない場合、Amazon MQ はデフォルト値を適用します。

**例**

次の例は、 セクションで設定を作成し、 を使用してブローカーに関連付ける方法を示しています AWS CLI。

*セクションで設定を更新するには*

次のコマンドを実行して、複数のインスタンスタイプのインスタンス固有のリソース制限で設定を更新します。

```
aws mq update-configuration \
    --configuration-id <config-id> \
    --data "$(echo -e "connection_max = 1000\nchannel_max_per_node = 64\n\n{{m7g.large.3}}\nconnection_max = 2000\nchannel_max_per_node = 128\n{{m7g.large.3}}\n\n{{m7g.xlarge.3}}\nconnection_max = 4000\nchannel_max_per_node = 256\n{{m7g.xlarge.3}}" | base64 --wrap=0)"
```

この設定では、次の値を定義します。
+ 一般的なデフォルト: `connection_max = 1000`および `channel_max_per_node = 64`
+ `m7g.large` クラスターブローカー: `connection_max = 2000`および `channel_max_per_node = 128`
+ `m7g.xlarge` クラスターブローカー: `connection_max = 4000`および `channel_max_per_node = 256`

*設定をブローカーに関連付けるには*

設定を更新したら、ブローカーに関連付け、ブローカーを再起動して変更を適用します。次のコマンドを実行します。

```
aws mq update-broker \
    --broker-id <broker-id> \
    --configuration id=<config-id>,revision=<revision-number>
```

## リソース制限オーバーライドエラー
<a name="resource-limit-override-errors"></a>

ブローカーをサポートされている範囲外の設定値に関連付けたり作成したりすると、次のようなエラーレスポンスが発生します。

```
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
```

インスタンスタイプとデプロイモード別のデフォルト値と最大サポート範囲については、[デフォルトのリソース制限](rabbitmq-resource-limits-configuration.md)「」および「」を参照してください[Amazon MQ for RabbitMQ の最大リソース制限](rabbitmq-resource-hard-limit.md)。