13.3.2. mod_cluster サブシステムの設定

Web ベースの管理コンソールでは、mod_cluster オプションが Web サブシステム設定領域で利用可能になります。左上の Profiles タブをクリックします。監理対象ドメインを使用する場合は、設定する適切なプロファイルを、右上にある Profile 選択ボックスから選択します。デフォルトで、ha プロファイルと full-ha プロファイルでは、mod_cluster サブシステムが有効になります。スタンドアロンサーバーを使用する場合は、standalone-ha プロファイルを使用してサーバーを起動する必要があります。左側のメニューの Web 項目をクリックし、サブメニューから Modcluster を選択します。これらのオプションについては、以下の表で説明されています。最初に設定全体が示され、次にセッション、Web コンテキスト、プロキシ、SSL、およびネットワーキングの設定が示されます。これらの各設定の独自のタブが Modcluster 設定画面に示されます。

注記

Modcluster 設定ページは HA クラスタリングサブシステムが有効なプロファイルに対してのみ表示されます。これらのプロファイルは、ha および full-ha (監理対象ドメインドメイン) または standalone-ha (スタンドアロンサーバー) のいずれかです。

表13.7 mod_cluster 設定オプション

オプション 説明 CLI コマンド
負荷分散グループ
これが null でない場合、要求はロードバランサーの特定の負荷分散グループに送信されます。負荷分散グループを使用しない場合は、これを空白のままにしてください。これはデフォルトでは設定されません。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=load-balancing-group,value=myGroup)
バランサー
バランサーの名前。これは、HTTPD プロキシの設定に一致する必要があります。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=balancer,value=myBalancer)
ソケットのアドバタイズ
クラスターアドバタイズに使用するソケットバインディングの名前。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-socket,value=modcluster)
キーのアドバタイズ
アドバタイズ用のセキュリティーキーを含む文字列。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-security-key,value=myKey)
アドバタイズ
アドバタイズが有効かどうかを指定します。デフォルト値は true です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise,value=true)

表13.8 mod_cluster セッション設定オプション

オプション 説明 CLI コマンド
スティッキーセッション
要求にスティッキーセッションを使用するかどうかを指定します。つまり、クライアントが特定のクラスターノードに接続すると、クラスターノードが利用不可でない限り、それ以降の通信は同じノードにルーティングされます。このデフォルト値は true であり、推奨される設定です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session,value=true)
スティッキーセッションの強制
true の場合、要求は新しいクラスターノードにリダイレクトされません (最初のノードが利用不可である場合)。要求は代わりに失敗します。このデフォルト値は false です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-force,value=false)
スティッキーセッションの削除
フェールオーバー時にセッション情報を削除します。デフォルトで無効になります。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-remove,value=false)

表13.9 mod_cluster Web コンテキスト設定オプション

オプション 説明 CLI コマンド
コンテキストの自動有効化
デフォルトで mod_cluster に新しいコンテンツを追加するかどうかを指定します。このデフォルト値は true です。デフォルト値を変更し、コンテキストを手動で有効にする必要がある場合は、Web アプリケーションで enable() MBean メソッドまたは mod_cluster マネージャー (HTTPD の設定で指定された名前付き仮想ホストまたはポートの HTTPD プロキシで実行される Web アプリケーション) を使用してコンテキストを有効にできます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=auto-enable-contexts,value=true)
除外されたコンテキスト
mod_cluster が無視する必要がある、コンテキストのカンマ区切りリスト。ホストが指定されない場合、ホストは localhost と見なされます。ROOT は Web アプリケーションのルートコンテキストを示します。デフォルト値は ROOT,invoker,jbossws,juddi,console です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=excluded-contexts,value="ROOT,invoker,jbossws,juddi,console")

表13.10 mod_cluster プロキシー設定オプション

オプション 説明 CLI コマンド
プロキシ URL
定義された場合、この値は MCMP コマンドの URL の前に付加されます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-url,value=myhost)
プロキシリスト
HTTPD プロキシアドレスのカンマ区切りリスト (hostname:port 形式)。これは、mod_cluster プロせうが最初に通信しようとするリストを示します。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-list,value="127.0.0.1,127.0.0.2")
mod_cluster に対する SSL 通信の設定

デフォルトでは、mod_cluster 通信は暗号化されていない HTTP リンクを介して行われます。コネクタースキームを HTTPS (表13.8「mod_cluster セッション設定オプション」 を参照) に設定する場合、以下の設定では、mod_cluster に、接続を暗号化する情報を見つける場所が通知されます。

表13.11 mod_cluster SSL 設定オプション

オプション 説明 CLI コマンド
キーエイリアス
証明書が作成されたときに選択されたキーエイリアス。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-alias,value=jboss)
パスワード
証明書が作成されたときに選択されたパスワード。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=password,value=changeit)
証明書ファイル
証明書ファイルの場所。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-certificate-file,value=${user.home}/jboss.crt)
キーファイル
証明書用キーファイルの場所。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=certificate-key-file,value=${user.home}/.keystore)
暗号スイート
許可された暗号スイート。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=cipher-suite,value=ALL)
失効 URL
認証局失効リストの URL。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-revocation-url,value=jboss.crl)
プロトコル
有効な SSL プロトコル。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=protocol,value=SSLv3)
mod_cluster ネットワーキングオプションの設定

利用可能な mod_cluster ネットワーキングオプションは、mod_cluster サービスが通信するさまざまな種類のサービスに対するさまざまなタイムアウト動作を制御します。

表13.12 mod_cluster ネットワーキング設定オプション

オプション 説明 CLI コマンド
ノードタイムアウト
ノードに対するプロキシ接続のタイムアウト (秒単位)。これは、mod_cluster がバックエンド応答を待機する時間です。この時間が経過するとエラーが返されます。これはワーカー mod_proxy ドキュメンテーションのタイムアウトに対応します。値が -1 の場合は、タイムアウトがないことを示します。mod_cluster は要求を転送する前に cping/cpong を常に使用し、mod_cluster により使用される connectiontimeout 値は ping 値であることに注意してください。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=node-timeout,value=-1)
ソケットタイムアウト
MCMP コマンドに対する httpd プロキシからの応答を待機する時間 (ミリ秒単位)。この時間が経過すると、タイムアウトになり、プロキシでエラーが発生していると示されます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=socket-timeout,value=20)
停止コンテキストタイムアウト
コンテキストがクリーンにシャットアウトされるまでの、stopContextTimeoutUnit で指定された単位の時間 (配布可能なコンテキストに対する保留中の要求の完了、または配布可能でないコンテキストに対するアクティブなセッションの破棄/期限切れ)。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=stop-context-timeout,value=10)
最大試行回数
HTTPD プロキシが該当する要求を送信しようとする回数。最小値は、1 であり、試行回数は 1 回だけです。mod_proxy のデフォルト値も 1 であり、再試行は行われません。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=max-attempts,value=1)
パケットのフラッシュ
HTTPD サーバーへのパケットのフラッシュを有効にするかどうかを指定しますデフォルト値は false です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-packets,value=false)
待機のフラッシュ
HTTPD サーバーにパケットをフラッシュするまでの時間 (秒単位)。デフォルト値は -1 です。値が -1 の場合は、パケットをフラッシュするまで永遠に待機します。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-wait,value=-1)
Ping
ping に対するクラスターノードからの応答を待機する時間 (秒数単位)。デフォルト値は 10 秒です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=ping,value=10)
TTL
smax より上のアイドル状態の接続の残存時間 (秒数単位)。デフォルト値は 60
nodeTimeout が定義されていない場合は、ProxyTimeout ディレクティブの Proxy が使用されます。ProxyTimeout が定義されていない場合は、サーバータイムアウト Timeout が使用されます。このデフォルト値は 300 秒です。nodeTimeoutProxyTimeout、および Timeout はソケットレベルで設定されます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=ttl,value=-1)
ワーカータイムアウト
外部 HTTPD サーバーの利用可能なワーカープロセスが要求を処理するまで待機する時間 (秒数単位)。デフォルト値は -1 であり、Modcluster は HTTPD ワーカーが要求を処理するまで永遠に待機します。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=worker-timeout,value=-1)
mod_cluster ロードプロバイダー設定オプション

以下の mod_cluster 設定オプションは Web ベース管理コンソールで利用できませんが、コマンドライン管理 CLI を使用して設定できます。

動的なロードプロセッサーが存在しない場合は、単純なロードプロセッサーが使用されます。これは各クラスターメンバーに負荷係数 1 を提供し、負荷分散アルゴリズムをまったく考慮せずに負荷を均等に分散します。これを追加するには、次の CLI コマンド /profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/simple-load-provider:add を使用します。
動的なロードプロバイダーは、さまざまなアルゴリズムを組み合わせて使用し、次の要求を受け取るクラスターノードを決定するよう設定できます。デフォルトの動的なロードプロバイダーは決定係数として busyness を使用します。使用可能な係数のリストは以下のとおりです。個々の環境に合わせて独自のロードプロバイダーを作成できます。動的なロードプロバイダーの以下のオプションを変更できます。

表13.13 mod_cluster 動的ロードプロバイダーオプション

オプション 説明 CLI コマンド
低減
履歴関連のメトリクスの重要度を低くする係数。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=decay,value=2)
履歴
ロードを決定する際に考慮する、ロードメトリックの履歴記録数。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=history,value=9)
ロードメトリック
動的ロードプロバイダーに含まれる唯一のロードメトリックは busyness であり、負荷が最も低いワーカーに新しい要求を送信しようとします。ワーカーの容量 (1 は 100% の容量を意味します) と busyness メトリック全体に割り当てられる重みを設定できます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=capacity,value=1.0)
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=type,value=busyness)
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=weight,value=1)

ロードメトリックアルゴリズム

cpu
cpu ロードメトリックは、平均 CPU ロードを使用して次のワークロードを受け取るクラスターノードを決定します。
mem
mem ロードメトリックは空きネイティブ RAM をロード係数として使用します。このメトリックの使用は推奨されません。これは、バッファーとキャッシュを含む値が提供され、メモリー管理が優れたシステムで値が常に非常に小さくなるためです。
heap
ヒープロードメトリックは、ヒープ使用率を使用して次のワークロードを受け取るクラスターを決定します。
セッション
セッションロードメトリックは、アクティブセッションの数をメトリックとして使用します。
要求
要求ロードメトリックは、クライアント要求の数を使用して次のワークロードを受け取るクラスターノードを決定します。たとえば、容量 1000 の場合、 1000 要求数/秒は「フルロード」と見なされます。
send-traffic
send-traffic ロードメトリックは、ワーカーノードからクライアントに送信されるトラフィックの量を使用します。たとえば、デフォルト容量が 512 の場合は、平均送信トラフィックが 512 KB/秒以上のとき、ノードがフルロードであると見なされます。
receive-traffic
receive-traffic ロードメトリックは、クライアントからワーカーノードに送信されるトラフィックの量を使用します。たとえば、デフォルト容量が 1024 の場合は、平均受信トラフィックが 1024 KB/秒以上のとき、ノードがフルロードであると見なされます。
busyness
このメトリックは、要求の処理で負荷が大きいスレッドプールからのスレッドの量を表します。

例13.6 ロードバランサーメトリックの設定

/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="weight",value="3")