Caching Proxy および Load Balancer の 2 つのコンポーネント (Dispatcher コンポーネント
および CBR コンポーネント) の機能を結合した、2 層の高可用性構成を
セットアップします。
サーバーのセットアップ
Dispatcher、CBR、および Caching Proxy を使用する 2 層高可用性構成例
この図は、以下のシナリオを表しています。
- EdgeServer1: Web サーバー間でロード・バランシングされる CBR および Caching Proxy と連結されたプライマリー (高可用性) Dispatcher マシン
- EdgeServer2: CBR および Caching Proxy と連結された待機 (高可用性) Dispatcher マシン
- EdgeServer3: CBR および Caching Proxy サーバー
- WebServerA、WebServerB、WebServerC: バックエンド Web サーバー
次の図には、複数のバックエンド Web サーバー間でロード・バランシングされる複数のサーバー (EdgeServer1、EdgeServer2、EdgeServer3) の基本表現が示されています。CBR コンポーネントは Caching Proxy を使用して、URL のコンテンツを基にして要求をバックエンド Web サーバーに転送します。
Dispatcher コンポーネントは、EdgeServer 間の CBR コンポーネントのロード・バランシングを行うために使用されます。
Dispatcher コンポーネントの高可用性フィーチャーは、高可用性プライマリー・マシン
(EdgeServer1) がいつ失敗しても、バックエンド・サーバーに対する要求が継続されることを保証するために使用されます。
基本的な構成指針
- Caching Proxy は EdgeServer のすべてで同じになるように構成します。
バックエンド・サーバー上の Web ページへのアクセス可能性全体を向上するには、
メモリー・キャッシングを実行するように Caching Proxy をセットアップします。Caching Proxy を
セットアップすると、頻繁に要求される Web ページを EdgeServer が
キャッシュできるようになります。Caching Proxy のセットアップに関する詳細については、Caching Proxy 管理ガイド を参照してください。
- クラスター・アドレスおよびポートは、Load Balancer の CBR および Dispatcher コンポーネントの両方で同じになるように定義します。
- CBR コンポーネントは、EdgeServer のすべての間で同じになるように構成します。
クラスター用に定義したいポートでサーバーとして Web サーバー A、B、および C を使用します。CBR の
構成について詳しくは、『Content Based Routing の構成』トピックを参照してください。
- Dispatcher コンポーネントは、EdgeServer 1 と 2 の両方で同じになるように構成します。
Dispatcher によりロード・バランシングするクラスターで定義したいポートで、サーバーとして EdgeServer のすべてを定義します。
Dispatcher の構成について詳しくは、『Dispatcher の構成』トピックを参照してください。
- EdgeServer1 は、プライマリー高可用性マシンとして構成し、EdgeServer2 は待機 (バックアップ) 高可用性マシンとして構成します。
詳しくは、『高可用性』トピックを参照してください。
- クライアントでバックエンド・サーバー・アドレスが URL に
表示されるのを避けるには、Caching Proxy 構成ファイル内で各バックエンド・サーバー・アドレスに ReversePass ディレクティブを
設定します。
- Web メモリー・キャッシングが効果的に使用されることを確実にするには、
Caching Proxy 構成ファイル内で、Caching ディレクティブを ON に
設定し、CacheMemory ディレクティブを必要なサイズに増やします。
- ステップ 1 および 2 で説明された行の例は、次のとおりです。
Caching ON
CacheMemory 128000 K
ReversePass /* http://websrvA.company.com/* http://www.company.com/*
- EdgeServer1 のネットワーク・インターフェース・カード上のクラスター・アドレスに別名を付け、
残りの EdgeServer のループバック装置上のクラスター・アドレスに別名を付けます。
- EdgeServer 用に Linux プラットフォームを使用している場合、
Linux カーネルに
パッチをインストールするか、または、ループバック装置に別名を付けることに代わる方法を使用することが必要になる場合があります。.
- CBR の場合、バックエンド Web サーバーへの要求を処理している間はコンテンツ・ルールは
発生しないため、コンテンツ・ルールを使用する場合はポート・アフィニティー (stickytime) を
使用しないでください。
サンプル構成ファイル
図に示された Edge Components 構成をセットアップするときに作成されるファイル
は、以下のサンプル構成ファイルに似たものになります。
サンプル構成ファイルは、Load Balancer の Dispatcher および CBR コンポーネント用のファイルを表しています。サンプル構成では、単一のイーサネット・アダプターが EdgeServer マシンのそれぞれに使用され、アドレスのすべてはプライベート・サブネット内で表されます。
サンプル構成ファイルでは、指定されたマシン用に以下の IP アドレスが使用されます。
- EdgeServer1 (プライマリー高可用性 EdgeServer): 192.168.1.10
- EdgeServer2 (バックアップ高可用性 EdgeServer): 192.168.1.20
- EdgeServer3 (Web キャッシング EdgeServer): 192.168.1.30
- Web サイト・クラスター・アドレス: 192.168.1.11
- WebServers A-C (バックエンド Web サーバー): 192.168.1.71、192.168.1.72、および 192.168.1.73
プライマリー高可用性 EdgeServer 上の Dispatcher コンポーネント用サンプル構成ファイル
dscontrol executor start
dscontrol cluster add 192.168.1.11 primaryhost 192.168.1.10
dscontrol port add 192.168.1.11@80
dscontrol server add 192.168.1.11@80@edgeserver1 address 192.168.1.10
dscontrol server add 192.168.1.11@80@edgeserver2 address 192.168.1.20
dscontrol server add 192.168.1.11@80@edgeserver3 address 192.168.1.30
dscontrol manager start manager.log 10004
dscontrol highavailability heartbeat add 192.168.1.10 192.168.1.20
dscontrol highavailability backup add primary auto 4567
EdgeServer 上の CBR コンポーネント用サンプル構成ファイル
cbrcontrol set loglevel 1
cbrcontrol executor start
cbrcontrol cluster add 192.168.1.11
cbrcontrol port add 192.168.1.11@80
cbrcontrol server add 192.168.1.11@80@webserverA address 192.168.1.71
cbrcontrol server add 192.168.1.11@80@webserverB address 192.168.1.72
cbrcontrol server add 192.168.1.11@80@webserverC address 192.168.1.73
cbrcontrol rule add 192.168.1.11@80@webA_rule type content
pattern (URI=*WSA*)|(URI=*wsA*) priority 21
cbrcontrol rule useserver 192.168.1.11@80@webA_rule webserverA
cbrcontrol rule add 192.168.1.11@80@webB_rule type content
pattern (URI=/WS_B*) priority 22
cbrcontrol rule useserver 192.168.1.11@80@webB_rule webserverB
cbrcontrol rule add 192.168.1.11@80@webC_rule type content
pattern URI=*webC* priority 23
cbrcontrol rule useserver 192.168.1.21@80@webC_rule webserverC