View a markdown version of this page

リソース制限の設定 - Amazon MQ

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

リソース制限の設定

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_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>

リソース制限オーバーライドエラー

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

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

インスタンスタイプとデプロイモード別のデフォルト値と最大サポート範囲については、デフォルトのリソース制限「」および「」を参照してくださいAmazon MQ for RabbitMQ の最大リソース制限