Content Based Routing の計画

このトピックでは、ネットワーク計画担当者が CBR コンポーネントを Caching Proxy と共に インストールおよび構成する際に考慮する必要のある事項について説明します。

CBR コンポーネントは Caching Proxy と連携し、HTTP および SSL トラフィック のロード・バランスを取って、要求を転送します。CBR を使用すると、cbrcontrol コマンドによって CBR 構成ファイルを使用して構成するサーバーのロード・バランシングを行うことができます。

CBR は、そのコンポーネントの構造の点で Dispatcher と似ています。CBR は以下の機能から構成されています。

CBR の 3 つの主な機能である executor、manager、 および advisor は互いに対話して、着信要求をサーバー間でバランスを取って ディスパッチします。ロード・バランシング要求とともに、executor は、新規接続と活動接続の数をモニターし、この情報を manager に提供します。

別々のコンテンツ・タイプに対する要求のロード・バランシング

CBR コンポーネントを使用すれば、クライアント要求内容の正規表現一致に基づいて要求を処理しなければならない一組のサーバーを指定することができます。CBR を 使用してサイトを区分化することによって、異なるコンテンツまたはアプリケーション・サービスが別々のサーバー・セットで処理されるように できます。この区分化は、サイトにアクセスするクライアントには見えません。

応答時間を改善するためのサイト・コンテンツの分割

サイトを分割する 1 つの 方法は、いくつかのサーバーを CGI 要求のみを処理するために割り当て、別のサーバー・セットをその他のすべての要求を 処理するために割り当てる方法です。サイトを分割すると、 集中的に数値計算を行う CGI スクリプトが原因で通常の HTML トラフィックに対して サーバーがスローダウンするのを防ぐことができ、クライアントにとっては全般的な応答時間が短くなります。この方式を使用すれば、通常の要求に対してより強力なワークステーションを割り当てることもできます。この割り当て により、すべてのサーバーをアップグレードする労力をかけずに、より短い応答時間をクライアントに 提供できます。また、CGI 要求に対してより強力なワークステーションを割り当てることもできます。

もう 1 つのサイト区分化方法は、登録が必要なページにアクセスするクライアントを 1 つのサーバー・セットに割り当て、その他のすべての要求を別のサーバー・セットに割り当てることです。この区分化 は、信頼して登録したクライアントによって使用される可能性のあるリソース を、サイトを偶然見た人が占有してしまうことを防止します。また、登録済みのクライアントにサービスを提供するために、もっと強力な ワークステーションを使用することもできます。

より柔軟性の高い優れたサービスを 提供できるように、上記の方法を組み合わせることもできます。

Web サーバー・コンテンツのバックアップの提供

CBR では 各タイプの要求に対して複数のサーバーを指定できるため、クライアント応答が最良となるように要求のロード・バランスを取ることができます。 各タイプの内容に複数のサーバーを割り当てることができるため、1 つのワークステーションまたはサーバーが失敗してもユーザーは保護されます。CBR は、この失敗を認識し、引き続きクライアント要求をセット内の他のサーバーでロード・バランシングします。

プロセッサー使用率を改善するための複数の Caching Proxy プロセス

Caching Proxyは、そのプラグイン・インターフェースを使用して CBR プロセスと通信します。この通信が機能するために、CBR はローカル・マシン上で 実行していなければなりません。2 つの別個のプロセスがあるため、 Caching Proxy の複数インスタンスが実行して、CBR の 1 つのインスタンス と連動することができます。このセットアップを、複数の Caching Proxy 間でアドレスまたは 機能を分離するように構成したり、マシンのリソース使用率が向上するようにクライアント・トラフィックを いくつかの Caching Proxy で処理するように構成したりできます。プロキシー・インスタンスは、トラフィック要件に最も適した内容によって、別々のポート上で listen したり、または同一ポート上で固有の IP アドレスにバインドしたりすることができます。

CBR によるルール・ベースのロード・バランシング

CBR および Caching Proxy は、指定のルール・タイプを使用して HTTP 要求数を調べます。Caching Proxy は、 実行していれば、クライアント要求を受け入れ、最適なサーバーについて CBR コンポーネントに照会します。この照会に基づき、CBR は優先順位が付けられたルールのセットとこの要求を突き合わせます。ルールと一致した場合は、事前に構成されたサーバー・セットから適切なサーバーを選択します。最後に、CBR は選択したサーバーを Caching Proxy に通知し、そのサーバーで要求が代行されます。

あるクラスターをロード・バランシングの対象として定義した後、 そのクラスターへのすべての要求に、サーバーを選択するルールがあることを 確認する必要があります。特定の要求と一致しないルールが見つかると、クライアントは Caching Proxy からエラー・ページを受け取ります。すべての要求をあるルールと一致させるための最も簡単な方法は、常に真であるルールを高い優先順位番号で作成することです。このルールを使用する サーバーは、より低い優先順位番号を持つルールで明示的に処理されない要求を すべて処理できなければなりません。優先順位番号が低いルールが先に 評価されます。

ルール・ベースのロード・バランシングについて詳しくは、『使用中または使用不可のサーバーに対するトラフィックを管理するルールの構成』トピック を参照してください。

完全なセキュア (SSL) 接続でのロード・バランシング

Caching Proxy 付きの CBR は、クライアントからプロキシーへの (クライアント - プロキシー・サイド) SSL 送信と、プロキシーから SSL サーバーへの (プロキシー - サーバー・サイド) サポート送信を受信できます。CBR 構成内でサーバーに SSL ポートを 定義してクライアントから SSL 要求を受け取るようにすることで、CBR を使用してセキュア (SSL) サーバー間でロード・バランスを取る 完全に保護されたサイトを保守できます。

SSL 暗号化をプロキシー - サーバー・サイドで使用可能にするには、CBR 用の他の ibmproxy.conf ファイルの変更に加えて、Caching Proxy 用に ibmproxy.conf SSL ファイルに構成ステートメントをもう 1 つ追加する必要があります。フォーマットは次のとおりです。
proxy uri_pattern url_pattern address
ここで、
  • uri_pattern は、一致するパターンです (例: /secure/*)
  • url_pattern は、置換 URL です (例: https://clusterA/secure/*)
  • address は、クラスター・アドレスです (例: clusterA)

SSL 中のクライアント - プロキシーおよび HTTP 中のプロキシー - サーバーのロード・バランシング

Caching Proxy 付きの CBR がクライアントから SSL 送信を受け取ると、HTTP サーバーに対する SSL 要求を代行する前にその要求を暗号化解除します。CBR が、SSL のクライアント とプロキシー間をサポートし、HTTP のプロキシーとサーバー間をサポートするために、 cbrcontrol サーバー・コマンドにオプション・キーワード mapport が あります。サーバー上のポートがクライアントからの着信ポートと異なることを示す必要があるときには、このキーワードを使用してください。以下の 例では、mapport キーワードを使用するポートを追加しています。 クライアントのポートは 443 (SSL)、サーバーのポートは 80 (HTTP) です。
 cbrcontrol server add cluster@443 mapport 80
mapport のポート番号は、任意の正整数値にできます。デフォルトは、クライアントからの着信ポートのポート番号値です。
CBR は、ポート 443 (SSL) に構成されているサーバーに対する HTTP 要求についてアドバイス できなければならないため、特別な advisor として ssl2http が 用意されています。この advisor はポート 443 (クライアントからの着信ポート) を開始して、そのポートに構成されているサーバーにアドバイスします。構成されている クラスターが 2 つあり、各クラスターに、ポート 443 と、異なる mapport で構成 された複数のサーバーがある場合、この advisor の単一のインスタンスが構成に従って適切なポートを開くことができます。 以下はこの構成の例です。
Executor
    Port:443
               Server1 mapport 80
           Server2 mapport 8080
Port:443
               Server3 mapport 80
           Server4 mapport 8080
Advisor ssl2http 443
Concept topic    

Terms and conditions for information centers | Feedback

Last updated: May 28, 2013 08:30 AM EDT
File name: ccfg_plancbr.html