Citrix ADC

ドメイン名ベースのサービスの負荷分散

負荷分散用のサービスを作成するときに、IP アドレスを指定できます。または、ドメイン名を使用してサーバーを作成することもできます。サーバー名(ドメイン名)を解決するには、IPv4またはIPv6ネームサーバーを使用するか、権限のあるDNSレコード(IPv4の場合はレコード、IPv6の場合はAAAAレコード)をCitrix ADC構成に追加します。

IP アドレスではなくドメイン名を使用してサービスを構成し、ネームサーバーがドメイン名を新しい IP アドレスに解決する場合、サービスにバインドされたモニターは新しい IP アドレスに対してヘルスチェックを実行し、IP アドレスが正常であることが検出された場合にのみサービス IP アドレスを更新します。モニタは、サービスにバインドされているデフォルトのモニタか、サポートされている他のモニタをバインドできます。監視パラメータで定義された一定の間隔でサービスをプローブします。ドメイン名が新しい IP アドレスに解決されると、モニタは新しいプローブを送信してサービスの状態をチェックします。後続のすべてのプローブは、事前に定義された間隔で行われます。

: サーバーの IP アドレスを変更すると、対応するサービスが最初のクライアント要求に対してマークダウンされます。ネームサーバは、次の要求のためにサービス IP アドレスを変更された IP アドレスに解決し、サービスが UP とマークされます。

ドメイン名ベースのサービスには、次の制限があります。

  • ドメイン名の最大長は 255 文字です。
  • Maximum Client パラメーターは、ドメイン名ベースのサーバーを表すサービスを構成するために使用されます。たとえば、仮想サーバにバインドされたサービスに 1000 の maxClient が設定されているとします。仮想サーバの接続数が 2000 に達すると、DNS リゾルバはサービスの IP アドレスを変更します。ただし、サービスの接続カウンターがリセットされないため、古い接続がすべて閉じられるまで、仮想サーバーは新しい接続を取ることができません。
  • サービスの IP アドレスが変更されると、永続性を維持することは困難です。
  • タイムアウトによりドメイン名の解決が失敗した場合、アプライアンスは古い情報(IPアドレス)を使用します。
  • モニタリングによってサービスがダウンしていることが検出されると、アプライアンスはサービス(ドメイン名ベースのサーバを表す)でDNS解決を実行し、新しいIPアドレスを取得します。
  • 統計はサービスで収集され、IP アドレスが変更されてもリセットされません。
  • DNS 解決で「name error」(3) のコードが返された場合、アプライアンスはサービスをマークダウンし、IP アドレスをゼロに変更します。

アプライアンスは、サービスの要求を受信すると、ターゲットサービスを選択します。これにより、アプライアンスはサービスの負荷を分散します。次の図は、ドメインネームベースサーバー (DBS) のグループをロードバランシングするロードバランシング構成のトポロジを示しています。

図1:DBS サーバの基本的なロードバランシングトポロジ

LB-topology-dbs-servers

Service-HTTP-1、Service-HTTP-2、およびService-HTTP-3 は、仮想サーバ Vserver-LB-1 にバインドされます。仮想サーバーVserver-LB-1はLeast Connections負荷分散方式でサービスを選択します。サービスの IP アドレスは、ネームサーバー Vserver-LB-2 を使用して解決されます。

次の表に、アプライアンスで設定されている基本エンティティの名前と値を示します。

エンティティタイプ 名前 IPアドレス ポート プロトコル
仮想サーバー Vserver-LB-1 10.102.29.17 80 HTTP
  Vserver-LB-2 10.102.29.20 53 DNS
サーバー server-1 10.102.29.18 80 HTTP
  server-2 www.citrix.co.jp 80 HTTP
サービス Service-HTTP-1 server-1 80 HTTP
  Service-HTTP-2 server-2 80 HTTP
  Service-HTTP-2 10.102.29.19 80 HTTP
モニター デフォルト なし なし なし
ネーム・サーバ なし 10.102.29.19 なし なし

次の図は、負荷分散エンティティと、アプライアンス上で設定する必要があるパラメータの値を示しています。

図2:負荷分散DBSサーバーエンティティモデル

lb-dbs-entity-mode

基本的なロードバランシング設定を設定するには、基本的な負荷分散のセットアップを参照してください。HTTP タイプのサービスと仮想サーバーを作成し、エンティティに名前を付け、前の表で説明した値を使用してパラメータを設定します。

外部ネームサーバーを追加、削除、有効化、および無効化することができます。IPアドレスを指定してネームサーバーを作成するか、既存の仮想サーバーをネームサーバーとして設定できます。

コマンドラインインターフェイスを使用してネームサーバーを追加するには

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

add dns nameServer <dnsVserverName>

例:

add dns nameServer Vserver-LB-2

構成ユーティリティを使用してネームサーバーを追加するには

  1. [トラフィック 管理] > [DNS] > [ネーム サーバー] に移動します。
  2. DNS 仮想サーバータイプの DNS ネームサーバーを作成し、[DNS 仮想サーバー] リストからサーバーを選択します。

ドメイン名を IP アドレスに解決する権限のあるネームサーバーを追加することもできます。

リゾルバ DBS プローブには、TCP、UDP、または UDP_TCP タイプのネームサーバを追加できます。ただし、TCP と UDP ネームサーバが共存し、UDP ネームサーバが切り捨てられたビットを含む応答を受信した場合、この応答は TCP ネームサーバ上で再試行されません。

ドメイン名ベースのサービスの負荷分散