Citrix Netscaler VPX を使用したグローバル・ロード・バランシング
グローバル・サーバー・ロード・バランシング(GSLB)は、トラフィックを複数のサーバーに分散させる仕組みで、通常は地理的に異なる場所に存在する。 グローバル・バランシング・サーバーは、管理者が選択した基準を使用して、クライアントからのトラフィック要求を受信し、それらを特定の地域にリダイレクトします。
そのためには、次のような方法がある:
- NetScaler VPX 通常のローカル・ロードバランシングと同様に、、同様のオブジェクト階層を使用して、複数の地域間でトラフィックのロードバランシングを行う。 VPX DNSベースのグローバル検索を使用して、 NetScaler、選択されたサイトに対応するそれぞれのレコードを選択します。選択は、管理者によって事前に設定された基準に基づいて行われます。 次のセクションでは、この提案をさらに拡大する。
コンテンツの分散には HTTP リダイレクトなど他の手法も利用可能であり、これも Citrix Netscaler VPX を使用して実装できます。
VPX での GSLB について
NetScaler VPX は、CLI/GUI で GSLB 機能をアクティブにするだけで、GSLB 機能に対応できます。
GSLB は、ローカル・ロード・バランシング・デプロイメントで使用されるコンポーネントと同じコンポーネントを使用します。この場合、エンティティーは階層モデルを使用して定義されます。
GSLB は、いくつかの目的で実装される場合があります。
- 負荷分散: 複数の拠点間でリソースを効率的かつスマートに分配すること。
- 災害時リカバリー: メイン・ロケーション (1 次ロケーション) がダウンした場合や、サービスをレンダリングできない場合に使用されます。 このシナリオでは、代替地が引き継ぐことができる。
- パフォーマンス・シェーピング: コンテンツをエンドシステムの近くに配置したり、当該サービスを強化するような形で配置することができる。
GSLB配備の主なコンポーネントまたはエンティティは以下の通り:
-
仮想サーバー: VIP は、クライアントが要求を送信する先の IP アドレスです。 NetScaler はVIPでのクライアント接続を終了し、(ローカル)ロードバランシングサービスに設定されているサーバーとの接続を開始する。
-
DNS (ドメイン・ネーム・システム) およびネーム・サーバー: GSLB での名前解決は、通常の DNS とほぼ同様に機能します。 違いは、解決されたアドレスを決定するために使用される基準であり、GSLBはこの解決を処理するために事前に設定されたロードバランシング方法を使用します。 NetScaler は、さまざまな方法で DNS と対話するように構成できます。
- 権限 DNS (ADNS)。 NetScalers ADNSモードを使用することで、特定のドメインとそのドメイン上のすべてのレコードの権威となる。
- DNS サブ委任。 DNSサーバー(ドメインの権威)がサブドメインの責任を NetScaler。
- DNS プロキシー。 このモードで構成されている場合、NetScaler は名前解決を処理する別のサーバー (外部) に DNS 要求を転送します。
-
メソッド: メソッドは、GSLB 仮想サーバーがトポロジーから最適な GSLB サービスを選択するために使用するアルゴリズムです。 アルゴリズムは、実際の選択基準に対応するパフォーマンスの側面を評価します。 以下のメソッドを使用できます。
- ラウンドロビン: 負荷に関係なく、GSLB サービス間で受信リクエストを交互に処理します。
- 往復時間 (RTT): クライアントのローカル DNS サーバーと (GSLB) サイトとの間の時間または遅延の指標。 NetScaler は、ICMPエコー・リクエスト(PING)、UDP、TCPなどのさまざまなメカニズムを使用して、RTTメトリクスを収集する。
- 静的近接:IPアドレス・データベースを使用して、クライアントのローカルDNSサーバーとサイト間の近接性を確立し、それを選択基準として使用する。
- 最小接続数:選択基準として、各サービスのアクティブな接続数が最も少ないことを測定する。
- 最小応答時間: アクティブ接続が最も少なくて平均応答時間が最も短いサイトを選択します。
- Least Bandwidth(最低帯域幅):現在最も少ないトラフィック量(Mbps)を管理しているサイトを選択します。
- 最小パケット数:過去14秒間に受信したパケット数が最も少ないサービスを選択します。
- ソース IP アドレス・ハッシュ: クライアントの IPv4 アドレスまたは IPv6 アドレスのハッシュ値に基づいてサービスを選択します。
- カスタム・ロード: アクティブなトランザクションをまったく処理していないサービスを選択します。 ロードバランシング設定内のすべてのサービスがアクティブなトランザクションを処理している場合、アプライアンスは負荷(CPU使用率、メモリー、応答時間)が最も小さいサービスを選択します。
-
MEP(Metric Exchange Protocol): サイト間でメトリクス(負荷とネットワーク)とパーシステンス情報を交換するために使用される独自のプロトコル。 MEP は、GSLB トポロジー内のさまざまなサイトと NetScalers の間のヘルス・チェックを提供します。 MEP は、管理者によって設定された基準を使用して、以前に構成された選択パラメーターに基づいてサイトが通信してトラフィックを処理する方法を提供します。 MEP は TCP ポート 3009 と 3011 を使用します。 MEPが無効の場合、選択できる方式は、アスタリスク(
*
)の付いたオプションに限定される。それ以外の方法が選択された場合は、ラウンドロビンに戻る。 -
モニタリング: NetScaler エンジンは、MEP、または問題のサービスにバインドされた明示的なモニターを使用して、リモート GSLB サービスの状態を定期的に評価します。 モニターは、通常のロード・バランシング・サービスと同様に使用されます。 GSLB の場合、MEP によって制御されるため、ローカル・サービスにモニターを追加する必要はありません。
-
永続性: 特定のドメインのサイト・プリファレンスを確立する機能。 この特定のユース・ケースでは、トラフィックはロード・バランシングされず、同じデータ・センターによって処理されます。 このプロセスは、eコマースのように、トランザクションデータが各サーバーに固有であるような特定のアプリケーションで有用である。
-
GSLB サイト: サイトは、NetScaler システムが構成されている/存在するデータ・センター (ロケーション) として定義できます。 NetScaler システムは、そのサイトに対して「ローカル」と見なされる各 GSLB サイトを管理しますが、他のすべてのリモート・サイトは「リモート」サイトとして認識され、処理されます。
-
GSLB サービス: これは(通常の)仮想サーバーまたは VIP を表す(バインドされる)オブジェクトです。 ローカル (同一サイト) またはリモートのいずれかです。
-
GSLB バーチャルサーバー: GSLB 仮想サーバーは、異なる(GSLB)サイトの一部である 1 つ以上の GSLB サービスに割り当てられます。 そこで受信されたトラフィックは、そこにバインドされているサイト間で負荷分散される。 サイトの選択は、メソッドとユース・ケースに基づいて行われます。
-
GSLB ドメイン: GSLB 仮想サーバーが担当するドメインまたはゾーンを表します。
-
ADNSサービス: IPアドレスとポートの組み合わせで表されるサービスで、 NetScaler が権威を持つドメインへのDNSリクエストが送信される。 NetScaler はそのドメインにバインドされた GSLB バーチャルサーバーにそれらのサービスを送り、応答を得る。