Content Based Routing の構成

この章のステップを実行する前に、Content Based Routing の計画を参照してください。この章では、Load Balancer の CBR コンポーネントのための基本構成を 作成する方法について説明します。

構成作業の概説

この表の構成ステップを始める前に、CBR マシンとすべてのサーバー・マシンをネットワーク に接続し、有効な IP アドレスを与え、相互に ping できるようにしてください。

注:
Content Based Routing (CBR) コンポーネントは、64 ビットの JVM を実行しているプラットフォームでは使用できません。ただし、HP-UX ia64 の場合は例外です。HP-UX ia64 では、CBR コンポーネントは 32 ビットのアプリケーションとして実行されます。 Load Balancer の Dispatcher コンポーネントの CBR 転送方式を使用すれば、Caching Proxy を使用しなくてもコンテンツ・ベースのルーティングを提供することができます。詳しくは、Dispatcher のコンテンツ・ベースのルーティング (CBR 転送方式) を参照してください。
表 4. CBR コンポーネントの構成タスク
タスク 説明 関連情報
CBR マシンをセットアップする 要件を探します。 CBR マシンのセットアップ
ロード・バランシング対象のマシンをセットアップする ロード・バランシング構成をセットアップします。 ステップ 7. ロード・バランシングが行われるサーバー・マシンの定義

構成方法

Load Balancer の CBR コンポーネントのための基本構成を作成するには、次の 4 つの方法があります。

CBR を使用するには、Caching Proxy がインストールされていなければなりません。

注:
Caching Proxy は、インストール後にデフォルトによって自動的に開始するサービスです。 CBR サーバー機能 (cbrserver) を開始する前に Caching Proxy を停止し、 Caching Proxy サービスを、自動ではなく手動で開始するように変更する必要があります。

コマンド行

これは、CBR を構成する最も直接的な方法です。コマンド・パラメーター値は、英字で入力する必要があります。 唯一の例外は、ホスト名 (例えば、クラスターおよびサーバー・コマンドで使用される) およびファイル名です。

コマンド行から CBR を開始するには、以下を行います。

cbrcontrol コマンド・パラメーターの省略バージョンを入力できます。入力する必要があるのは、パラメーターの固有文字だけです。例えば、file save コマンドに関するヘルプを表示するには、cbrcontrol help file の代わりに cbrcontrol he f と入力することができます。

コマンド行インターフェースを始動するには、cbrcontrol を発行して cbrcontrol コマンド・プロンプトを受信します。

コマンド行インターフェースを終了するには、exit または quit を実行します。

注:
  1. Windows プラットフォームでは、Dispatcher コンポーネントの dsserver が自動的に開始されます。CBR だけを使用中で、Dispatcher コンポーネントを使用中ではない場合は、次のように自動的な開始から dsserver を停止できます。
    1. 「サービス」ウィンドウで、IBM® Dispatcher を右マウス・ボタンでクリックします。
    2. 「プロパティ」を選択します。
    3. 始動タイプ」フィールドで、「手作業」を選択します。
    4. 「了解」をクリックし、「サービス」ウィンドウをクローズします。
  2. Content Based Routing (CBR) をオペレーティング・システムのコマンド・プロンプトから (cbrcontrol>> プロンプトからではなく) 構成するときには、以下の文字の使用に注意してください。
    • ( ) 右および左括弧
    • & アンパーサンド
    • | 縦線
    • ! 感嘆符
    • * アスタリスク

    オペレーティング・システムのシェルは、これらを特殊文字として解釈し、cbrcontrol が評価する前に代替テキストに変換することがあります。

    上のリスト中の特殊文字は cbrcontrol rule add コマンドではオプション文字であり、コンテンツ・ルールのパターンを指定するときに使用されます。例えば、以下のコマンドが有効であるのは、cbrcontrol>> プロンプトを使用するときだけです。

    rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern uri=/nipoek/*

    同じコマンドをオペレーティング・システムのプロンプトで使用する場合には、以下のように二重引用符 (" ") でパターンを囲む必要があります。

    cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern "uri=/nipoek/*"

    引用符を使用しないと、ルールを CBR に保存するときにパターンの一部が切り捨てされる場合があります。引用符は cbrcontrol>> コマンド・プロンプトの使用ではサポートされていないことに注意してください。

スクリプト

CBR を構成するための複数のコマン ドを構成スクリプト・ファイルに入力して、 まとめて実行することができます。

注:
スクリプト・ファイル (例えば myscript) の内容を迅速に実行するには、次のコマンドのいずれかを使用します。

現在の構成をスクリプト・ファイル (例えば savescript) に保存するには、次のコマンドを実行します。

cbrcontrol file save savescript

このコマンドは、構成スクリプト・ファイルを次のディレクトリーに保存します。

GUI

グラフィカル・ユーザー・インターフェース (GUI) の一般的な説明と例については、図 38 を参照してください。

GUI を開始するには、以下のステップに従ってください。

  1. cbrserver が実行中であることを確認します。root ユーザーまたは管理者として、コマンド・プロンプトから cbrserver を発行します。
  2. オペレーティング・システムに応じて、以下のアクションの 1 つを行います。
  3. Caching Proxy を開始します。(Caching Proxy を開始する前に、最初に GUI からホストに接続してから、 CBR コンポーネントの Executor を開始する必要があります。) 以下のいずれかを行います。

GUI から CBR コンポーネントを構成するには、ツリー構造で Content Based Routing を 最初に選択しなければなりません。ホストに接続後は、manager を開始することができます。また、ポートとサーバーを含むクラスターを作成したり、manager の advisor を開始したりすることもできます。

GUI を使用して、cbrcontrol コマンドで 行う任意の処理を実行することができます。例えば、コマンド行を使用してクラスターを定義するには、cbrcontrol cluster add cluster コマンドを入力します。クラスターを GUI から定義するには、 「Executor」を右マウス・ボタンでクリックしてから、 ポップアップ・メニューの「クラスターの追加」を左マウス・ボタンでクリックします。 ポップアップ・ウィンドウでクラスター・アドレスを入力して、「OK」をクリックします。

既存の CBR 構成ファイルは、「ホスト」ポップアップ・メニューに表示される 「新規構成のロード」オプション (現行の構成を完全に置き換える場合) と 「現行の構成に追加」オプション (現行の構成を更新する場合) を使用してロードすることができます。 CBR 構成は、「ホスト」ポップアップ・メニューに 表示される「構成ファイルの別名保存」オプションを使用して定期的にファイルに保存しなければなりません。GUI の上部にある「ファイル」メニューを使用して、現行のホスト接続をファイルに保存したり、すべての Load Balancer コンポーネント全体で既存のファイルにある接続を復元したりできます。

Load Balancer ウィンドウの右上隅にある疑問符のアイコンをクリックすると、「ヘルプ」にアクセスできます。

GUI からコマンドを実行するためには、GUI ツリーでホスト・ノードを強調表示し、「ホスト」ポップアップ・メニューから「コマンドの送信....」を選択します。 コマンド入力フィールドに、実行したいコマンド (例えば executor report) を入力します。 現行セッションでのコマンド実行の結果およびヒストリーが、ウィンドウに表示されます。

GUI の使用に関する詳細については、付録A. GUI: 一般的な説明を参照してください。

構成ウィザード

構成ウィザードを使用する場合は、以下のステップに従ってください。

  1. cbrserver の開始: コマンド・プロンプトで root ユーザーまたは管理者として cbrserver を発行します。
  2. CBR のウィザード機能を開始します。

    cbrwizard を発行することによって、コマンド・プロンプトからウィザードを立ち上げます。あるいは、GUI で示したように、CBR コンポーネント・メニューから構成ウィザードを選択します。

  3. HTTP または HTTPS (SSL) トラフィックのロード・バランシングを行うために Caching Proxy を開始します。

    AIX、HP-UX、 Linux、 または Solaris システムの場合: Caching Proxy を開始するには、ibmproxy と入力します。

    Windows システムの場合: Caching Proxy を開始するには、「サービス」パネルに移動します (「スタート」>「コントロール パネル」>「管理ツール」>「サービス)。

CBR ウィザードは、CBR コンポーネントの基本構成を作成するプロセスを段階的に案内します。 このウィザードでは、ユーザーのネットワークについて質問して、クラスターをセットアップしながら手引きします。このクラスターによって、CBR がサーバーのグループ間のトラフィックに対するロード・バランシングを行うことができます。

CBR マシンのセットアップ

CBR マシンをセットアップする前に、root ユーザー (AIX、HP-UX、Linux、 または Solaris システムの場合) か、管理者 (Windows の場合) になる必要があります。

セットアップするサーバーのクラスターごとに IP アドレスが 1 つずつ必要です。 クラスター・アドレスは、ホスト名 (www.company.com など) に関連するアドレスです。この IP アドレスは、クライアントがクラスター内のサーバーに接続するために使用します。このアドレスは、クライアントからの URL 要求で使用されます。同じクラスター・アドレスに対する要求は、すべて CBR によってロード・バランシングが行われます。

Solaris システムの場合のみ: CBR コンポーネントを使用する前に、IPC (プロセス間通信) のシステム・デフォルトを変更しなければなりません。共有メモリー・セグメントの最大サイズとセマフォー ID の数を増加する必要があります。CBR をサポートするようにシステムを調整するには、システム上の /etc/system ファイルを編集して以下のステートメントを追加し、その後でリブートしてください。

set shmsys:shminfo_shmmax=0x02000000
set semsys:seminfo_semmap=750
set semsys:seminfo_semmni=30
set semsys:seminfo_semmns=750
set semsys:seminfo_semmnu=30
set semsys:seminfo_semume=30

共有メモリー・セグメントを上述の値に増やさないと、cbrcontrol executor start コマンドは失敗します。

ステップ 1. CBR を使用する Caching Proxy の構成

CBR を使用するには、Caching Proxy がインストールされていなければなりません。

注:
Caching Proxy は、インストール後にデフォルトによって自動的に開始するサービスです。 CBR サーバー機能を開始する前に Caching Proxy を停止し、 Caching Proxy サービスを、自動ではなく手動で開始するように変更する必要があります。

Caching Proxy 構成ファイル (ibmproxy.conf) に対して以下の変更を行わなければなりません。

着信 URL ディレクティブ CacheByIncomingUrl が「off」(デフォルト) であることを 確認します。

構成ファイルのマッピング規則セクションで、それぞれのクラスターごとに、次のようなマッピング規則を追加します。

Proxy    /*  http://cluster.domain.com/*    cluster.domain.com
注:
CBR は後でプロトコル、サーバー、およびターゲット・ポートを設定します。

CBR プラグイン用に編集しなければならない項目は以下の 4 つです。

項目は、それぞれ 1 行に収めなければなりません。各プラグイン当たり 1 つずつある ibmproxy.conf ファイルには、「ServerInit」のいくつかのインスタンスがあります。「CBR プラグイン」の項目を編集してアンコメントしてください。

各オペレーティング・システムに関する、構成ファイルへの固有の追加事項は以下のとおりです。

表 5. オペレーティング・システム別の CBR 構成ファイルに対する必要な追加
オペレーティング・システム CBR 構成ファイルに対する追加
AIX、HP-UX、Linux、および Solaris システム
ServerInit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerInit 

PostAuth  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostAuth 

PostExit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostExit 

ServerTerm  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerTerm
Windows システム
ServerInit  <install_root>ibm¥edge¥lb¥servers¥lib¥liblbcbr.dll:ndServerInit 

PostAuth  <install_root>ibm¥edge¥lb¥servers¥lib¥liblbcbr.dll:ndPostAuth 

PostExit  <install_root>ibm¥edge¥lb¥servers¥lib¥liblbcbr.dll:ndPostExit 

ServerTerm  <install_root>ibm¥edge¥lb¥servers¥lib¥liblbcbr.dll:ndServerTerm

ステップ 2. サーバー機能の開始

CBR サーバー機能を開始するには、コマンド行で cbrserver と入力します。

デフォルトの構成ファイル (default.cfg) は、cbrserver の開始時に自動的にロードされます。 ユーザーが CBR 構成を default.cfg に保存することに決定すると、次に cbrserver を開始するときに、このファイルに保存されたすべてが自動的にロードされます。

ステップ 3. executor 機能の開始

executor 機能を開始するには、cbrcontrol executor start コマンドを入力します。この時点で、さまざまな executor 設定値を変更することもできます。dscontrol executor — executor の制御を参照してください。

ステップ 4. クラスターの定義とクラスター・オプションの設定

CBR は、クラスターに送信された要求を、そのクラスターのポートで構成された対応するサーバーに対して平衡化します。

このクラスターは、URL のホスト部分にあるシンボル名で、ibmproxy.conf ファイルの Proxy ステートメントで使用されている名前に一致する必要があります。

CBR で定義されたクラスターは着信要求に一致するように定義する必要があります。 クラスターは、着信要求に含まれるのと同じホスト名または IP アドレスを使用して定義されなければなりません。例えば、要求が IP アドレスで入力されるならば、クラスターは IP アドレスで定義します。単一の IP アドレスに解決する複数のホスト名がある場合 (そして要求をそれらのホスト名の 1 つで 着信する場合) は、すべてのホスト名をクラスターとして定義する必要があります。

クラスターを定義するには、以下のコマンドを発行します。

cbrcontrol cluster add cluster

クラスター・オプションを設定するには、以下のコマンドを発行します。

cbrcontrol cluster set cluster option value

詳細については、Dispatcher および CBR のコマンド解説を参照してください。

ステップ 5. ネットワーク・インターフェース・カードの別名割り当て (オプション)

リバース・プロキシーとして構成された Caching Proxy を実行する場合は、 複数 Web サイトのロード・バランシングを行う際に、各 Web サイトのクラスター・アドレスを Load Balancer マシンのネットワーク・インターフェース・カードの少なくとも 1 つに追加する必要があります。 そうでない場合は、このステップは省略できます。

AIX、HP-UX、 Linux、 または Solaris システム の場合: ネットワーク・インターフェースにクラスター・アドレスを追加するには、 ifconfig コマンドを使用します。 表 6 に示す該当のオペレーティング・システム用のコマンドを使用してください。

表 6. NIC に別名を付けるコマンド
AIX ifconfig interface_name alias cluster_address netmask netmask
HP-UX ifconfig interface_name cluster_address netmask netmask up
Linux ifconfig interface_name cluster_address netmask netmask up
Solaris 9 および Solaris 10 ifconfig interface_name addif cluster_address netmask netmask up
注:
Linux および HP-UX システムの場合は、interface_name には各クラスター・アドレスに固有の数値が必要であり、これは例えば eth0:1、eth0:2 などのように加算されます。

Windows 2003 の場合: ネットワーク・インターフェースにクラスター・アドレスを追加するには、以下を実行します。

  1. スタート」>「コントロール パネル」>「ネットワーク接続」>「ローカル エリア接続」をクリックします。
  2. プロパティ」をクリックします。
  3. インターネット プロトコル (TCP/IP)」を選択して「プロパティ」をクリックします。
  4. 次の IP アドレスを使用する」を選択して「詳細設定」をクリックします。
  5. 追加」をクリックしてからクラスターの「IP アドレス」および「サブネット・マスク」を入力します。

ステップ 6. ポートの定義とポート・オプションの設定

ポート番号は、サーバー・アプリケーションが listen するポートです。HTTP トラフィックを実行中の Caching Proxy 付き CBR の場合は、一般に、これはポート 80 です。

前のステップで定義したクラスターにポートを定義するには、次のコマンドを実行します。

cbrcontrol port add cluster:port 

ポート・オプションを設定するには、以下のコマンドを発行します。

cbrcontrol port set cluster:port option value

詳細については、Dispatcher および CBR のコマンド解説を参照してください。

ステップ 7. ロード・バランシングが行われるサーバー・マシンの定義

サーバー・マシンは、ロード・バランシングを行うアプリケーションを実行するマシンです。server は、サーバー・マシンのシンボル名または小数点付き 10 進表記アドレスです。 クラスターおよびポートでサーバーを定義するには、次のコマンドを発行します。

cbrcontrol server add cluster:port:server

ロード・バランシングを行うためには、クラスター上の 1 つのポートに対して複数のサーバーを定義しなければなりません。

ステップ 8. 構成へのルールの追加

これは、Caching Proxy で CBR を構成する場合の重要なステップです。ルールは、URL 要求を識別していずれかの適切なサーバー・セットに送信する方法を定義します。CBR によって使用される特別なルール・タイプを、コンテンツ・ルールといいます。コンテンツ・ルールを定義するには、以下のコマンドを発行します。

cbrcontrol rule add cluster:port:rule type content pattern pattern

pattern は正規表現で、各クライアント要求の URL と比較されます。 パターンの構成方法に関する詳細については、付録B. コンテンツ・ルール (パターン) 構文を参照してください。

Dispatcher で定義されたその他のルール・タイプの中には、CBR でも使用できるものがあります。詳細については、ルール・ベースのロード・バランシングの構成を参照してください。

ステップ 9. ルールへのサーバーの追加

クライアント要求とルールを突き合わせるときには、最適なサーバーを求めてルールのサーバー・セットが照会されます。ルールのサーバー・セットは、ポートで定義されたサーバーのサブセットです。ルールのサーバー・セットにサーバーを追加するには、以下のコマンドを発行します。

cbrcontrol rule useserver cluster:port:rule server

ステップ 10. manager 機能の開始 (オプション)

manager 機能によって、ロード・バランシング性能が向上します。 manager を開始するには、以下のコマンドを発行します。

cbrcontrol manager start

ステップ 11. advisor 機能の開始 (オプション)

advisor は、ロード・バランシングが行われるサーバー・マシンが要求に応答する能力に関する詳細情報を manager に提供します。advisor はプロトコル固有です。例えば、HTTP advisor を開始するには、以下のコマンドを発行します。

cbrcontrol advisor start http port

ステップ 12. 必要によりクラスター割合を設定

advisor を開始すると、ロード・バランシングの判断に含まれる advisor 情報に指定された重要度の割合を変更できます。 クラスター割合を設定するには、cbrcontrol cluster set cluster proportions コマンドを発行します。詳細については、状況情報に与えられる重要性の割合 を参照してください。

ステップ 13. Caching Proxy の開始

新しい環境で Caching Proxy を開始します。

CBR 構成の例

CBR を構成するには、以下のステップに従ってください。

  1. CBR の開始: cbrserver コマンドを発行します。
  2. コマンド行インターフェースの始動: cbrcontrol コマンドを発行します。
  3. cbrcontrol プロンプトが表示されます。以下のコマンドを発行します。(クラスター (c)、ポート (p)、ルール (r)、サーバー (s))
  4. Caching Proxy の開始: ibmproxy コマンドを発行します。 (Windows プラットフォームの場合は、Caching Proxy は「サービス」パネルから開始します。)
  5. ブラウザーからプロキシー構成をすべて除去します。
  6. http://c/ をブラウザーにロードします。ここで、 「'c」は前に構成したクラスターです。