Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
17.6.2. mod_cluster サブシステムの設定
mod_cluster
サブシステムは、管理コンソールおよび管理 CLI を使用して設定できます。このトピックでは、管理コンソールに表示されるさまざまな設定オプションについて説明します。各オプションの管理 CLI コマンドの例が提供されます。
full- ha
プロファイルでのみ表示されます。管理対象ドメインの場合、これらのプロファイルは ha
および full-ha
で、スタンドアロンサーバーの場合は standalone-ha
および standalone-full-ha
になります。
管理コンソール
Configuration タブをクリックします。管理対象ドメインを設定する場合は、Profile ドロップダウンリストから正しいプロファイルを選択します。Subsystems メニューを展開し、Web メニューを展開し、mod_cluster を選択します。
表17.8 mod_cluster
アドバタイズの設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
負荷分散グループ (Load Balancing Group) |
null でない場合、要求はロードバランサーの特定の負荷分散グループに送信されます。ロードバランシンググループを使用しない場合は、空欄のままにします。これは、デフォルトでは未設定です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=load-balancing-group,value=myGroup) |
バランサー (Balancer) |
この属性は、Apache HTTP Server の mod_cluster により自動的に設定される mod_proxy バランサーを指定します。デフォルトは
none です。この場合、mycluster のデフォルトが使用されます(mod_proxy 用語で表される場合はbalancer://mycluster/ )。このデフォルト値は、ManagerBalancerName ディレクティブで Apache HTTP Server 側で設定されます。
JBoss EAP 6 のワーカーインスタンスで 2 つの異なる
balancer 属性値を使用する場合、Apache HTTP Server で mod_cluster によって自動的に作成される 2 つの異なる mod_proxy バランサーがあります。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=balancer,value=myBalancer) |
ソケットのアドバタイズ (Advertise Socket) |
クラスターのアドバタイズに使用するソケットバインディングの名前です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-socket,value=modcluster) |
セキュリティーキーのアドバタイズ (Advertise Security Key) |
アドバタイズのセキュリティーキーが含まれる文字列。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise-security-key,value=myKey) |
アドバタイズ (Advertise) |
アドバタイズを有効にするかどうか。デフォルトは
true です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=advertise,value=true) |
表17.9 mod_cluster
セッション設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
スティッキーセッション (Sticky Session) |
リクエストにスティッキーセッションを使用するかどうか。つまり、クライアントが特定のノードに接続すると、利用不可能でない限り、追加の通信が同じノードにルーティングされます。デフォルトは
true で、推奨される設定です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session,value=true) |
スティッキーセッションの強制 (Sticky Session Force) | true の場合、最初のノードが利用できなくなりますが、失敗すると、リクエストは新しいノードにリダイレクトされません。デフォルトは false です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-force,value=false) |
スティッキーセッションの削除 (Sticky Session Remove) |
フェイルオーバー時にセッション情報を削除します。デフォルトは
false です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=sticky-session-remove,value=false) |
表17.10 mod_cluster
Web コンテキスト設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
コンテキストの自動有効化 (Auto Enable Contexts) |
デフォルトで新しいコンテキストを
mod_cluster に追加するかどうか。デフォルトは true です。デフォルトを変更し、コンテキストを手動で有効にする必要がある場合、Web アプリケーションは enable() MBean メソッドを使用するか、mod_cluster マネージャーを使用してコンテキストを有効にできます。これは、httpd の設定に指定される名前付き仮想ホストまたはポートで httpd プロキシーで実行される Web アプリケーションです。
|
/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 です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=excluded-contexts,value="ROOT,invoker,jbossws,juddi,console") |
表17.11 mod_cluster
プロキシー設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
プロキシー URL |
定義された場合、この値は MCMP コマンドの URL の前に付加されます。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-url,value=myhost) |
プロキシリスト (Proxy List) | hostname:port 形式の httpd プロキシーアドレスのコンマ区切りリスト。これは、mod_cluster プロセスが最初の通信を試みるプロキシーのリストを示します。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=proxy-list,value="127.0.0.1,127.0.0.2") |
SSL 通信の設定 mod_cluster
デフォルトでは、mod_cluster
通信は暗号化されていない HTTP リンク上で行われます。コネクタースキームを HTTPS
に設定すると( 表17.9「mod_cluster
セッション設定オプション」を参照)、以下の設定は、接続を暗号化する情報を見つける場所を mod_cluster
に指示します。
表17.12 mod_cluster
SSL 設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
キーエイリアス (Key Alias) |
証明書が作成されたときに選択されたキーエイリアス。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=key-alias,value=jboss) |
パスワード |
このパスワードは、certificate-key-file(Key File)と ca-certificate-file(Cert File)の両方のキーストアパスワードで、Cert File 内の Key Alias で指定するキー/証明書エントリーの両方です。
注記
@CA-certificate-password はトラストストアのパスワードであり、指定がない場合は値は undefined のままになります。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=password,value=changeit) |
CA 証明書ファイル/トラストストア |
Web サーバー証明書の検証に使用されるトラストストア。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-certificate-file,value=${user.home}/jboss.crt) |
キーストア (Key Store) |
このインスタンスを識別する証明書および秘密鍵を保持するキーストア。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=certificate-key-file,value=${user.home}/.keystore) |
暗号スイート (Cipher Suite) |
許可された暗号スイート。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=cipher-suite,value=ALL) |
失効 URL (Revocation URL) |
証明局失効リストの URL。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=ca-revocation-url,value=jboss.crl) |
プロトコル |
有効 な SSL プロトコル。
また、プロトコルの組み合わせ(コンマ区切り)を指定することもできます。例: TLSv1、TLSv1.1、TLSv1.2
警告
Red Hat は、影響を受けるすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSL を明示的に無効にすることを推奨します。
|
/subsystem=modcluster/mod-cluster-config=configuration/ssl=configuration/:write-attribute(name=protocol,value="TLSv1, TLSv1.1,TLSv1.2") |
mod_cluster
ネットワーク設定
利用可能な mod_cluster
ネットワークオプションは、mod_cluster
サービスが通信するさまざまなタイプのサービスに対して、さまざまなタイムアウト動作を制御します。
表17.13 mod_cluster
ネットワーク設定オプション
オプション | 説明 | CLI コマンド |
---|---|---|
ノードタイムアウト (Node Timeout) |
ワーカーへのプロキシー接続のタイムアウト (秒単位)。mod_cluster はこの期間バックエンド応答を待ち、その経過後にエラーを返します。
node-timeout 属性が未定義の場合は、httpd ProxyTimeout ディレクティブが使用されます。ProxyTimeout が定義されていない場合は、httpd Timeout ディレクティブが使用されます。デフォルトは 300 秒です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=node-timeout,value=-1) |
ソケットタイムアウト (Socket Timeout) |
タイムアウトの前およびプロキシーをエラーのように警告する前に、httpd プロキシーから MCMP コマンドへの応答を待つ秒数。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=socket-timeout,value=20) |
停止コンテキストタイムアウト (Stop Context Timeout) |
コンテキストがクリーンにシャットアウトされるまでの、stopContextTimeoutUnit で指定された単位の時間 (配布可能なコンテキストに対する保留中の要求の完了、または配布可能でないコンテキストに対するアクティブなセッションの破棄/期限切れ)。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=stop-context-timeout,value=10) |
セッション排出ストラテジ (Session Draining Strategy) |
Web アプリケーションをアンデプロイする前にセッションを排出 (drain) するかどうか。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=session-draining-strategy,value=DEFAULT) |
最大試行回数 (Max Attempts) |
httpd プロキシーがノードに対して指定のリクエストの送信を試みる回数。この回数試行してから停止します。最小値は
1 で、1 回のみ試行します。mod_proxy のデフォルト値は 1 でもあるため、再試行は行われません。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=max-attempts,value=1) |
パケットのフラッシュ (Flush Packets) |
Web サーバーへのパケットのフラッシュを有効にするかどうか。デフォルトは
false です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-packets,value=false) |
フラッシュの待機 (Flush Wait) |
Web サーバーにパケットをフラッシュするまでの待機時間(秒単位)。デフォルトは
-1 です。- 1 を値として指定すると、パケットをフラッシュする前に永久に待機します。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=flush-wait,value=-1) |
Ping |
ワーカーからの ping への応答を待つ時間(秒単位)。デフォルトは
10 秒です。
|
/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 です。
|
/subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=ttl,value=-1) |
mod_cluster
Load Provider 設定オプション
以下の mod_cluster
設定オプションは管理コンソールでは使用できませんが、管理 CLI を使用してのみ設定できます。
1
を割り当て、負荷分散アルゴリズムを適用せずに作業を均等に分散します。これを追加するには、以下の管理 CLI コマンドを使用します。
[standalone@localhost:9990 /] /subsystem=modcluster/mod-cluster-config=configuration/:write-attribute(name=simple-load-provider, value=1)
動的ロードプロバイダーオプションと可能な負荷メトリックを以下に示します。
表17.14 mod_cluster
動的ロードプロバイダーオプション
オプション | 説明 | CLI コマンド |
---|---|---|
衰退 (Decay) |
履歴メトリックの重要性が衰退すべき要因。
|
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=decay,value=2) |
履歴 |
負荷を決定するときに考慮する、負荷メトリックの履歴記録数。
|
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/:write-attribute(name=history,value=9) |
負荷メトリック (Load Metric) |
JBoss EAP 6 の動的ロードプロバイダーに含まれるデフォルトの負荷メトリックはビジー状態であり、リクエストに対応するスレッドプールのスレッド数からワーカーの負荷を計算します。
実際の負荷を分割するこのメトリックの容量を設定できます(calculated_load / capacity)。動的ロードプロバイダー内に複数の負荷メトリクスを設定できます。
|
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=capacity,value=1.0) /subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=type,value=busyness) /subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=busyness/:write-attribute(name=weight,value=1) |
負荷メトリックアルゴリズム
- cpu
cpu
負荷メトリックは、CPU 負荷の平均を使用して次のワークロードを取得するノードを決定します。- mem
mem
負荷メトリックは、空きネイティブメモリーを負荷メトリックとして使用します。このメトリクスの使用は推奨されません。これはバッファーやキャッシュを含む値を提供するため、メモリー管理が良いすべてのシステムにおいて非常に低い値になります。- heap
ヒープ
負荷メトリックは、ヒープ使用率を使用して次のワークロードを取得するワーカーを決定します。- セッション
セッション
負荷メトリックは、アクティブなセッションの数をメトリックとして使用します。- requests
要求
負荷メトリックは、クライアント要求の数を使用して次のワークロードを受け取るワーカーを決定します。たとえば、容量 1000 は、1000 要求/秒がフルロードであると見なされます。- send-traffic
send-traffic
負荷メトリックは、ワーカーからクライアントに送信されるトラフィックの量を使用します。たとえば、デフォルトの容量が 512 の場合は、平均送信トラフィックが 512 KB/秒以上である場合に、ノードがフルロードであると見なされます。- receive-traffic
- receive-traffic 負荷メトリックは、クライアントからワーカーに送信されるトラフィックの量を使用します。たとえば、デフォルトの容量が 1024 の場合は、平均受信トラフィックが 1024 KB/秒以上である場合にワーカーがフルロードであると見なされます。
- busyness
- このメトリックは、要求の処理で負荷が大きいスレッドプールからのスレッドの量を表します。
例17.2 負荷メトリックの追加
/subsystem=modcluster/mod-cluster-config=configuration/:add-metric(type=sessions)
例17.3 既存メトリックの値設定
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="weight",value="3")
例17.4 既存メトリックの値変更
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu/:write-attribute(name="type",value="busyness")
例17.5 既存メトリックの削除
/subsystem=modcluster/mod-cluster-config=configuration/:remove-metric(type=sessions)