13.3.5. mod_cluster ワーカーノードの設定

mod_cluster ワーカーノードの設定

mod_cluster ワーカーノードは、Enterprise Application Platform サーバーから構成されます。このサーバーは、監理対象ドメインまたはスタンドアロンサーバーのサーバーグループの一部になることができます。JBoss Enterprise Application Platform 内では、クラスターのすべてのノードを管理する別のプロセスが実行されます。これはマスターと呼ばれます。ワーカーノードの概念的な情報については、「ワーカーノード」を参照してください。HTTPD 負荷分散の概要については、「HTTP コネクターの概要 」を参照してください。

マスターは、mod_cluster サブシステムを介して 1 度だけ設定されます。mod_cluster サブシステムを設定するには、mod_cluster サブシステムの設定」を参照してください。各ワーカーノードは別々に設定されるため、クラスターを追加する各ノードに対してこの手順を繰り返してください。
管理対象ドメインを使用する場合、サーバーグループ内の各サーバーは同一の設定を共有するワーカーノードです。したがって、設定はサーバーグループ全体に対して行われます。スタンドアロンサーバーでは、設定は、単一の JBoss Enterprise Application Platform インスタンスに対して行われます。設定手順はそれ以外は同じです。

ワーカーノード設定

  • スタンドアロンサーバーを使用する場合は、スタンドアロンサーバーを standalone-ha プロファイルで起動する必要があります。
  • 管理対象ドメインを使用する場合、サーバーグループは ha または full-ha プロファイルとha-sockets または full-ha-sockets ソケットバインディンググループを使用する必要があります。JBoss Enterprise Application Platform には、これらの要件を満たす other-server-group という名前のクラスター対応サーバーグループが同梱されます。

注記

管理 CLI コマンドが提供された場合は、管理対象ドメインを使用すると見なされます。スタンドアロンサーバーを使用する場合は、コマンドの /profile=full-ha 部分を削除します。

手順13.9 ワーカーノードの設定

  1. ネットワークインターフェースの設定

    デフォルトでは、ネットワークインターフェースがすべて 127.0.0.1 に設定されます。スタンドアロンサーバーまたはサーバーグループ内の 1 つまたは複数のサーバーをホストする各物理ホストでは、インターフェースが他のサーバーが見つけることができるパブリック IP アドレスを使用するよう設定する必要があります。
    JBoss Enterprise Application Platform ホストの IP アドレスを変更するには、ホストをシャットダウンし、設定ファイルを直接編集する必要があります。これは、管理コンソールと管理 CLI を駆動する管理 API は固定管理アドレスに依存するためです。
    クラスター内の各サーバーの IP アドレスをマスターのパブリック IP アドレスに変更するには、次の手順を実行します。
    1. サーバーを完全にシャットダウンします。
    2. EAP_HOME/domain/configuration/ 内にある管理対象ドメイン用の host.xml または EAP_HOME/standalone/configuration/ 内にあるスタンドアロンサーバー用の standalone-ha.xml を編集します。
    3. <interfaces> 要素を見つけます。managementpublic、および unsecured の 3 つのインターフェースが設定されます。これらそれぞれに対して、値 127.0.0.1 をホストの外部 IP アドレスに変更します。
    4. 管理対象ドメインに参加し、マスターでないホストの場合は、<host 要素を見つけます。この要素には > 閉じ記号がないことに注意してください。これはこの要素が属性を含むためです。名前属性の値を master から一意の名前 (スレーブごとに異なる名前) 変更します。この名前は、スレーブがクラスター対して身元を示すためにも使用されるため、注意してください。
    5. 管理対象ドメインを参加する必要がある新しく設定されたホストの場合は、<domain-controller> 要素を見つけます。<local /> 要素をコメントアウトまたは削除し、次の行を追加して、IP アドレス (X.X.X.X) をドメインコントローラーのアドレスに変更します。この手順は、スタンドアロンサーバーには適用されません。
      <remote host="X.X.X.X" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
      
    6. ファイルを保存し、終了します。
  2. 各スレーブサーバーの認証を設定します。

    各スレーブサーバーでは、ドメインコントローラーまたはスタンドアロンマスターの ManagementRealm で作成されたユーザー名とパスワードが必要です。ドメインコントローラーまたはスタンドアロンマスターで、EAP_HOME/add-user.sh コマンドを実行します。同じユーザー名を持つユーザーをスレーブとして ManagementRealm に追加します。このユーザーが外部 JBoss AS インスタンスに対して認証する必要があるかどうか尋ねられた場合は、yes と回答します。パスワード changeme を使用した、slave1 という名前のスレーブに対するコマンドの入力および出力の例は以下のとおりです。
    user:bin user$ ./add-user.sh
    
    What type of user do you wish to add? 
     a) Management User (mgmt-users.properties) 
     b) Application User (application-users.properties)
    (a): a
    
    Enter the details of the new user to add.
    Realm (ManagementRealm) : 
    Username : slave1
    Password : changeme
    Re-enter Password : changeme
    About to add user 'slave1' for realm 'ManagementRealm'
    Is this correct yes/no? yes
    Added user 'slave1' to file '/home/user/jboss-eap-6.0/standalone/configuration/mgmt-users.properties'
    Added user 'slave1' to file '/home/user/jboss-eap-6.0/domain/configuration/mgmt-users.properties'
    Is this new user going to be used for one AS process to connect to another AS process e.g. slave domain controller?
    yes/no? yes
    To represent the user add the following to the server-identities definition <secret value="Y2hhbmdlbWU=" />
    
  3. add-user.sh 出力からの <secret> 要素をコピーします。

    add-user.sh 出力の最後の行から値をコピーします。この値は、次の手順でスレーブの設定ファイルに追加する必要があります。
  4. 新しい認証を使用するようスレーブホストのセキュリティーレルムを変更します。

    スレーブホストの host.xml または standalone-ha.xml ファイルを再び開き、<security-realms> 要素を見つけます。XML コードの次のブロックを <security-realm name="ManagementRealm"> 行のすぐ下に追加し、<secret value="Y2hhbmdlbWU="/> 行を前の手順のものに置き換えます。
           <server-identities>
               <secret value="Y2hhbmdlbWU="/>
           </server-identities>
    				
    
    
    ファイルを保存し、終了します。
  5. サーバーを再起動します。

    スレーブが、ホスト名をユーザー名として使用し、暗号化された文字列をパスワードとして使用してマスターに対して認証されます。
結果

スタンドアロンサーバーまたは監理対象ドメインのサーバーグループ内のサーバーが mod_cluster ワーカーノードとして設定されます。クラスター化されたアプリケーションをデプロイする場合、セッションはフェイルオーバーのためにすべてのクラスターサーバーに複製され、外部の HTTPD サーバーまたはロードバランサーから要求を受け入れることができます。クラスターの各ノードは、デフォルトで自動検出を使用して他のノードを検出します。自動検出と mod_cluster サブシステムの他の固有設定値を設定するには、mod_cluster サブシステムの設定」を参照してください。Apache HTTPD サーバーを設定するには、「外部 HTTPD を JBoss Enterprise Application Platform アプリケーションの Web フロントエンドとして使用」を参照してください。