翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リソース制限の設定
Amazon MQ for RabbitMQ は、RabbitMQ 4 以降のブローカーリソース制限の設定をサポートしています。ブローカーを作成すると、Amazon MQ はこれらのリソース制限にデフォルト値を自動的に適用します。これらのデフォルトは、一般的な顧客使用パターンに対応しながらブローカーの可用性を保護するためのガードレールとして機能します。特定のワークロード要件に合わせて制限設定値を変更することで、ブローカーの動作をカスタマイズできます。デフォルトと最大許容値の詳細については、「」を参照してくださいAmazon MQ for RabbitMQ のサイズ設定ガイドライン。
リソース名と設定キー
| リソース名 | 設定キー |
|---|---|
| 接続 | 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 |
リソース制限を上書きする方法
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 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_sizechannel_max_per_nodeconnection_maxcluster_queue_limitvhost_maxconsumer_max_per_channelruntime_parameters.limits.shovelcluster_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>
リソース制限オーバーライドエラー
ブローカーをサポートされている範囲外の設定値に関連付けたり作成したりすると、次のようなエラーレスポンスが発生します。
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
インスタンスタイプとデプロイモード別のデフォルト値と最大サポート範囲については、デフォルトのリソース制限「」および「」を参照してくださいAmazon MQ for RabbitMQ の最大リソース制限。