アクティブ-アクティブ展開では、ダウンタイムを防止するだけでなく、展開内のすべてのCitrix ADCアプライアンスを効率的に使用できます。アクティブ-アクティブ展開モードでは、構成内のすべてのCitrix ADCアプライアンスに同じVIPが設定されますが、優先順位は異なります。これにより、特定のVIPは一度に1つのアプライアンスでのみアクティブになります。
アクティブVIPはマスターVIPと呼ばれ、他のCitrix ADCアプライアンス上の対応するVIPはバックアップVIPと呼ばれます。マスター VIP に障害が発生すると、プライオリティが最も高いバックアップ VIP が引き継がれ、マスター VIP になります。アクティブ/アクティブ展開のすべてのCitrix ADCアプライアンスは、仮想ルーター冗長プロトコル(VRRP)プロトコルを使用して、VIPとそれに対応する優先順位を定期的にアドバタイズします。
アクティブ-アクティブモードのCitrix ADCアプライアンスは、Citrix ADCがアイドル状態でないように構成できます。この構成では、Citrix ADCごとに異なるVIPセットがアクティブになります。たとえば、次の図では、VIP1、VIP2、VIP3、および VIP4 がアプライアンス NS1、NS2、および NS3 上で構成されています。これらの優先順位により、VIP1 と VIP 2 は NS1 上でアクティブになり、VIP3 は NS2 上でアクティブになり、VIP 4 は NS3 上でアクティブになります。たとえば、NS1に障害が発生すると、NS3上のVIP1とNS2上のVIP2がアクティブになります。
図1:アクティブ-アクティブ設定
上の図のCitrix ADCアプライアンスは、次のようにトラフィックを処理します。
-
クライアント C1 は VIP1 に要求を送信します。要求は R1 に到達します。
-
R1 には VIP1 用の ARP エントリがないため、VIP1 に対する ARP 要求をブロードキャストします。
-
VIP1 は NS1 でアクティブであるため、NS1 は VIP1 に関連付けられた仮想 MAC(仮想 MAC1 など)として送信元 MAC アドレス、および VIP1 を送信元 IP アドレスとして応答します。
-
SW1 は、ARP 応答から VIP1 のポートを学習し、ブリッジテーブルを更新します。
-
R1 は ARP エントリを仮想 MAC1 および VIP1 で更新します。
-
R1 は NS1 上の VIP1 にパケットを転送します。
-
NS1の負荷分散アルゴリズムはサーバーS2を選択し、NS1はそのSNIPアドレスの1つとS2の間の接続を開きます。
-
S2は、Citrix ADCのSNIPに応答します。
-
NS1は、S2の応答をクライアントに送信します。応答では、NS1 は物理インターフェイスの MAC アドレスを送信元 MAC アドレスとして、VIP1 を送信元 IP アドレスとして挿入します。
-
NS1に障害が発生した場合、Citrix ADCアプライアンスはVRRPプロトコルを使用して、優先順位が最も高いVIP1を選択します。この場合、NS3 上の VIP1 がアクティブになり、次の 2 つの手順でアクティブ-アクティブ設定を更新します。
-
NS3 は VIP1 の GARP メッセージをブロードキャストします。このメッセージでは、仮想 MAC1 は送信元 MAC アドレス、VIP1 は送信元 IP アドレスです。
-
SW1 は、仮想 MAC1 の新しいポートを GARP ブロードキャストから学習し、ブリッジテーブルを更新して VIP1 に対する後続のクライアント要求を NS3 に送信します。R1 は ARP テーブルを更新します。
VIP のプライオリティは、ヘルストラッキングによって変更できます。ヘルストラッキングを有効にする場合は、優先度が低い VIP が別の VIP によってプリエンプトされるように、プリエンプションも有効になっていることを確認する必要があります。
場合によっては、トラフィックがバックアップ VIP に到達することがあります。このようなトラフィックのドロップを回避するには、アクティブ/アクティブ設定を作成するときに、ノード単位で共有を有効にできます。または、マスターへのグローバル送信オプションを有効にすることもできます。共有が有効になっているノードでは、共有がマスターに送るよりも優先されます。