Citrix ADC

ユーザー定義のルールに基づいてパーシステンスを構成する

警告:

負荷分散機能の永続性ルールに対する従来の式の使用は削除され、Citrix ADCアプライアンスリリース13.1以降のフィルタルールでは使用できなくなります。Citrix ADCコマンドラインインターフェイス、Citrix ADC GUI、またはNitroオートメーションでこれらのポリシー式を使用しないことをお勧めします。詳細については、「 クラシックポリシーの非推奨 FAQ 」ページの表 1 および表 2 を参照してください。

ルールベースのパーシステンスを構成すると、Citrix ADCアプライアンスは、一致するルールの内容に基づいてパーシステンスセッションを作成してから、設定された負荷分散方式で選択されたサービスにリクエストを送信します。後で、ルールに一致するすべてのリクエストを同じサービスに送信します。HTTP、SSL、RADIUS、ANY、TCP、および SSL_TCP タイプのサービスに対して、規則ベースの永続性を設定できます。

ルールベースの永続性には、クラシックまたは高度なポリシー式が必要です。従来の式を使用してリクエストヘッダーを評価することも、高度なポリシー式を使用してリクエストヘッダー、リクエスト内の Web フォームデータ、レスポンスヘッダー、またはレスポンス本文を評価することもできます。たとえば、従来の式を使用して、HTTP Host ヘッダーの内容に基づいて永続性を設定できます。また、高度なポリシー式を使用して、応答 Cookie またはカスタムヘッダーのアプリケーションセッション情報に基づいて永続性を設定することもできます。クラシックポリシー式と高度なポリシー式の作成と使用の詳細については、「 ポリシーと式」を参照してください。

設定できる式は、ルールベースの永続性を構成するサービスのタイプによって異なります。たとえば、RADIUS 以外のプロトコルでは RADIUS 固有の式を使用できず、ANY タイプ以外のサービスタイプでは TCP オプションベースの式を使用できません。TCP および SSL_TCP サービスタイプでは、TCP/IP プロトコルデータ、レイヤ 2 データ、TCP オプション、および TCP ペイロードを評価する式を使用できます。

注意:TCP経由で送信される財務情報交換(「FIX」) プロトコルデータに基づくルールベースの永続性を構成するユースケースについては、TCPバイトストリーム内の名前と値のペアに基づくルールベースの永続性の構成を参照してください

ルールベースの永続性は、Citrix SD-WANアプライアンス、Citrix SD-WCitrix SD-WAN プラグイン、キャッシュサーバー、アプリケーションサーバーなどのエンティティで永続性を維持するために使用できます。

注意: ANY 仮想サーバーでは、応答に対してルールベースの永続性を設定できません。

ユーザー定義のルールに基づいてパーシステンスを設定するには、「 ルールを必要としない永続性のタイプの設定」の説明に従ってパーシステンスを設定し、永続性タイプを RULE に設定します。その後、次の手順を実行できます。設定ユーティリティまたは CLI を使用して、ルールベースの永続性を設定できます。

CLI を使用してユーザ定義ルールに基づいてパーシステンスを設定するには

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

set lb vserver <vserverName> [-rule <expression>][-resRule <expression>]
<!--NeedCopy-->

例:

set lb vserver vsvr_name –rule http.req.header("cookie").value(0).typecast_nvlist_t('=',';').value("server")

set lb vserver vsvr_name –resrule http.res.header("set-cookie").value(0).typecast_nvlist_t('=',';').value("server")

<!--NeedCopy-->

GUI を使用してユーザー定義ルールに基づいてパーシステンスを設定するには

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動し、仮想サーバーを開きます。
  2. [永続性] セクションで、要件を満たす永続性タイプを選択します。仮想サーバーに最適なパーシステンスタイプは、オプションボタンとして使用できます。特定の仮想サーバータイプに適用可能なその他の永続性タイプは、[ その他] リストから選択できます。

パーシステンス・ルールを構成する

NetScaler リリース12.0ビルド56.20より前のバージョンでは、オプションボタンがない単一の永続性ドロップダウンリストですべてのパーシステンスタイプを使用できます。

例:リクエストペイロードのクラシック式

次の古典的な式は、文字列「MyBrowser」を含む User-Agent HTTP ヘッダーの存在に基づいて永続セッションを作成し、このヘッダーと文字列を含む後続のクライアント要求を、最初の要求で選択された同じサーバーに送信します。

http header User-Agent contains MyBrowser
<!--NeedCopy-->

例:リクエストヘッダーの高度なポリシー式

以下の高度なポリシー式は、前のクラシック式と同じ処理を行います。

HTTP.REQ.HEADER(“User-Agent”).CONTAINS (“MyBrowser”)

次の式は、「サーバー」Cookie のレスポンスを調べ、その Cookie を含むすべてのリクエストを、最初のリクエストで選択されたサーバーと同じサーバーに送信します。

HTTP.RES.HEADER(“SET-COOKIE”).VALUE(0).TYPECAST_NVLIST_T(‘=’,’;’).VALUE(“server”)

ユーザー定義のルールに基づいてパーシステンスを構成する