検索

10.4.2. vhost ポリシーの作成

download PDF

vhost ポリシーは、リモートホストからルーターに接続するユーザーの接続制限およびリソース制限を定義します。リモートホストごとに 1 つの vhost ポリシーを作成する必要があります。

前提条件

ルーターに対して vhost ポリシーを有効にする必要があります。詳細は、「vhost ポリシーの有効化」 を参照してください。

手順

  1. vhost セクションを追加し、メッセージングエンドポイントの接続およびメッセージのサイズ制限を定義します。

    接続制限は、vhost に接続されているすべてのユーザーに適用されます。これらの制限により、vhost を同時に接続できるユーザーの数を制御します。

    vhost {
        hostname: example.com
        maxConnections: 10000
        maxMessageSize: 500000
        maxConnectionsPerUser: 100
        maxConnectionsPerHost: 100
        allowUnknownUser: true
        ...
    }
    hostname

    vhost (メッセージングエンドポイント) のリテラルホスト名または vhost ホスト名に一致するパターンのリテラルホスト名。この vhost ポリシーは、指定したホスト名に転送されるクライアント接続に適用されます。この名前は一意でなければなりません。ホスト名ごとに 1 つの vhost ポリシーのみを指定できます。

    enableVhostNamePatternstrue に設定されている場合、ワイルドカードを使用してホスト名の範囲に一致するパターンを指定できます。詳細は、「vhost ポリシーホスト名パターン一致ルール」 を参照してください。

    maxConnections
    この vhost で許可されている同時クライアント接続のグローバル最大数デフォルトは 65535 です。
    maxMessageSize
    この vhost へのコネクションに対して許可される AMQP メッセージ転送の最大サイズ (バイト単位)。この制限は、ポリシーの maxMessageSize 値を上書きし、vhost ユーザーグループの設定で上書きされる可能性があります。値が 0 の場合は、この制限が無効になります。
    maxConnectionsPerUser
    すべてのユーザーが許容される同時クライアント接続の最大数。デフォルトは 65535 です。
    maxConnectionsPerHost
    すべてのリモートホスト (クライアントが接続しているホスト) に対して許可される同時クライアント接続の最大数。デフォルトは 65535 です。
    allowUnknownUser
    不明なユーザー (定義されたユーザーグループのメンバーであるユーザー) が vhost への接続を許可するかどうか。不明なユーザーは、$default ユーザーグループに割り当てられ、$default 設定を受け取ります。デフォルトは false で、不明なユーザーには許可されないことを意味します。
  2. vhost セクションで、追加した接続設定の下に、group エンティティーを追加して、リソース制限を定義します。

    ユーザーグループでリソース制限を定義します。ユーザーグループは、グループのメンバーがアクセス可能なメッセージングリソースを指定します。

    以下の例は、admin、developer、および $default の 3 つのユーザーグループを示しています。

    vhost {
        ...
        groups: {
            admin: {
                users: admin1, admin2
                remoteHosts: 127.0.0.1, ::1
                sources: *
                targets: *
            }
            developers: {
                users: dev1, dev2, dev3
                remoteHosts: *
                sources: myqueue1, myqueue2
                targets: myqueue1, myqueue2
            }
            $default: {
                remoteHosts: *
                allowDynamicSource: true,
                allowAdminStatusUpdate: true,
                sources: myqueue1, myqueue2
                targets: myqueue1, myqueue2
            }
        }
    }
    users
    このユーザーグループに認証されたユーザーの一覧。複数のユーザーを分離する場合はコンマで区切ります。ユーザーは 1 つの vhost ユーザーグループにしか属することができません。
    remoteHosts
    ユーザーが接続できるリモートホストの一覧。ホストには、ホスト名、IP アドレス、または IP アドレス範囲を指定できます。複数のホストを分離する場合はコンマで区切ります。すべてのリモートホストからアクセスを許可するには、ワイルドカード * を指定します。すべてのリモートホストからアクセスを拒否するには、この属性を空白のままにします。
    maxConnectionsPerUser
    このユーザーグループでユーザーが作成できる接続の最大数。この値が指定されている場合には、vhost maxConnectionsPerUser の値が上書きされます。
    maxConnectionsPerHost
    許可されたリモートホストからこのユーザーグループのユーザーによって作成できる同時接続の最大数。この値が指定されている場合には、vhost maxConnectionsPerUser の値が上書きされます。
    maxMessageSize
    このグループのユーザーが作成したコネクションに許可される AMQP メッセージ転送の最大サイズ (バイト単位)。この制限により、ポリシーと vhost maxMessageSize の値が上書きされます。値が 0 の場合は、この制限が無効になります。
    allowDynamicSource
    true の場合、このグループのユーザーからの接続は受信側を動的ソースに割り当てることができます。これにより、リスナーが一時的なアドレスまたは一時キューに作成できるようになります。false の場合、動的ソースの使用は許可されません。
    allowAdminStatusUpdate
    true の場合、このグループのユーザーからの接続は、接続の adminStatus を変更することが許可されます。これにより、送信者またはレシーバー接続の終了が許可されます。false の場合、このグループのユーザーは、接続を終了できなくなります。ルーター間接続はどのユーザーでも終了できません。ポリシーが設定されていない場合でも、デフォルトは true になります。
    allowWaypointLinks
    true の場合、このグループ内のユーザーからの接続は、ポイントポイント機能を使ってリンクを割り当てることができます。これにより、エンドポイントが自動リンクを設定する必要なく、ポイント (ブローカー) として機能できるようになります。false の場合は、ポイント機能の使用が許可されません。
    allowDynamicLinkRoutes
    true の場合、このグループのユーザーからの接続は、接続スコープのリンクルートの宛先を動的に作成できます。これにより、エンドポイントはリンクルートの設定を必要とせずに、リンクルートの宛先 (ブローカー) として機能できます。false の場合、動的リンクルートの宛先の作成は許可されません。
    allowFallbackLinks
    true の場合、このグループのユーザーからの接続は、フォールバックリンク機能を使用してリンクを割り当てることができます。これにより、エンドポイントはフォールバックが有効にされているアドレスのフォールバック宛先 (およびソース) として動作します。false の場合は、フォールバックリンク機能の使用は許可されません。
    sources | sourcePattern

    このグループのユーザーがメッセージを受信する AMQP ソースアドレスのリスト。

    sources を使用して、1 つ以上のリテラルアドレスを指定します。複数のアドレスを指定するには、コンマ区切りリストを使用します。このグループのユーザーが任意のアドレスからメッセージを受信しないようにするには、この属性を空白のままにしておきます。特定のユーザー固有のアドレスへのアクセスを許可するには、${user} トークンを指定します。詳細は、「vhost ポリシーのソースおよびターゲットアドレスを指定する方法」 を参照してください。

    または、sourcePattern を使用して、パターンに対応する 1 つ以上のアドレスと一致させることもできます。パターンは、. または / のいずれかで区切られた単語シーケンスです。ワイルドカード文字を使用して単語を表すことができます。* 文字は 1 つの単語にマッチし、# 文字はゼロ以上の単語のシーケンスと一致します。

    複数のアドレス範囲を指定するには、アドレスパターンのコンマ区切りリストを使用します。詳細は、「アドレスパターンの一致」 を参照してください。特定のユーザーに固有の範囲へのアクセスを許可するには、${user} トークンを指定します。詳細は、「vhost ポリシーのソースおよびターゲットアドレスを指定する方法」 を参照してください。

    targets | targetPattern
    このグループのユーザーがメッセージを送信できる AMQP ターゲットアドレスのリスト。複数の AMQP アドレスを指定し、ユーザー名の置換とアドレスパターンをソースアドレスと同じように使用できます。
  3. 必要な場合は、vhost ユーザーグループに高度なユーザーグループ設定を追加します。

    高度なユーザーグループ設定では、AMQP コネクションのオープン、セッション開始、および接続のリンクアタッチフェーズに基づいて、リソース制限を定義できます。詳細は、man ページの qdrouterd.confvhost を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.