10.12. 開始パスに基づくリクエストのプールへのリダイレクト

Red Hat OpenStack Platform (RHOSP) Load-balancing サービス (octavia) を使用して、HTTP リクエストをサーバーの別のプールにリダイレクトすることができます。リクエストの URL の 1 つ以上の開始パスに一致するようにレイヤー 7 (L7) ポリシーを定義できます。

以下の例では、/js または /images で始まる URL が含まれるリクエストは、すべて静的コンテンツサーバーの別のプールにリダイレクトされます。

前提条件

手順

  1. Source コマンドで認証情報ファイルを読み込みます。

    $ source ~/overcloudrc

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

    注記

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

    $ openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --loadbalancer lb1 --name static_pool --protocol HTTP

  3. プライベートサブネット (private_subnet) のロードバランサーメンバー (192.0.2.10 および 192.0.2.11) をプール (static_pool) に追加します。

    $ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 static_pool
    $ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.11 --protocol-port 80 static_pool

  4. リスナー (listener1) に L7 ポリシー (policy1) を作成します。ポリシーには、アクション (REDIRECT_TO_POOL) を追加し、プール (static_pool) を示す必要があります。

    $ openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool static_pool --name policy1 listener1

  5. リクエストパスの先頭に /js を探す L7 ルールを、ポリシーに追加します。

    $ openstack loadbalancer l7rule create --compare-type STARTS_WITH --type PATH --value /js policy1

  6. アクション (REDIRECT_TO_POOL) で L7 ポリシー (policy2) を作成し、プールに示したリスナー (listener1) を追加します。

    $ openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool static_pool --name policy2 listener1

  7. リクエストパスの先頭に /images を探す L7 ルールを、ポリシーに追加します。

    $ openstack loadbalancer l7rule create --compare-type STARTS_WITH --type PATH --value /images policy2

検証

  1. openstack loadbalancer l7policy list コマンドを実行し、ポリシー policy1 および policy2 が存在することを確認します。
  2. openstack loadbalancer l7rule list <l7policy> コマンドを実行し、それぞれのポリシーごとに compare_typeSTARTS_WITH のルールが存在することを確認します。

    $ openstack loadbalancer l7rule list policy1
    $ openstack loadbalancer l7rule list policy2

関連情報