16.5.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 (スタンドアロンサーバー) のいずれかです。

表16.4 mod_cluster 設定オプション

オプション 説明 CLI コマンド
負荷分散グループ (Load Balancing Group)
これが null でない場合、要求はロードバランサーの特定の負荷分散グループに送信されます。負荷分散グループを使用しない場合は、これを空白のままにしてください。これはデフォルトでは設定されません。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=load-balancing-group,value=myGroup)
バランサー (Balancer)
バランサーの名前。これは、HTTPD プロキシの設定に一致する必要があります。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=balancer,value=myBalancer)
ソケットのアドバタイズ (Advertise Socket)
クラスターのアドバタイズに使用するソケットバインディングの名前です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-socket,value=modcluster)
セキュリティーキーのアドバタイズ (Advertise Security Key)
アドバタイズのセキュリティーキーが含まれる文字列。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-security-key,value=myKey)
グループアドレスのアドバタイズ (Advertise Group Address)
httpd プロキシマルチキャストアドバタイズメントをリッスンする UDP アドレス。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-group-address,value=224.0.1.105)
ポートのアドバタイズ (Advertise Port)
httpd プロキシマルチキャストアドバタイズメントをリッスンする UDP ポート。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-port,value=23364)
スレッドファクトリーのアドバタイズ (Advertise Thread Factory)
バックグラウンドのアドバタイズメントリスナーを作成するために使用されるスレッドファクトリ。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-thread-factory,value=Executors.defaultThreadFactory())
アドバタイズ (Advertise)
アドバタイズが有効かどうかを指定します。デフォルト値は true です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise,value=true)
JVM ルートファクトリ (JVM Route Factory)
server.xml に何も指定されていない場合に、ノードの jvm ルートを判断するストラテジを決定するファクトリ。デフォルトのファクトリは最初に jboss.mod_cluster.jvmRoute プロパティーを確認します。このシステムプロパティーが定義されていない場合、jvm ルートが UUID に割り当てされます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=jvm-route-factory,value=new SystemPropertyJvmRouteFactory(new UUIDJvmRouteFactory(), "jboss.mod_cluster.jvmRoute"))

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

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

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

オプション 説明 CLI コマンド
コンテキストの自動有効化 (Auto Enable Contexts)
デフォルトで 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)
除外されたコンテキスト (Excluded Contexts)
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")

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

オプション 説明 CLI コマンド
プロキシ URL (Proxy URL)
定義された場合、この値は MCMP コマンドの URL の前に付加されます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-url,value=myhost)
プロキシリスト (Proxy List)
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 (表16.5「mod_cluster セッション設定オプション」 を参照) に設定する場合、以下の設定では、mod_cluster に、接続を暗号化する情報を見つける場所が通知されます。

表16.8 mod_cluster SSL 設定オプション

オプション 説明 CLI コマンド
ssl
SSL を有効にするかどうか。デフォルトは false です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ssl,value=true)
キーエイリアス (Key Alias)
証明書が作成されたときに選択されたキーエイリアス。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-alias,value=jboss)
キーストア (Key Store)
クライアント証明書が含まれるキーストアの場所。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store,value=System.getProperty("user.home") + "/.keystore")
キーストアタイプ (Key Store Type)
キーストアのタイプ
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store-type,value=JKS)
キーストアプロバイダー (Key Store Provider)
キーストアのプロバイダー
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-store-provider,value=IBMJCE)
パスワード (Password)
証明書が作成された時に選択されたパスワード。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=password,value=changeit)
トラストアルゴリズム (Trust Algorithm)
トラストマネージャーファクトリのアルゴリズム。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=trust-algorithm,value=PKIX)
証明書ファイル (Cert File)
証明書ファイルの場所。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-certificate-file,value=${user.home}/jboss.crt)
CRL ファイル (CRL File)
証明書失効リスト (CRL) ファイル。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-crl-file,value=${user.home}/jboss.crl)
証明書の最大長 (Max Certificate Length)
トラストストアの保持される証明書の最大長。デフォルトは 5 です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=trust-max-cert-length,value=5)
キーファイル (Key File)
証明書のキーファイルの場所。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=certificate-key-file,value=${user.home}/.keystore)
暗号スイート (Cipher Suite)
許可された暗号スイート。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=cipher-suite,value=ALL)
証明書エンコーディングアルゴリズム (Certificate Encoding Algorithms)
キーマネージャーファクトリのアルゴリズム。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=encoding-algorithms,value=ALL)
失効 URL (Revocation URL)
証明局失効リストの URL。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-revocation-url,value=jboss.crl)
プロトコル (Protocol)
有効 な SSL プロトコル。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=protocol,value=SSLv3)
mod_cluster ネットワーキングオプションの設定

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

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

オプション 説明 CLI コマンド
ノードタイムアウト (Node Timeout)
ノードに対するプロキシ接続のタイムアウト (秒単位)。これは、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)
ソケットタイムアウト (Socket Timeout)
MCMP コマンドに対する httpd プロキシからの応答を待機する時間 (ミリ秒単位)。この時間が経過すると、タイムアウトになり、プロキシでエラーが発生していると示されます。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=socket-timeout,value=20)
停止コンテキストタイムアウト (Stop Context Timeout)
コンテキストがクリーンにシャットアウトされるまでの、stopContextTimeoutUnit で指定された単位の時間 (配布可能なコンテキストに対する保留中の要求の完了、または配布可能でないコンテキストに対するアクティブなセッションの破棄/期限切れ)。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=stop-context-timeout,value=10)
セッション排出ストラテジ (Session Draining Strategy)
Web アプリケーションをアンデプロイする前にセッションを排出 (drain) するかどうか。
DEFAULT
Web アプリケーションが配布不可能な場合のみ、Web アプリケーションをアンデプロイする前にセッションを排出 (drain) します。
ALWAYS
Web アプリケーションをアンデプロイする前に常にセッションを排出 (drain) します (配布可能な Web アプリケーションを含む)。
NEVER
Web アプリケーションをアンデプロイする前にセッションを排出 (drain) しません (配布不可能な Web アプリケーションを含む)。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=session-draining-strategy,value=DEFAULT)
最大試行回数 (Max Attempts)
HTTPD プロキシが該当する要求を送信しようとする回数。最小値は、1 であり、試行回数は 1 回だけです。mod_proxy のデフォルト値も 1 であり、再試行は行われません。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=max-attempts,value=1)
パケットのフラッシュ (Flush Packets)
HTTPD サーバーへのパケットのフラッシュを有効にするかどうかを指定します。デフォルト値は false です。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-packets,value=false)
フラッシュの待機 (Flush Wait)
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)
SMAX
ソフトリミットのアイドル接続最大数 (ワーカー mod_proxy ドキュメントの smax と同じ)。httpd スレッド設定により最大値が異なり、ThreadsPerChild または 1 になります。
profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=smax,value=ThreadsPerChild)
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)
ノードタイムアウト (Node Timeout)
外部 HTTPD サーバーの利用可能なワーカープロセスが要求を処理するまで待機する時間 (秒数単位)。デフォルト値は -1 で、mod_cluster は HTTPD ワーカーが要求を処理するまで永遠に待機します。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=node-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 を使用します。使用可能な要因のリストは以下のとおりです。個々の環境に合わせて独自のロードプロバイダーを作成できます。動的なロードプロバイダーの以下のオプションを変更できます。CLI を介して追加すると、これらの要因 (メトリック) を複数指定できます。
:add-metric(type=cpu)

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

オプション 説明 CLI コマンド
衰退 (Decay)
履歴メトリックの重要性が衰退すべき要因。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=decay,value=2)
履歴 (History)
ロードを決定する際に考慮する、ロードメトリックの履歴記録数。
/profile=full-ha/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=history,value=9)
ロードメトリック (Load Metric)
JBoss Enterprise Application Platform 6 の動的ロードプロバイダーに含まれる唯一のロードメトリックは 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
ヒープロードメトリックは、ヒープ使用率を使用して次のワークロードを受け取るクラスターを決定します。
sessions
セッションロードメトリックは、アクティブセッションの数をメトリックとして使用します。
requests
要求ロードメトリックは、クライアント要求の数を使用して次のワークロードを受け取るクラスターノードを決定します。たとえば、容量 1000 の場合、 1000 要求数/秒は「フルロード」と見なされます。
send-traffic
send-traffic ロードメトリックは、ワーカーノードからクライアントに送信されるトラフィックの量を使用します。たとえば、デフォルト容量が 512 の場合は、平均送信トラフィックが 512 KB/秒以上のとき、ノードがフルロードであると見なされます。
receive-traffic
receive-traffic ロードメトリックは、クライアントからワーカーノードに送信されるトラフィックの量を使用します。たとえば、デフォルト容量が 1024 の場合は、平均受信トラフィックが 1024 KB/秒以上のとき、ノードがフルロードであると見なされます。
busyness
このメトリックは、要求の処理で負荷が大きいスレッドプールからのスレッドの量を表します。

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

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