Citrix ADC

永続的な接続の構成

永続性により、特定のドメイン名に対する一連のクライアント要求が、負荷分散されるのではなく、同じデータセンターに送信されます。特定のドメインに対してパーシステンスが設定されている場合は、設定された GSLB メソッドよりも優先されます。持続性は、ショッピングカードの使用状況など、e コマースを処理するデプロイメントに便利です。このデプロイメントでは、トランザクションを追跡するためにサーバーは接続の状態を維持する必要があります。接続の状態を維持するには、仮想サーバーでパーシステンスを構成する必要があります。パーシステンスが設定されている場合、Citrix ADCアプライアンスはクライアント要求を処理するデータセンターを選択し、後続のすべてのDNS要求に対して選択したデータセンターのIPアドレスを転送します。構成された永続性がダウンしているサイトに適用される場合、Citrix ADCアプライアンスはGSLB方式を使用して新しいサイトを選択し、クライアントからの後続の要求に対して新しいサイトが永続的になります。

GSLB仮想サーバーは、DNSベースのサイト永続性を担当し、リモートGSLBサービスのサイト永続性を制御します。Citrix ADCアプライアンスは、ソースIPアドレスまたはHTTPクッキーに基づくパーシステンスをサポートします。

遅延時間を持つ物理サービスをDOWNにすると、物理サービスはサービス停止 (TROFS) 状態に移行します。サイト永続性は、サービスが TROFS 状態である限りサポートされます。つまり、サービスが TROFS とマークされた後、同じクライアントが同じサービスの要求を指定された遅延時間内に送信すると、同じ GSLB サイト (データセンター) が要求を処理します。

注:接続プロキシがサイト永続性メソッドとして指定されている場合、および物理サーバーの永続性も構成する場合は、SOURCEIP 永続性を設定しないでください。接続がプロキシされると、クライアントの実際の IP アドレスではなく、アプライアンスが所有する IP アドレスが使用されます。負荷分散仮想サーバーで Cookie の永続性やルールベースの永続性などのメソッドを設定します。

送信元 IP アドレスに基づく永続性の設定

source-IPパーシステンスでは、データセンターでDNSリクエストを受信すると、Citrix ADCアプライアンスはまず永続性テーブル内のエントリを探し、ローカルDNSサーバーのエントリが存在し、そのエントリに記載されているサーバーが構成されている場合は、そのサーバーのIPアドレスがDNSレスポンスとして送信されます。

特定のクライアントからの最初の要求では、Citrix ADCアプライアンスは要求に最適なGSLBサイトを選択し、そのIPアドレスをクライアントに送信します。永続性はクライアントの送信元 IP アドレスに対して構成されているため、そのクライアントまたは同じ IP サブネット内の別のローカル DNS サーバーによる後続のすべての要求には、最初の要求に対して選択された GSLB サイトの IP アドレスが送信されます。

ソース IP アドレスベースの永続性については、すべてのデータセンターの GSLB 仮想サーバー上で同じ一連の永続性識別子を設定する必要があります。永続性識別子は、特定のGSLB仮想サーバーを識別するためにデータセンターで使用される番号です。Cookieは永続性識別子を送信し、Citrix ADCアプライアンスはドメインを識別し、適切なすべての要求を同じドメインに転送できるようにします。永続性を有効にすると、メトリック交換の一環として、永続性情報も交換されます。

Citrix ADCアプライアンスがサイト間のパーシステンスをサポートするには、すべての参加サイトのGSLB仮想サーバーでパーシステンスを有効にする必要があります。ネットワーク ID で送信元 IP アドレスの永続性を使用する場合は、サブネットマスクを設定する必要があります。どのドメインでも、永続性は他の設定済みの GSLB メソッドよりも優先されます。

コマンドラインインターフェイスを使用して送信元 IP アドレスに基づいて永続性を構成するには

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

set gslb vserver <name> -persistenceType (SOURCEIP|NONE) -persistenceId <positive_integer> [-persistMask <netmask>] –[timeout <mins>]

例:

set gslb vserver vserver-GSLB-1 -persistenceType SOURCEIP -persistenceId 23 -persistMask 255.255.255.255 –timeout 2

構成ユーティリティを使用して送信元 IP アドレスに基づいて永続性を構成するには

  1. トラフィック 管理 」>「 GSLB 」>「 仮想 サーバー 」に移動し、メソッドを変更する GSLB 仮想サーバー(vserver-GSLB-1 など)をダブルクリックします。
  2. 持続性 」セクションをクリックし、「 持続性 」ドロップダウンリストから「 SOURCEIP 」を選択し、次のパラメータを設定します。
    • 持続性ID:持続性ID
    • タイムアウト:タイムアウト
    • IPv4 ネットマスクまたは IPv6 マスクの長さ:永続マスク

HTTP クッキーに基づくパーシステンスの設定

Citrix ADCアプライアンスは、接続プロキシとHTTPリダイレクトを使用して、HTTP要求レベルで永続性を提供します。これらの永続化方式では、アプライアンスはHTTP Cookie(「サイトクッキー」と呼ばれます)を使用して、クライアントを同じサーバーに再接続します。アプライアンスは、最初のHTTP応答にサイトCookieを挿入します。

サイトクッキーには、クライアントが永続的な接続を持つ選択された GSLB サービスに関する情報が含まれています。クッキーの有効期限は、Citrix ADCアプライアンスで設定されたクッキーのタイムアウトに基づいています。仮想サーバー名がすべてのサイトで同一でない場合は、永続識別子を使用する必要があります。挿入されたクッキーは、RFC 2109に準拠しています。

Citrix ADCアプライアンスが選択したGSLBサイトのIPアドレスを送信してクライアントのDNS要求に応答すると、クライアントはそのGSLBサイトにHTTP要求を送信します。そのGSLBサイトの物理サーバーは、HTTPヘッダーにサイトCookieを追加し、接続の永続性が有効です。

クライアントキャッシュ内の DNS エントリの有効期限が切れ、クライアントが別の DNS クエリを送信し、別の GSLB サイトに送信された場合、新しい GSLB サイトはクライアント要求ヘッダーに存在するサイト Cookie を使用して永続性を実装します。新しいサイトの GSLB 構成が接続プロキシの永続性を使用する場合、新しいサイトは、サイト Cookie を挿入した GSLB サイトへの接続を作成し、クライアント要求を元のサイトにプロキシし、元の GSLB サイトからの応答を受信し、その応答をクライアントにリレーし、接続で接続できます。GSLB 設定が HTTP リダイレクト永続性を使用する場合、新しいサイトは Cookie を最初に挿入したサイトに要求をリダイレクトします。

注:接続プロキシの永続性は、ローカルサービスに対してのみ構成できます。ただし、接続プロキシの永続性は、GSLB 仮想サーバー用に構成されているローカルおよびリモートの GSLB サービスの両方で有効にする必要があります。

接続プロキシは、次の条件が満たされた場合に発生します。

  • リクエストは、GSLB に参加しているドメインから送信されます。ドメインは URL/Host ヘッダーから取得されます。
  • リクエストは、パブリックIPアドレスがGSLB仮想サーバーにバインドされたアクティブなサービスのパブリックIPアドレスと一致するローカルGSLBサービスから送信されます。
  • ローカル GSLB サービスで接続プロキシが有効になっています。
  • 要求には、アクティブなリモート GSLB サービスの IP アドレスを含む有効な Cookie が含まれています。

条件の 1 つが満たされない場合、接続プロキシは発生しませんが、ローカル GSLB サービスで接続プロキシが有効になっていれば、サイト Cookie が追加されます。

  • サイトクッキーは提供されません。
  • サイトクッキーは、アクティブな GSLB リモートサービスではない IP アドレスを参照します。または、
  • クッキーは、要求が受信された仮想サーバーの IP アドレスを指します。

接続プロキシサイトの Cookie を使用する際の制限事項を次に示します。

  • サイト Cookie は、非 HTTP (S) プロトコルでは機能しません。
  • HTTP 要求がバックアップ仮想サーバに送信された場合、仮想サーバは cookie を追加しません。
  • SSL クライアント認証が必要な場合、サイト Cookie は機能しません。
  • ローカルサイトでは、リモートサイト上の GSLB サービスの統計情報は、リモートサイトでそのサービスについて記録された統計情報とは異なります。ローカルサイトでは、リモートGSLBサービスの統計情報は、リモートサイトが同じサービス用に記録する統計情報よりもわずかに高くなります。

リダイレクトの永続化は、次のみ使用できます。

  • HTTP プロトコルまたは HTTPS プロトコルの場合。
  • ドメイン名がリクエストに(URLまたはHOSTヘッダーに)存在し、ドメインがGSLBドメインである場合。
  • バックアップVIPまたはダウン状態のGSLBローカルサービスで要求を受信した場合。

GSLB の親子構成では、GSLB サービスが子サイトで構成されていない場合でも、接続プロキシは意図したとおりに動作します。ただし、クライアント認証、クライアント IP アドレスの挿入、その他の SSL 固有の要件などの追加構成がある場合は、明示的な GSLB サービスをサイトに追加し、それに応じて構成する必要があります。

親子トポロジの詳細については、MEP プロトコルを使用した親子トポロジの配置を参照してください。

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

set gslb service <serviceName> -sitePersistence (ConnectionProxy [-sitePrefix <prefix>] | HTTPredirect -sitePrefix <prefix>)

例:

set gslb service service-GSLB-1 -sitePersistence ConnectionProxy
set gslb service service-GSLB-1 -sitePersistence HTTPRedirect -sitePrefix vserver-GSLB-1
  1. トラフィック 管理 」>「 GSLB 」>「 サービス 」に移動し、サイト永続性を設定するサービス(service-GSLB-1 など)を選択します。
  2. [サイトの永続性] セクションをクリックし、Cookie に基づいて永続性を設定します。

永続的な接続の構成