ADC

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

警告:

負荷分散機能のパーシスタンスルールにクラシック式を使用することは廃止されました。ただし、Citrix ADCアプライアンスリリース13.1以降のフィルタールールではクラシック式は削除され、使用できなくなりました。

ルールベースのパーシステンスを構成すると、NetScaler 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 (「サーバー」)

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