Load Balancer コンポーネントの概説

この章では、Load Balancer コンポーネントの概説について説明します。この章には、以下のセクションが含まれています。

ユーザー・ネットワーク管理に使用する機能を計画する上で役立つ、Load Balancer のコンポーネントのそれぞれから提供される構成機能の 全体的なリストについては、ユーザー・ネットワークの管理: 使用する Load Balancer 機能の判別を参照してください。

Load Balancer のコンポーネント

Load Balancer の 5 つのコンポーネントとは、Dispatcher、Content Based Routing (CBR)、Site Selector、Cisco CSS Controller、および Nortel Alteon Controller です。Load Balancer は、ユーザーのサイト構成に応じて、コンポーネントをそれぞれ別個に使用したり一緒に使用したりできる融通性を備えています。このセクションでは、次のコンポーネントの概説を説明します。

Dispatcher コンポーネントの概説

Dispatcher コンポーネントは、ロード・バランシングと管理ソフトウェアを固有に組み合わせることにより、各サーバー全体のトラフィックのバランスを取ります。 また、Dispatcher は障害が発生したサーバーを検出し、それを迂回してトラフィックを転送することもできます。 Dispatcher は、 HTTP、FTP、SSL、SMTP、NNTP、IMAP、POP3、Telnet、SIP、およびその他の TCP またはステートレス UDP 基本のアプリケーションをサポートします。

Dispatcher マシンに送信されたすべてのクライアント要求は、動的に設定される重みに従って最適なサーバーに送信されます。 これらの重みに対してデフォルト値を使用することもできますし、構成プロセス時にこれらの値を変更することもできます。

Dispatcher は、次の 3 つの転送方式 (ポート上に指定されている) を提供します。

Dispatcher コンポーネントは、大規模で拡張が容易なサーバー・ネットワークを安定的、効率的に管理する上でのキーです。 Dispatcher により、多数の個別サーバーをリンクして単一に見える仮想サーバーにできます。 サイトは単一の IP アドレスとして表示されます。Dispatcher 機能は、ドメイン・ネーム・サーバーとは独立して機能します。すなわち、すべての要求は Dispatcher マシンの IP アドレスに送信されます。

Dispatcher は、トラフィック負荷の平衡化における明確な利点をクラスター・サーバーにもたらすため、サイトの管理を安定的かつ効率的に行うことができるになります。

Dispatcher によるローカル・サーバーの管理

図 1. Dispatcher を使用してローカル・サーバーを管理するサイトを物理的に示した例
Dispatcher を使用してローカル・サーバーを管理するサイトの物理表現

図 1 は、イーサネット・ネットワーク構成を使用するサイトの物理表現を示しています。Dispatcher マシンは、ネットワークに物理的な変更を加えることなくインストールできます。 MAC 転送方式を使用するときには、クライアント要求が Dispatcher によって最適なサーバーに送信されて、次にその応答は Dispatcher の介入なしにサーバーからクライアントへ直接に送信されます。

Dispatcher および Metric Server によるサーバーの管理

図 2. Dispatcher および Metric Server を使用してサーバーを管理するサイトの例
Dispatcher および Metric Server で管理するサーバーのサイト

図 2 は、すべてのサーバーが 1 つのローカル・ネットワーク上にあるサイトを示しています。Dispatcher コンポーネントは要求の転送に使用され、Metric Server は Dispatcher マシンへのシステム負荷情報の提供に使用されます。

この例では、Metric Server デーモンが各バックエンド・サーバーにインストールされています。Metric Server は、Dispatcher コンポーネントまたはその他の Load Balancer コンポーネントと組み合わせて使用できます。

Dispatcher によるローカル・サーバーとリモート・サーバーの管理

図 3. Dispatcher を使用してローカル・サーバーとリモート・サーバーを管理するサイトの例
Dispatcher で管理するローカルおよびリモート・サーバーのサイト

Dispatcher の広域サポートによって、ローカル・サーバーとリモート・サーバー (異なるサブネット上のサーバー) の両方を使用できます。 図 3 は、あるローカルの Dispatcher (Dispatcher 1) がすべての要求に対するエントリー・ポイントとして機能する構成を示しています。 その管理対象のローカル・サーバー (ServerA、 ServerB、ServerC) およびリモートの Dispatcher (Dispatcher 2) に要求が分散されます。 リモート側では、そのローカル・サーバー (ServerG、ServerH、ServerI) にロード・バランシングが実行されます。

Dispatcher の NAT 転送方式を使用するとき、または GRE サポートを使用するときには、リモート・サイト (ここでは ServerD、ServerE、および ServerF があります) で Dispatcher を使用せずに Dispatcher の広域ポートを実行できます。詳細については、Dispatcher の NAT/NAPT (nat 転送方式)および GRE (総称経路指定カプセル化) サポートを参照してください。

Content Based Routing (CBR) コンポーネントの概説

CBR は Caching Proxy とともに機能し、指定の HTTP または HTTPS (SSL) サーバーに対するクライアント要求を代行します。これによって、キャッシュ処理の詳細を操作し、ネットワーク帯域幅の要件が低くても、より高速に Web 文書を検索することができます。 CBR および Caching Proxy は、 指定のルール・タイプを使用して HTTP 要求を調べます。

注:
Content Based Routing (CBR) コンポーネントは、64 ビットの JVM を実行しているプラットフォームでは使用できません。ただし、HP-UX ia64 の場合は例外です。HP-UX ia64 では、CBR コンポーネントは 32 ビットのアプリケーションとして実行されます。 Load Balancer の Dispatcher コンポーネントの CBR 転送方式を使用すれば、Caching Proxy を使用しなくてもコンテンツ・ベースのルーティングを提供することができます。詳しくは、Dispatcher のコンテンツ・ベースのルーティング (CBR 転送方式) を参照してください。

CBR を使用すれば、要求内容の正規表現一致に基づいて要求を処理する一組のサーバーを指定できます。 CBR では各要求タイプごとに複数のサーバーを指定することができるため、最適のクライアント応答を得るために要求のロード・バランシングを行うことができます。CBR は、サーバー・セット内の 1 つのサーバーがいつ失敗したかを検出して、そのサーバーへの要求の経路指定を停止することもできます。 CBR コンポーネントによって使用されるロード・バランシング・アルゴリズムは、Dispatcher コンポーネントによって使用される実証済みのアルゴリズムと同じです。

要求が Caching Proxy によって受け取られると、CBR コンポーネントによって定義されたルールに照らしてチェックされます。一致すると、そのルールに関連する 1 つのサーバーが要求処理のために選択されます。そこで Caching Proxy は、選択されたサーバーへの要求を代行するための通常処理を行います。

CBR は、ハイ・アベイラビリティー、SNMP サブエージェント、広域、およびその他の構成コマンドのいくつかを除いて、Dispatcher と同じ機能を持っています。

Caching Proxy を実行しなければ、CBR がクライアント要求のロード・バランシングを開始できません。

CBR によるローカル・サーバーの管理

図 4. CBR を使用してローカル・サーバーを管理するサイトの例
CBR を使用してローカル・サーバーを管理するサイト

図 4 は、CBR を使用してローカル・サーバーからのコンテンツを代行するサイトを論理的に示したものです。CBR コンポーネントは、Caching Proxy を使用して URL のコンテンツに基づきクライアント要求 (HTTP または HTTPS) をサーバーに転送します。

Site Selector コンポーネントの概説

Site Selector は、ドメイン・ネーム・システム内の他のネーム・サーバーとの組み合わせで機能するネーム・サーバーの 1 つとして作動して、収集される測定値および重みを使用してサーバーのグループ間でのロード・バランシングを行います。 クライアント要求に使用されるドメイン・ネームに基づいて、サーバー・グループ間のトラフィックのロード・バランシングを行うためのサイト構成を作成できます。

クライアントが、ネットワーク内部のネーム・サーバーに対してドメイン・ネームを解決する要求を出します。ネーム・サーバーはその要求を Site Selector マシンに転送します。すると Site Selector は、そのドメイン・ネームをサイト名に基づいて構成されたいずれかのサーバーの IP アドレスに解決します。Site Selector は選択したサーバーの IP アドレスをネーム・サーバーに戻します。ネーム・サーバーは、その IP アドレスをクライアントに戻します。

Metric Server は Load Balancer のシステム・モニター・コンポーネントであり、これは構成内部のロード・バランシングされた各サーバーにインストールされている必要があります。Metric Server を使用して、Site Selector はサーバー上でアクティビティー・レベルをモニターし、サーバーの負荷が最小のときを検出し、障害の起きたサーバーを検出することができます。負荷とは、サーバーが作動している忙しさの程度を示す尺度です。システム・メトリック・スクリプト・ファイルをカスタマイズすることにより、負荷を測るために使用する測定タイプを制御できます。 アクセス頻度、ユーザー総数、アクセス・タイプ (例えば、短時間の照会、長時間の照会、 または CPU 集中の負荷) などの要因を考慮に入れて、自分の環境に適合するように Site Selector を構成できます。

Site Selector および Metric Server によるローカル・サーバーおよびリモート・サーバーの管理

図 5. Site Selector および Metric Server を使用してローカル・サーバーおよびリモート・サーバーを管理するサイトの例
Site Selector および Metric Server を使用してサーバーを管理するサイト

図 5 は、要求に応答するために Site Selector コンポーネントが使用されるサイトを図示しています。Server1、Server2、および Server3 はローカルです。Server4、Server5、および Server6 はリモートです。

クライアントが、クライアント・ネーム・サーバーに対してドメイン・ネームを解決する要求を出します。 クライアント・ネーム・サーバーは、DNS 経由で要求を Site Selector マシンに転送します (パス 1)。 すると Site Selector が、ドメイン・ネームをいずれかのサーバーの IP アドレスに解決します。Site Selector は選択したサーバーの IP アドレスをクライアント・ネーム・サーバーに戻します。ネーム・サーバーは、その IP アドレスをクライアントに戻します

クライアントは、サーバーの IP アドレスを受け取った後、アプリケーションの要求を 選択されたサーバーに直接に経路指定します (パス 2)。

注:
この例では、Metric Server は Site Selector マシンにシステム負荷情報を提供しています。各バックエンド・サーバーには Metric Server エージェントがインストールされています。 Metric Server と Site Selector を共に使用してください。そうでない場合は、Site Selector が使用できるのはロード・バランシング用のラウンドロビン選択メソッドだけです。

Cisco CSS Controller コンポーネントの概説

注:
Cisco CSS Controller コンポーネントは、Load Balancer for IPv4 と共に出荷されていますが、このコンポーネントは新しいハードウェアをサポートしない可能性があります。サポートされるハードウェアについては、前提条件ページ: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921 を参照してください。

Cisco CSS Controller は、Cisco の CSS 11000 シリーズ・スイッチと関連する補足ソリューションです。この複合ソリューションは、CSS 11000 シリーズの堅固なパケット転送およびコンテンツ・ルーティング機能と Load Balancer の高度な認識アルゴリズムを組み合わせて、サービス (バックエンド・サーバー・アプリケーションまたはデータベース) の負荷情報および可用性を判別します。 Cisco CSS Controller 機能は、Load Balancer の 重み計算アルゴリズム、標準 advisor、カスタム advisor、および Metric Server を使用して、サービスのメトリック、状態、および負荷を判別します。この情報を使用して、最適のサービス選択、負荷最適化、および耐障害性について Cisco CSS Switch に送る サービスの重みを Cisco CSS Controller が生成します。

Cisco CSS Controller は以下を含む多くの基準をトラッキングします。

Cisco CSS Switch が Cisco CSS Controller なしでコンテンツ提供サービスの状態を判別すると、コンテンツ要求またはその他のネットワーク測定の応答に時間を用します。適切な Cisco CSS Controller があれば、これらのアクティビティーは Cisco CSS Switch から Cisco CSS Controller にオフロードされます。Cisco CSS Controller はコンテンツを提供するサービスの重みまたは機能に影響し、サービスが可用性を増加または減少するとそのサービスを適切に活動化または 中断させます。

Cisco CSS Controller:

重みは、ポート上のすべてのサービスに適用されます。特定ポートについて、要求は相互に相対的な重みに基づいてサービス間で分散されます。例えば、一方のサービスが 10 の重みに設定され、他方が 5 に設定されている場合は、10 に設定されたサービスは 5 に設定されたサービスの 2 倍の要求を 得ることになります。これらの重みは SNMP を使用して Cisco CSS Switch に提供されます。 あるサービスの重みが高く設定されていると、Cisco CSS Switch はそのサービスにより多くの要求を与えます。

図 6. Cisco CSS Controller および Metric Server を使用してローカル・サービスを管理するサイトの例
Cisco CSS Controller および Metric Server を使用してサービスを管理するサイト

Cisco CSS Switch と関連づけされた Cisco CSS Controller は、ワイヤー・スピードのコンテンツ交換を、洗練されたアプリケーション認識、耐障害性、およびサービス負荷最適化と組み合わせて、「双方に最適な」ソリューションを提供します。 Cisco CSS Controller は、Cisco CSS Switch と IBM® WebSphere® Application Server Load Balancer の間の総括的補足ソリューションの一部です。

Nortel Alteon Controller コンポーネントの概説

注:
Nortel Alteon Controller コンポーネントは、Load Balancer for IPv4 と共に出荷されていますが、このコンポーネントは新しいハードウェアをサポートしない可能性があります。サポートされるハードウェアについては、前提条件ページ: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921 を参照してください。

Web スイッチの Nortel Alteon ファミリーと関連づけされた Nortel Alteon Controller は、サーバーの重みを判別するためにスイッチのパケット転送速度と機能を Load Balancer の精巧な認識アルゴリズムと 組み合わせる補足ソリューションです。

Nortel Alteon Controller では、よりインテリジェントなアプリケーション準拠の可用性評価と、サービスを展開するために使用されるアプリケーションの負荷を処理できるカスタム advisor を開発できます。

Metric Server は、CPU およびメモリーの使用率情報、およびカスタム・システムのロード測定用のフレームワークといったシステム負荷情報を提供します。

Nortel Alteon Controller は、Nortel Alteon Web Switch によってロード・バランシングされるサーバーに対する重みを判別するために、以下に示すような、多くのタイプのメトリック・データを収集します。

Nortel Alteon Controller は SNMP を使用して、スイッチと通信します。構成、状態、および接続の情報は、スイッチから取得されます。サーバーの重みは、コントローラーによって計算されると、スイッチ上に設定されます。スイッチは、コントローラーによって設定された重みを使用して、サービスに対するクライアント要求を処理する最適のサーバーを選択します。

図 7. Nortel Alteon Controller を使用してローカル・サーバーを管理するサイトの例
Nortel Alteon Controllerを使用してサーバーを管理するサイト

ブラウザー、リモート GUI、またはリモート・コマンド行インターフェースを使用しているコントローラーを管理できます。

Web スイッチの Nortel Alteon ファミリーと結合された Nortel Alteon Controller は、ワイヤー・スピードのパケット交換を、洗練されたアプリケーション認識、耐障害性、およびサーバー負荷最適化と組み合わせて、「双方に最適な」ソリュー ションを 提供します。Nortel Alteon Controller は、Web スイッチの Nortel Alteon ファミリーおよび IBM WebSphere の補足ソリューションの一部です。