ADC

ユースケース 5:TOSの使用時にDSRモードを構成する

TOS(タイプオブサービス)とも呼ばれるディファレンシエーテッドサービス(DS)は、IPv4パケットヘッダーの一部であるフィールドです。IPv6 ヘッダーの対応するフィールドは「トラフィッククラス」です。上位層プロトコルでは TOS を使用してパケットのパスを最適化します。TOS情報はNetScalerアプライアンスの仮想IPアドレス(VIP)をエンコードし、負荷分散サーバーはそこからVIPを抽出します。

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

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

TOS付きDSRモード

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

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

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

エンティティの種類 名前 IPアドレス Protocol
仮想サーバー Vserver-LB-1 10.102.33.91 ANY
Services Service-ANY-1 10.102.100.44 ANY
モニター PING なし なし

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

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

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

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

コマンドプロンプトで入力します。

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

例:

set lb vserver Vserver-LB-1 -m TOS -tosId 3
<!--NeedCopy-->

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

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. 仮想サーバーを開き、リダイレクトモードで TOS ID を選択します。

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

コマンドプロンプトで入力します。

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

例:

add monitor mon1 PING -destip 10.102.33.91 -tos Yes  -tosId 3
<!--NeedCopy-->

構成ユーティリティを使用して 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 = Yes

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

  • 接続先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>
<!--NeedCopy-->

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

コマンドプロンプトで入力します。

bind lb monitor <monitorName> <serviceName>

show lb monitor <monitorName>
<!--NeedCopy-->

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

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ モニター] に移動します。
  2. 次のパラメーター設定でモニターを追加します。
    • タイプ = <protocol>
    • TOS = YES

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
<!--NeedCopy-->