Citrix ADC

使用例 5: TOS 使用時に DSR モードを設定する

Differentiated Services(DS; ディファレンシエーテッドサービス)は、TOS(Type of Service)とも呼ばれ、IPv4 パケットヘッダーの一部であるフィールドです。IPv6 ヘッダーの同等のフィールドは、トラフィッククラスです。TOS は、パケットのパスを最適化するために上位層プロトコルによって使用されます。TOS 情報では、Citrix ADC アプライアンスの仮想 IP アドレス (VIP) がエンコードされ、負荷分散されたサーバーによって VIP が抽出されます。

次のシナリオでは、アプライアンスはパケットの TOS フィールドに VIP を追加し、パケットをロードバランシングされたサーバに転送します。次に、負荷分散されたサーバーは、次の図に示すように、アプライアンスをバイパスして、クライアントに直接応答します。

図1:DSRモードのCitrix ADCアプライアンス(TOS付き)

Dsrwithos

TOS 機能は、制御された環境に合わせて次のようにカスタマイズされます。

  • この環境には、ステートフルファイアウォールや TCP ゲートウェイなどのステートフルデバイスが、アプライアンスとロードバランシングされたサーバ間のパスに存在しないようにする必要があります。
  • ネットワークへのすべてのエントリポイントにあるルータは、ロードバランシングされたサーバが別の TOS フィールドとアプライアンスによって追加された TOS フィールドを混同しないようにするために、すべての着信パケットから TOS フィールドを削除する必要があります。
  • 各サーバーには 63 個の VIP しか設定できません。
  • 中間ルータは、フラグメンテーションに関する ICMP エラーメッセージを送信しないでください。送信元 IP アドレスは負荷分散サーバーのIP アドレスであり、Citrix ADC VIP アドレスではないため、クライアントはメッセージを理解できません。
  • TOS は、IP ベースのサービスに対してのみ有効です。TOS ではドメイン名ベースのサービスを使用できません。

この例では、Service-ANY-1 が作成され、仮想サーバー Vserver-LB-1 にバインドされます。仮想サーバは、サービスに対するクライアント要求の負荷を分散し、アプライアンスをバイパスしてクライアントが直接応答します。次の表に、DSRモードでアプライアンス上で構成されたエンティティの名前と値を示します。

エンティティの種類 名前 IPアドレス プロトコル
仮想サーバ Vserver-LB-1 102.33.91 ANY
サービス Service-ANY-1 102.100.44 ANY
モニター PING なし なし

TOS を使用した DSR では、ロードバランシングがレイヤ 3 に設定されている必要があります。レイヤ 3 の基本ロードバランシング設定を設定するには、基本的な負荷分散のセットアップを参照してください。エンティティに名前を付け、前の表で説明した値を使用してパラメータを設定します。

負荷分散の設定を構成したら、DSR モードの負荷分散設定をカスタマイズする必要があります。このためには、リダイレクションモードを設定して、サーバーがデータパケットをカプセル化解除し、クライアントに直接応答してアプライアンスをバイパスできるようにします。

リダイレクト・モードを指定した後で、オプションでアプライアンスを有効にしてサーバーを透過的に監視できます。これにより、アプライアンスは負荷分散されたサーバーを透過的に監視できます。

コマンドラインインターフェイスを使用して仮想サーバーのリダイレクションモードを構成するには

コマンドプロンプトで、次のように入力します。

set lb vserver <vServerName> -m <Value> -tosId <Value>

例:

set lb vserver Vserver-LB-1 -m TOS -tosId 3

構成ユーティリティを使用して仮想サーバーのリダイレクションモードを構成するには

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。
  2. 仮想サーバを開き、リダイレクトモードで TOS ID を選択します。

コマンドラインインターフェイスを使用して TOS のトランスペアレントモニタを設定するには

コマンドプロンプトで、次のように入力します。

add monitor <MonitorName> <Type> -destip <DestinationIP> -tos <Value> -tosId <Value>

例:

add monitor mon1 PING -destip 10.102.33.91 -tos Yes  -tosId 3

設定ユーティリティを使用して TOS 用のトランスペアレントモニタを作成するには

  1. [トラフィック管理] > [ロードバランシング] > [モニター]に移動します。
  2. モニタを作成し、[TOS] を選択し、仮想サーバに対して指定した TOS ID を入力します。

ワイルドカード TOS モニタ

TOS フィールドを使用した DSR モードのロードバランシング設定では、サービスをモニタリングするには、TOS モニタを作成し、これらのサービスにバインドする必要があります。TOS モニタは、VIP アドレスのエンコード値を作成するために VIP アドレスと TOS ID を必要とするため、TOS フィールドを使用する DSR モードのロードバランシング設定ごとに、個別の TOS モニタが必要です。モニタは、 TOS フィールドが VIP アドレスのエンコード値に設定されているプローブパケットを作成します。次に、ロードバランシング設定のサービスによって表されるサーバにプローブパケットを送信します。

多くのロードバランシング設定では、設定ごとに個別のカスタム TOS モニタを作成することは、非常に面倒な作業です。これらの TOS モニターの管理も重要な作業です。これで、ワイルドカード TOS モニタを作成できます。同じプロトコル(TCP や UDP など)を使用するすべてのロードバランシング設定に対して、ワイルドカード TOS モニタを 1 つだけ作成します。

ワイルドカード TOS モニタには、次の必須設定があります。

  • タイプ =<protocol>
  • TOS = はい

次のパラメータは、値に設定することも、空白のままにすることもできます。

  • Destination IP
  • 宛先ポート
  • TOS ID

DSR サービスにバインドされたワイルドカード TOS モニタ(宛先 IP、宛先ポート、および TOS ID が設定されていない)は、ロードバランシング仮想サーバの TOS ID および VIP アドレスを自動的に学習します。モニタは、符号化された VIP アドレスに設定された TOS フィールドを使用してプローブパケットを作成し、DSR サービスによって表されるサーバにプローブパケットを送信します。

CLI を使用してワイルドカード TOS モニタを作成するには

コマンドプロンプトで、次のように入力します。

add lb monitor <monitorName> <Type> -tos YES

show lb monitor <monitorName>

CLI を使用してワイルドカード TOS モニタをサービスにバインドするには

コマンドプロンプトで、次のように入力します。

bind lb monitor <monitorName> <serviceName>

show lb monitor <monitorName>

GUI を使用してワイルドカード TOS モニタを作成するには

  1. [トラフィック管理] > [ロードバランシング] > [モニター] に移動します。
  2. 次のパラメータ設定でモニタを追加します。
    • タイプ =<protocol>
    • TOS = はい

GUI を使用してワイルドカード TOS モニタをサービスにバインドするには

  1. [トラフィック管理] > [ロードバランシング] > [サービス] に移動します。
  2. サービスをオープンし、ワイルドカード TOS モニタをそれにバインドします。

次の設定例では、V1、V2、V3 はタイプ ANY の仮想サーバのロードバランシングを行い、TOS ID はそれぞれ 1、2、3 に設定されています。S1、S2、S3、S4、および S5 は、タイプ any のサービスです。S1とS2は、V1とV2の両方にバインドされています。S3、S4、S5とV1とV3の両方にバインドされています。WLCD-TOS-MON は TCP タイプのワイルドカード TOS モニタで、S1、S2、S3、S4、および S5 にバインドされています。

WLCD-TOS-MON は、S1、S2、S3、S4、および S5 にバインドされている仮想サーバの TOD ID および VIP アドレスを自動的に学習します。

S1 は V1 と V2 にバインドされているため、WLCD-TOS-MON は S1 用の 2 種類のプローブパケットを作成します。1 つは TOS フィールドが V1 のエンコードされた VIP アドレス(203.0.113.1)に設定され、もう 1 つは V2 の VIP アドレス(203.0.113.2)に設定されます。その後、Citrix ADCはこれらのプローブパケットをS1で表されるサーバーに送信します。同様に、WLCD-TOS-MON は、S2、S3、S4、および S5 のプローブパケットを作成します。

add lb monitor WLCD-TOS-MON  TCP -tos YES

Done

add lb vserver V1 ANY 203.0.113.1 * -m TOS –tosID 1

Done

add lb vserver V2 ANY 203.0.113.2 * -m TOS –tosID 2

Done

add lb vserver V3 ANY 203.0.113.3 * -m TOS –tosID 3

Done

add service S1 198.51.100.1 ANY *

Done

add service S2 198.51.100.2 ANY *

Done

add service S3 198.51.100.3 ANY *

Done

add service S4 198.51.100.4 ANY *

Done

add service S5 198.51.100.5 ANY *

Done

bind lb monitor WLCD-TOS-MON S1

Done

bind lb monitor WLCD-TOS-MON S2

Done

bind lb monitor WLCD-TOS-MON S3

Done

bind lb monitor WLCD-TOS-MON S4

Done

bind lb monitor WLCD-TOS-MON S5

Done

bind lb vserver V1 S1, S2, S3, S4, S5

Done

bind lb vserver V2, S1, S2

Done

bind lb vserver V3 S3, S4, S5

Done