付録C Mod_proxy_cluster コネクターモジュール
mod_proxy_cluster
コネクターは、JBoss mod_cluster コミュニティープロジェクトが元々開発したテクノロジーに基づく、設定を削減したインテリジェントな負荷分散ソリューションです。mod_proxy_cluster
コネクターを使用すると、Apache HTTP サーバーが、JBoss Web Server または JBoss EAP ホスト上で実行されているバックエンドアプリケーションにトラフィックを転送するための高度なロードバランサーとして機能できるようになります。mod_proxy_cluster
コネクターは、mod_jk
のすべての機能と、リアルタイムの負荷分散計算、アプリケーションライフサイクル制御、自動プロキシー検出、複数プロトコルサポートなどの追加機能を提供します。
この付録では、mod_proxy_cluster
コネクターが使用するモジュールについて説明します。
mod_proxy_cluster
コネクターは、ProxyIOBufferSize
などの mod_proxy
の設定可能なディレクティブを使用して設定できます。
C.1. Mod_manager.so
モジュールとディレクティブ
クラスターマネージャーモジュール mod_manager.so
は、ワーカーノードの登録、ワーカーノードの負荷データ、およびワーカーノードのアプリケーションのライフサイクルイベントなどのノードからメッセージを受信および確認します。
LoadModule manager_module modules/mod_manager.so
mod_manager.so
の設定可能なディレクティブ
<VirtualHost>
要素の設定可能なディレクティブは以下のとおりです。
- EnableMCPMReceive
-
VirtualHost
が mod_cluster management protocol (MCMP) メッセージを受信できるようにします。mod_proxy_cluster
が正常に動作できるように、Apache HTTP Server 設定にEnableMCPMReceive
ディレクティブを 1 つ追加します。advertise
が設定された場所のVirtualHost
設定にEnableMCPMReceive
を追加する必要があります。 - MaxMCMPMaxMessSize
-
MCMP メッセージの最大サイズを定義します。デフォルト値は、他の
Max
ディレクティブから計算されます。最小値は1024
です。 - AllowDisplay
-
mod_cluster-manager
メインページで追加表示を切り替えます。デフォルト値はoff
で、mod_cluster-manager
メインページにはバージョン情報のみが表示されます。 - AllowCmd
-
mod_cluster-manager
URL を使用してコマンドのパーミッションを切り替えます。デフォルト値はon
で、コマンドを許可します。 - ReduceDisplay
-
mod_cluster-manager
ページに表示される情報の縮減を切り替えます。情報を減らすと、ページでより多くのノードを表示できます。デフォルト値はoff
で、利用可能な情報をすべて表示することができます。 - MemManagerFile
-
mod_manager が設定の詳細を保存するファイルの場所を定義します。mod_manager は、共有メモリーおよびロックファイルに生成された鍵にもこの場所を使用します。絶対パス名である必要があります。NFS 共有ではなく、ローカルドライブ上のこのパスを使用することが推奨されます。デフォルト値は
/logs/
です。 - Maxcontext
-
mod_proxy_cluster
が使用するコンテキストの最大数。デフォルト値は100
です。 - Maxnode
-
mod_proxy_cluster
が使用するワーカーノードの最大数。デフォルト値は20
です。 - Maxhost
-
mod_proxy_cluster
が使用するホスト (エイリアス) の最大数。これは、ロードバランサーの最大数にもなります。デフォルト値は20
です。 - Maxsessionid
-
保存されたアクティブなセッション識別子の最大数。セッションから情報が 5 分間受信されない場合、セッションは非アクティブとみなされます。これはデモおよびデバッグの目的のみで使用されます。デフォルト値は
0
で、このロジックを無効にします。 - ManagerBalancerName
-
ワーカーノードがロードバランサー名を指定しない場合に使用するロードバランサーの名前。デフォルト値は
mycluster
です。 - PersistSlots
-
on
に設定された場合、ノード、エイリアス、およびコンテキストはファイルに永続化されます。デフォルト値はoff
です。 - CheckNonce
on
に設定された場合、セッション識別子をチェックして、一意で、これまでに発生していないことを確認します。デフォルトはon
です。注記このディレクティブを
off
に設定すると、サーバーがリプレイ攻撃に対して脆弱になります。- SetHandler mod_cluster-manager
ハンドラーを定義して、クラスター内のワーカーノードについての情報を表示します。これは、
Location
要素で定義されます。<Location $LOCATION> SetHandler mod_cluster-manager Require ip 127.0.0.1 </Location>
ここでは、
$LOCATION
もmod_cluster_manager
として定義されていました。ブラウザーの
Location
要素で定義されている$LOCATION
にアクセスする場合は、次のガイドラインに留意してください。-
Transferred
は、ワーカーノードに送信された POST データに一致します。 -
Connected
は、このステータスページが要求されたときに処理されたリクエストの数に対応します。 -
Sessions
はアクティブなセッションの数に対応します。Maxsessionid
が0
の場合、このフィールドは存在しません。
-