10.17. 名前がホスト名およびパスと一致するリクエストのプールへの送信


Red Hat OpenStack Services on OpenShift (RHOSO) Load-balancing サービス (octavia) を使用して、特定の条件に一致する Web クライアントリクエストをアプリケーションサーバーの別のプールにリダイレクトすることができます。ビジネスロジックの条件は、事前定義されたホスト名およびリクエストパスを照合しようとするレイヤー 7 (L7) ポリシーで実行されます。

以下の例では、ホスト名 api.example.com に一致するか、リクエストパスの先頭が /api であるすべての Web クライアントリクエストは、別のプール api_pool にリダイレクトされます。

前提条件

  • 管理者がプロジェクトを作成し、管理者からクラウドにアクセスするための clouds.yaml ファイルが提供されている。
  • python-openstackclient パッケージがワークステーション上に存在する。

    $ dnf list installed python-openstackclient
  • リスナー (listener1) およびプール (pool1) を持つ HTTP ロードバランサー (lb1)。詳細は、Creating an HTTP load balancer with a health monitor を参照してください。

手順

  1. システムの OS_CLOUD 変数がクラウドに設定されていることを確認します。

    $ echo $OS_CLOUD
    my_cloud

    必要に応じて変数をリセットします。

    $ export OS_CLOUD=my_other_cloud

    代わりに、openstack コマンドを実行するたびに --os-cloud <cloud_name> オプションを追加してクラウド名を指定することもできます。

  2. ロードバランサー (lb1) に 2 番目のプール (api_pool) を作成します。

    注記

    丸かっこ内の値は、この手順のコマンド例で使用されるサンプルの値です。これらのサンプル値を、実際のサイトに適した値に置き換えてください。

    $ openstack loadbalancer pool create --name api_pool \
    --lb-algorithm ROUND_ROBIN --loadbalancer lb1 --protocol HTTP --wait
  3. プライベートサブネット (private_subnet) のロードバランサーメンバー (192.0.2.10 および 192.0.2.11) をプール (static_pool) に追加します。

    この例では、バックエンドサーバー 192.0.2.10 および 192.0.2.11 の名前は、それぞれ member1 および member2 です。

    $ openstack loadbalancer member create --name member1 --subnet-id \
    private_subnet --address 192.0.2.10 --protocol-port 80 static_pool \
    --wait
    
    $ openstack loadbalancer member create --name member2 --subnet-id \
    private_subnet --address 192.0.2.11 --protocol-port 80 static_pool \
    --wait
  4. リスナー (listener1) に L7 ポリシー (policy1) を作成します。ポリシーには、アクション (REDIRECT_TO_POOL) を追加し、プール (api_pool) を示す必要があります。

    $ openstack loadbalancer l7policy create --action REDIRECT_TO_POOL \
    --redirect-pool api_pool --name policy1 listener1 --wait
  5. ホスト名 api.example.com にマッチする L7 ルールを、ポリシーに追加します。

    $ openstack loadbalancer l7rule create --compare-type EQUAL_TO \
    --type HOST_NAME --value api.example.com policy1 --wait
  6. リクエスパスの最初の /api にマッチする 2 番目の L7 ルールを、ポリシーに追加します。

    このルールは、最初のルールと論理的に AND で結合されます。

    $ openstack loadbalancer l7rule create --compare-type STARTS_WITH \
    --type PATH --value /api policy1 --wait

検証

  1. openstack loadbalancer l7policy list コマンドを実行し、ポリシー policy1 が存在することを確認します。
  2. openstack loadbalancer l7rule list <l7policy> コマンドを実行し、policy1compare_typeEQUAL_TO および STARTS_WITH であるルールが共に存在することを確認します。

    $ openstack loadbalancer l7rule list policy1
    
    $ openstack loadbalancer l7rule list policy2
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る