Citrix ADC

接続のフェイルオーバー

接続フェイルオーバーは、分散環境にデプロイされたアプリケーションへのアクセスが中断されるのを防ぐのに役立ちます。Citrix ADC高可用性(HA)セットアップでは、接続フェイルオーバー(または 接続ミラーリング -CM )は、フェイルオーバーが発生したときに、確立されたTCPまたはUDP接続をアクティブに保つことを指します。新しいプライマリCitrix ADCアプライアンスは、フェイルオーバー前に確立された接続に関する情報を保持し、それらの接続を処理し続けます。フェイルオーバー後も、クライアントは同じ物理サーバに接続されたままになります。新しいプライマリアプライアンスは、新しいセカンダリアプライアンスと情報を同期します。L2Conn パラメータが設定されている場合、レイヤ 2 接続パラメータもセカンダリと同期されます。

接続フェールオーバーは、ステートレスモードまたはステートフルモードのいずれかで設定できます。ステートレス接続フェールオーバーモードでは、HA ノードはフェールオーバーされた接続に関する情報を交換しません。このメソッドには、実行時のオーバーヘッドはありません。

ステートフル接続フェイルオーバーモードでは、プライマリアプライアンスはフェールオーバー接続のデータを新しいセカンダリアプライアンスと同期します。

接続のフェイルオーバーは、デプロイメントに長期間接続がある場合に役立ちます。たとえば、FTP 経由で大きなファイルをダウンロードしていて、ダウンロード中にフェールオーバーが発生した場合、接続が切断され、ダウンロードが中止されます。ただし、ステートフルモードで接続フェールオーバーを設定すると、フェールオーバー後もダウンロードが続行されます。

Citrix ADCアプライアンスでの接続フェイルオーバーの仕組み

ステートレス接続のフェールオーバーでは、新しいプライマリアプライアンスは、受信したパケットに含まれる情報に従ってパケットフローを再作成しようとします。

ステートフルフェールオーバーでは、ミラーリングされた接続に関する最新の情報を維持するために、プライマリアプライアンスはセカンダリアプライアンスにメッセージを送信します。セカンダリアプライアンスは、パケットに関連するデータを保持しますが、フェールオーバーの場合にのみ使用します。フェイルオーバーが発生すると、新しいプライマリ(古いセカンダリ)アプライアンスは、ミラーリングされた接続に関する保存されたデータを使用してトラフィックを受け入れます。移行期間中、クライアントとサーバーは短時間の中断や再送信が発生することがあります。

注:

プライマリアプライアンスがセカンダリアプライアンスで自分自身を認証できることを確認します。パスワードが正しく設定されていることを確認するには、コマンドラインから show rpcnode コマンドを使用するか、GUI の [ネットワーク] メニューの [RPC] オプションを使用します。

接続フェイルオーバーを使用する基本的な HA 設定には、次の図に示すエンティティが含まれます。

図1:接続フェールオーバーエンティティの図

接続フェイルオーバー

次のいずれかのイベントが発生すると、接続フェールオーバーはサポートされません。

- それ以降のリリースへのアップグレード。
- 新しいビルドで異なる HA バージョンが使用されている場合、同じリリース内の新しいビルドへのアップグレード。

サポートされているセットアップ

接続フェイルオーバーを構成できるのは、ロードバランシング仮想サーバだけです。コンテンツスイッチング仮想サーバーでは構成できません。コンテンツスイッチ仮想サーバーに接続されている負荷分散仮想サーバーで接続のフェールオーバーを有効にすると、負荷分散仮想サーバーが最初にトラフィックを受け付けないため、接続のフェールオーバーは機能しません。

次の表に、接続フェイルオーバーでサポートされているセットアップを示します。

表1. 接続フェイルオーバー-サポートされているセットアップ

設定 ステートレス ステートフル
サービスタイプ ANY。 ANY UDP、TCP、FTP、SSL_BRIDGE。
ロード・バランシング方式 サービスタイプ ANY でサポートされているすべてのメソッド。ただし、ソース IP の永続性が設定されていない場合は、SRCIPSRCPORTHASH メソッドを使用する必要があります。 サポートされているサービスタイプに適用可能なすべてのメソッド。
パーシステンスタイプ SOURCEIPの永続性。 サポートされているサービスタイプに適用可能なすべてのタイプがサポートされます。
USIP ONにする必要があります。 制限なし。ONまたはOFFに設定できます。
サービスバインディング サービスは、1 つの仮想サーバーにのみバインドできます。 サービスは、1 つ以上の仮想サーバーにバインドできます。
インターネットプロトコル (IP) のバージョン IPv4 および IPv6 IPV4 とIPv6
冗長性のサポート クラスタリングと高可用性 高可用性

接続フェイルオーバーの影響を受ける機能

次の表に、接続フェールオーバーが構成されている場合に影響を受ける機能を示します。

表2。接続フェイルオーバーがCitrix ADCの機能に与える影響

機能 接続フェイルオーバーの影響
SYN プロテクション どの接続でも、アプライアンスがSYN-ACKを発行した後、最終ACKを受信する前にフェイルオーバーが発生した場合、接続は接続フェイルオーバーでサポートされません。クライアントは、接続を確立するために要求を再発行する必要があります。
サージ保護 サーバとの接続が確立される前にフェイルオーバーが発生した場合、新しいプライマリアプライアンスはサーバとの接続を確立しようとします。また、サージ保護の過程で保持されているすべてのパケットを再送信します。
アクセスダウン 有効の場合、アクセスダウン機能は接続のフェールオーバーよりも優先されます。
アプリケーションファイアウォール アプリケーションファイアウォール機能はサポートされていません。
INC 独立したネットワーク設定は、高可用性(HA)モードではサポートされません。
TCPバッファリング TCP バッファリングは、接続ミラーリングと互換性がありません。
応答時に閉じる フェールオーバー後、NATPCB は応答時に閉じられないことがあります。

GUI を使用して接続のフェールオーバーを構成するには

[トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。仮想サーバーを開き、[詳細設定] で [保護] をクリックし、[ステートフルとして 接続フェイルオーバー] を選択します。

CLI を使用して接続のフェイルオーバーを構成するには

コマンドプロンプトで、次の操作を行います。

lb vserver <vServerName>-ConnFailover を設定する <Value>
lb 仮想サーバを表示する <vServerName>

例:

set lb vserver Vserver-LB-1 -connFailover stateful Done

仮想サーバで接続フェイルオーバーを無効にすると、仮想サーバに割り当てられたリソースが解放されます。

CLI を使用して接続のフェイルオーバーを無効にするには

コマンドプロンプトで、次の操作を行います。

lb vserver <vServerName>-ConnFailover を設定する <Value>
lb 仮想サーバを表示する <vServerName>

例:

set lb vserver Vserver-LB-1 -connFailover disable Done

GUI を使用して接続のフェールオーバーを無効にするには

[トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。仮想サーバーを開き、[保護] で [接続のフェイルオーバー] を [無効] として選択します。

接続のフェイルオーバー