負荷分散サービスの優先順位

最終公開日 : Sep 25, 2026
サービスの優先順位機能を使用すると、負荷分散の選択プリファレンスに基づいて、サービスまたはサービスグループの順序に優先順位を付けることができます。次の操作を行うと、優先順位を設定できます。
  • サービスを負荷分散仮想サーバーにバインドします。
  • サービスグループを負荷分散仮想サーバにバインドします。
  • サービスグループメンバーを負荷分散サービスグループにバインドします。
現在、サービスの優先順位は次の方法で構成できます。ただし、これらのアプローチには次の制限があります。
  • バックアップ仮想サーバーチェーンの構成:構成行の数が多いため、各仮想サーバーのすべての LB サービスの状態を確認するには、showコマンドを複数回実行する必要があります。
  • 優先ロケーションの設定:すべてのアプリケーションエンドポイントに対してロケーションエントリを作成する必要があります。
サービスの優先順位付け機能は、設定コマンドの数を減らして前述の制限に対処し、すべての負荷分散サービスの IP アドレスをロケーションで表現しなくても、優先ロケーションの設定を行うことができます。
Related information

負荷分散サービスの優先順位を設定する

負荷分散サービスの優先順位を設定するために、-order <number>パラメータが bind コマンドに追加されます。
注:
順序番号が小さいほど優先度が高くなります。
コマンド:
bind lb vserver <vservername> <servicename/servicegroupname> -order <number>
たとえば、負荷分散仮想サーバー (vs1) にバインドされた一連のサービスを考えてみます。 - order <number>パラメータを使用すると、次のように、サービスの選択順序に優先順位を付けることができます。
  • vs1 にバインドされたセット 1 (s1, s2) — オーダ 1
  • vs1 にバインドされたセット 2 (s3, s4) — オーダー 2
  • vs1 にバインドされた 3 (s5, s6) をセット — オーダ 3
サービスを vs1 にバインドし、vs1 がクライアントトラフィックを受信すると、サービスの選択順序は次のようになります。
  • 仮想サーバ (vs1) は、最初にセット 1 (s1 と s2) のサービスを選択します。これは、このセットには最小の順序番号が割り当てられているためです。既定では、最小の順序番号が優先されます。
  • セット 1 のすべてのサービスが DOWN の場合、vs1 は順序番号 2 のセット 2 (s3 と s4) を選択します。
  • セット 1 とセット 2 のすべてのサービスがダウンしている場合、vs1 は順序番号 3 のセット 3 (s5 と s6) を選択します。

CLI を使用して負荷分散サービスの優先順位を設定する

負荷分散サービスの優先順位を構成するには、コマンドプロンプトで次のコマンドを入力します。
  1. LB 仮想サーバを追加します。
    add lb vserver vs1 HTTP 1.1.1.1 80
  2. LB サービスを追加します。
    add service s[1-6] 2.2.2.[1-6] HTTP 80 
  3. 注文番号を設定し、サービスを LB 仮想サーバーにバインドします。
    bind lb vserver vs1 s1 -order 1
    bind lb vserver vs1 s2 -order 1
    bind lb vserver vs1 s3 -order 2
    bind lb vserver vs1 s4 -order 2
    bind lb vserver vs1 s5 -order 3
    bind lb vserver vs1 s6 -order 3

GUI を使用した負荷分散サービスの優先順位の設定

前提条件:
  • これで、負荷分散仮想サーバーが作成されました。
  • サービスを作成しました。
負荷分散サービスの優先順位を設定し、仮想サーバにバインドするには、次の手順を実行します。
  1. > > に移動し、負荷分散仮想サーバーをダブルクリックします。
  2. の セクションで、 をクリックします。
  3. ダイアログボックスで、 をクリックします。
  4. ダイアログボックスで、サービスを選択します。
  5. フィールドに番号を入力して、サービスの優先順位を設定します。
  6. 「バインド」をクリックします。
  7. ステップ 1 ~ 6 を繰り返して、サービスごとに異なる優先順位番号を設定します。

LB policy コマンドを使用して、負荷分散サービスの優先順位を設定します

既定では、最小の順序番号が優先されます。ただし、新しい LB action コマンドと policy コマンドを使用すると、このデフォルトの動作を延期できます。着信クライアントトラフィックまたはクライアントデータに基づいて、サービスの選択順序を設定できます。
たとえば、仮想サーバ (vs1) にバインドされた一連のサービスを考えてみます。- order <number>パラメータを使用して、サービスの優先順位を次のように設定しました。
  • vs1 にバインドされたセット 1 (s1, s2) — オーダ 1
  • vs1 にバインドされたセット 2 (s3, s4) — オーダー 2
  • vs1 にバインドされた 3 (s5, s6) をセット — オーダ 3
既定では、最小の順序番号が優先されます。したがって、set 1、set2、set3 のサービスのデフォルトの優先順位は、それぞれ 1、2、3 です。ただし、特定のクライアントトラフィックについては、優先順位を 3、1、2 に変更する必要があります。これを実現するには、LB ポリシーを追加して vs1 にバインドします。
LB ポリシーコマンドは、ルールとアクションの 2 つの要素で構成されます。ルールはアクションに関連付けられ、リクエストがルールに一致した場合に実行されるアクションです。
注:
LBポリシーコマンドは、LBとGSLBの両方の構成に共通であり、NetScaler ADCアプライアンスによって処理される要求に適用されます。

LB アクション

**表現:**
add lb action <name> <type> <string>
**例:**
add lb action act1 -type SELECTIONORDER -value 3 2 1 
パラメーター:
  • name: アクションの名前。
  • type: アクションのタイプ。
  • string: 指定したアクションの値。

LBポリシー

**表現:**
add lb policy <name> <rule> <action> <undefaction>
**例:**
add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1
パラメーター:
  • name: ポリシーの名前。
  • rule: ルールは 1 つ以上の式で構成されます。ルールはアクションに関連付けられ、リクエストがルールに一致した場合に実行されるアクションです。
  • action:DROP、NOLBACTION、およびリセットがサポートされています。
  • undefaction:NetScaler ADCアプライアンスは、要求がポリシーと一致しない場合、未定義イベント(UNDEFイベント)を生成します。 set lb param -undefAction <action>コマンドを使用して、未定義のアクションを設定できます。これらのアクションは、DROP、NOLBACTION、RESET といった未定義のイベントに割り当てることができます。
次のように、LB アクション、LB ポリシーを追加し、そのポリシーを負荷分散仮想サーバー (vs1) にバインドする例を考えてみましょう。
add lb action act1 -type SELECTIONORDER -value 3 1 2
add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1
bind lb vserver vs1 -policyName pol1 -priority 10
ルールは IP アドレス、8.8.8.8と一致するクライアントトラフィックを選択し、そのトラフィックを vs1 に送信します。LB アクションタイプ (SELECTIONORDER) は、サービスの選択順序を定義します。LB ポリシーを vs1 にバインドした後、vs1 が IP アドレス8.8.8.8からクライアントトラフィックを受信すると、次の順序でサービスが選択されます。
  1. 仮想サーバ (vs1) は、セット 3 (s5 と s6) のサービスを優先順位 3 で選択します。
  2. セット 3 のすべてのサービスが DOWN の場合、vs1 は優先順位が 2 のセット 1 (s1 と s2) を選択します。
  3. セット 3 とセット 2 のすべてのサービスがダウンしている場合、vs1 は順序 1 のセット 1(s1 と s2)を選択します。

CLI を使用して LB policy コマンドを使用して負荷分散サービスの優先順位を設定する

LB policy コマンドを使用して負荷分散サービスの優先順位を構成するには、コマンドプロンプトで次のコマンドを入力します。
  1. LB アクションを追加します。
    add lb action act1 -type SELECTIONORDER -value 3 1 2 
  2. LB ポリシーを追加します。
    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1
  3. LB 仮想サーバを追加します。
    add lb vserver vs1 HTTP 1.1.1.1 80 
  4. LB ポリシーを LB 仮想サーバーにバインドします。
    bind lb vs vs1 -policyName pol1 -priority 10 
  5. LB サービスを追加します。
    add service s[1-6] 2.2.2.[1-6] HTTP 80 
  6. 順序を設定し、サービスを LB 仮想サーバーにバインドします。
    bind lb vserver vs1 s1 -order 1 
    bind lb vserver vs1 s2 -order 1 
    bind lb vserver vs1 s3 -order 2 
    bind lb vserver vs1 s4 -order 2 
    bind lb vserver vs1 s5 -order 3 
    bind lb vserver vs1 s6 -order 3 

GUI を使用して LB policy コマンドを使用して、負荷分散サービスの優先順位を設定します

前提条件:
  • これで、負荷分散仮想サーバーが作成されました。
  • サービスを作成しました。
ステップ 1-LB アクションを作成します。
  1. AppExpert > LB > アクションに移動します。
  2. で、 をクリックします。
  3. ダイアログボックスで、次のパラメータの値を指定します。
    • 種類
    • 値
      注:
      Valueフィールドの数字はスペースで区切られます。
  4. **[作成]**をクリックします。
ステップ 2-LB ポリシーを作成します。
  1. AppExpert > LB > ポリシーに移動します。
  2. で をクリックします。
  3. ダイアログボックスで、次のパラメータの値を指定します。
    • 名前:pol1
    • アクション:act1
    • 未定義の結果アクション:NOLBACTION
    • 式:CLIENT.IP.SRC.EQ(8.8.8.8)
    LB ポリシーを追加する
  4. 「作成」をクリックします。
ステップ 3-LB ポリシーを LB 仮想サーバーにバインドします。
  1. > > に移動し、仮想サーバーをダブルクリックします。
  2. **で をクリックします。
  3. セクションで、プラス (+) アイコンをクリックします。
  4. 「タイプを選択」 (Choose Type) ダイアログボックスで、次のパラメータの値を指定します。
    • ポリシーを選択:LB
    • タイプを選択:リクエスト
  5. **をクリックします。
  6. ダイアログボックスで、次のパラメータの値を指定します。
    • ポリシーを選択
    • 優先度
    • Goto 式
    • ラベルタイプを呼び出す
  7. [Bind] をクリックします。
ステップ 4-負荷分散サービスの優先順位を設定します。
負荷分散サービスの優先順位を設定するには、「 GUI を使用した負荷分散サービスの優先順位の設定」の手順を参照してください 。

サービスのパーシスタンス設定

サービスに永続性が設定されている場合、デフォルトでは常に永続性が優先されます。
たとえば、パーシステンスが設定され、優先順位が 1 のサービスを考えてみます。優先順位が 0 のサービスが UP の場合、優先順位が 1 のサービスが常に優先されます。
ただし、次の CLI コマンドを使用すると、このデフォルトの動作を上書きできます。
set lb param –overridePersistencyforOrder <YES/NO> 
次の例を考えてみましょう。
一連のサービスは、次の優先順位で仮想サーバ (vs1) にバインドされます。
  • vs1 にバインドされたセット 1 (s1, s2) — オーダ 1
  • vs1 にバインドされたセット 2 (s3, s4) — オーダー 2
永続性を上書きするには、コマンドプロンプトで次のコマンドを入力します。
set lb parameter -overridePersistencyforOrder YES
set 1 (永続性を持つサービスが構成されている) が DOWN の場合、set 2 のサービスが set 1 のサービスが UP になるまで、すべての要求を処理します。優先度 2 の持続性エントリが作成されます。
しばらくすると、set 1 のサービスが起動したと仮定します。これで、set 1 と set 2 の両方のサービスがリクエストを処理するために UP になりました。このシナリオでは、高次のサービスが稼働すると、新しい負荷分散の決定が下されます。パーシステンスエントリは、新しい負荷分散エントリで上書きされます。

優先度切り替え

優先度切り替え機能を使用すると、優先順位の高いサービスのバージョンアップグレード中に、すべてのトラフィックを優先度の低いサービスに切り替えることができます。以下のコマンドを使用して、優先度を切り替えることができます。
  • set lb vserver -toggleorder<Ascending/Descending>
  • set lb vserver v1 -orderthreshold 80
たとえば、次の優先順位を持つ 2 つのサービスがあるとします。
  • Service 1- order 0 
  • サービス 2 — 注文 1
デフォルトでは、サービス 1 がすべてのトラフィックを処理します。サービス 1 をアップグレードする必要がある場合は、トラフィックをサービス 2 に再ルーティングする必要があります。
コマンドプロンプトで次のコマンドを入力して、優先度を切り替えます。
set lb vserver –toggleorder Descending 
既定では、0 の方が優先度が高くなります。ただし、優先度を切り替えた後は、1 の方が優先度が高いと見なされます。サービスにパーシステンスエントリが存在する場合、パーシステンスプリファレンスの動作は、「 サービスのパーシスタンス設定 」セクションで説明されているとおりになります。