Amazon MQ for RabbitMQ のブローカーデフォルト - Amazon MQ

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

Amazon MQ for RabbitMQ のブローカーデフォルト

Amazon MQ for RabbitMQ ブローカーを作成するときは、ブローカーのパフォーマンスを最適化するために、Amazon MQ がブローカーポリシーと vhost 制限のデフォルトセットを適用します。Amazon MQ が vhost 制限を適用するのは、デフォルト (/) vhost のみです。Amazon MQ は、新しく作成された vhost にデフォルトポリシーを適用しません。すべての新規および既存のブローカーに対してこれらのデフォルトを維持することが推奨されますが、これらのデフォルトはいつでも変更、上書き、または削除できます。

Amazon MQ は、ブローカーの作成時に選択されたインスタンスタイプとブローカーデプロイモードに基づいてポリシーと制限を作成します。デフォルトポリシーの名前は、以下のように、デプロイモードに従って命名されます。

  • 単一インスタンスAWS-DEFAULT-POLICY-SINGLE-INSTANCE

  • クラスターデプロイAWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ

単一インスタンスブローカーの場合、Amazon MQ はポリシーの優先順位値を 0 に設定します。デフォルトの優先順位値を上書きするには、より高い優先順位値を持つ独自のカスタムポリシーを作成することができます。クラスターデプロイの場合、Amazon MQ はブローカーデフォルトに対して優先順位値を 1 に設定します。クラスター用に独自のカスタムポリシーを作成するには、1 を超える優先順位値を割り当てます。

注記

クラシックミラーリングと高可用性 (HA) のため、クラスターデプロイでは ha-mode および ha-sync-mode のブローカーポリシーが必要になります。

デフォルトの AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ ポリシーを削除する場合、Amazon MQ は優先順位値が 0ha-all-AWS-OWNED-DO-NOT-DELETE ポリシー使用します。これは、必要な ha-mode および ha-sync-mode ポリシーが引き続き有効であることを確実にします。独自のカスタムポリシーを作成する場合、Amazon MQ はポリシー定義に ha-mode および ha-sync-mode を自動的に付加します。

ポリシーと制限の説明

以下のリストには、新しく作成されたブローカーに Amazon MQ が適用するデフォルトのポリシーと制限の説明があります。max-lengthmax-queues、および max-connections の値は、ブローカーのインスタンスタイプとデプロイモードに応じて異なります。これらの値は、推奨されるデフォルト値 セクションにリストされています。

  • queue-mode: lazy (ポリシー) – レイジーキューを有効にします。デフォルトで、キューはメッセージのインメモリキャッシュを保持し、ブローカーがコンシューマーにメッセージを可能な限り速く配信できるようにします。これは、ブローカーのメモリが不足し、高メモリアラームが発生する原因になる場合があります。レイジーキューは、現実的な範囲でできる限り早急にメッセージをディスクに移動しようとします。つまり、通常の動作条件下では、メモリに保持されるメッセージはそれほど多くないということです。レイジーキューを使用することにより、RabbitMQ for Amazon MQ は、はるかに大きなメッセージング負荷とはるかに長いキューをサポートできます。特定のユースケースでは、レイジーキューを使用するブローカーのパフォーマンスがわずかに遅くなる可能性があることに注意してください。これは、メッセージがインメモリキャッシュから配信されるのではなく、ディスクからブローカーに移動されるためです。

    デプロイモード

    単一インスタンス、クラスター

  • max-length: number-of-messages (ポリシー) – キュー内のメッセージ数に対する制限を設定します。クラスターデプロイでは、この制限が、ブローカーの再起動やメンテナンスウィンドウの後などにキューの同期が一時停止されることを防ぎます。

    デプロイモード

    クラスター

  • overflow: reject-publish (ポリシー) – キュー内の数が max-length 値に達した後、max-length ポリシーを持つキューが新しいメッセージを拒否するようにします。キューがオーバーフロー状態になった場合にメッセージが失われないようにするには、ブローカーにメッセージを発行するクライアントアプリケーションがパブリッシャー確認を実装する必要があります。パブリッシャー確認の実装の詳細については、RabbitMQ ウェブサイトの「Publisher Confirms」を参照してください。

    デプロイモード

    クラスター

  • max-queues: number-of-queues-per-vhost (vhost 制限) – ブローカー内のキューの数に対する制限を設定します。max-length ポリシー定義と同様に、クラスターデプロイ内のキュー数の制限は、ブローカーの再起動やメンテナンスウィンドウの後などにキューの同期が一時停止されることを防ぎます。キューを制限すると、キューの維持に過剰なCPU使用量がかかることも防止されます。

    デプロイモード

    単一インスタンス、クラスター

  • max-connections: number-of-connections-per-vhost (vhost 制限) – ブローカーへのクライアント接続数に対する制限を設定します。推奨される値に従って接続数を制限すると、ブローカーがメモリアラームを発し、操作を一時停止させる原因となり得るブローカーメモリの過剰な使用を防ぎます。

    デプロイモード

    単一インスタンス、クラスター

推奨されるデフォルト値

注記

max-length および max-queue のデフォルト制限は、5 kB の平均メッセージサイズに基づいてテストおよび評価されます。メッセージが 5 kB を大幅に超える場合は、max-length および max-queue 制限を調整して低くする必要があります。

以下の表には、新しく作成されたブローカーに対するデフォルト制限値がリストされています。Amazon MQ は、ブローカーのインスタンスタイプとデプロイモードに従ってこれらの値を適用します。

インスタンスタイプ デプロイモード max-length max-queues max-connections
t3.micro 単一インスタンス 該当なし 500 500
m5.large 単一インスタンス 該当なし 20,000 4,000
クラスター 8,000,000 4,000 15,000
m5.xlarge 単一インスタンス 該当なし 30,000 8,000
クラスター 9,000,000 5,000 20,000
m5.2xlarge 単一インスタンス 該当なし 60,000 15,000
クラスター 10,000,000 6,000 40,000
m5.4xlarge 単一インスタンス 該当なし 150,000 30,000
クラスター 12,000,000 10,000 100,000