Hitachi

 Hitachi Application Server V10 ユーザーズガイドWindows®用)


9.10 システムをスケールアウトする

業務処理量の増加が判明した場合や、将来予測される業務処理量に備える場合などに、増設したマシン(新設サーバ)にApplication Serverを構築して、システムをスケールアウトします。システムをスケールアウトするには、新設サーバにApplication Serverをインストールし、新設サーバのローカルホストから既存サーバのリモートホストへ接続するための設定をしたあと、Application Serverのセットアップを実施します。

前提条件

想定ユーザー

操作手順

  1. 新設サーバにApplication Serverをインストールします。

  2. Windows環境のリモートホストおよび新設サーバに対応するローカルホストのそれぞれに対して、DCOMを有効にする設定をします。

    1. スタートメニューの[ファイル名を指定して実行]dcomcnfg.exeと入力して、[OK]ボタンをクリックします。

    2. [コンポーネントサービス]画面で[コンポーネントサービス][コンピューター]をクリックして、ツリーを展開します。

    3. [マイコンピューター]を右クリックして、[プロパティ]を選択します。

    4. [マイコンピューターのプロパティ]画面の[既定のプロパティ]タブで、[このコンピュータ上で分散COMを有効にする]をチェックします。

    5. リモートホストの場合は、[COMセキュリティ]タブで[アクセス許可][制限の編集]ボタンをクリックして、リモートホストに接続するユーザー、またはユーザーが属するグループについて、[リモートアクセス][許可]をチェックします。

    6. リモートホストの場合は、[COMセキュリティ]タブで[起動とアクティブ化のアクセス許可][制限の編集]ボタンをクリックして、リモートホストに接続するユーザー、またはユーザーが属するグループについて、[リモートからの起動][リモートからのアクティブ化][許可]をチェックします。

    7. [OK]ボタンをクリックして、マシンを再起動します。なお、すでにDCOMが有効だった場合、再起動は不要です。

  3. リモートホストで、WindowsのサービスのWindows Management Instrumentation、およびRemote Registryを自動起動するように設定します。また、それぞれのサービスが起動していない場合は起動します。

  4. リモートホストでnet shareコマンドを実行して、管理共有が有効になっていることを確認します。

    net share

    コマンドの実行結果を次に示します。次のように共有名に 「ドライブ名$」 の行が表示されていれば、管理共有は有効になっています。

    共有名       リソース                            注釈
    -------------------------------------------------------------------------------
     :
    C$           C:\                             Default share
    D$           D:\                             Default share
     :
    

    リモートホストの管理共有が無効になっている場合は、次のレジストリーキーの値を変更します。レジストリーキーの値の変更後は、マシンを再起動します。

    Windows 7、Windows 8、Windows 8.1の場合
    キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters
    値:AutoShareWks=0 (無効)
    値:AutoShareWks=1 (有効)
    Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2の場合
    キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters
    値:AutoShareServer=0  (無効)
    値:AutoShareServer=1  (有効)
  5. リモートホストで、次のポートを開放してファイアウォールの設定をします。

    • DCOM のポート(135または139)

    • Windows Shares のポート(445)

    • 動的ポート

    1. コントロールパネルから[Windowsファイアウォール]を起動して、[詳細設定]を選択します。

    2. [セキュリティが強化されたWindowsファイアウォール]画面で、[受信の規則][新しい規則...]を選択します。

    3. [新規の受信の規則ウィザード]画面の[規則の種類]で、[ポート]を選択します。また、[プロトコルおよびポート]で、[TCP]を選択し、[特定のローカルポート]に開放するポート番号を入力します。

      開放するポートの範囲を指定する場合は、ハイフンをつけて

      5000-5010

      のように入力します。

    4. [操作]で、[接続を許可する]を選択します。

    5. [プロファイル]で、 環境に応じて、適用するプロファイルを[ドメイン][プライベート][パブリック]の中から選択します。

    6. [名前]で、任意の名前を入力して、[完了]ボタンをクリックします。

    なお、動的ポートを確認する場合は、次のコマンドを実行します。

    IPv4の場合:netsh int ipv4 show dynamicport tcp

    IPv6の場合:netsh int ipv6 show dynamicport tcp

  6. リモートホストで、asadminユーティリティーコマンドのsetup-local-dcomサブコマンドを実行して、DCOMを有効にします。

    asadmin setup-local-dcom
    重要

    setup-local-dcomサブコマンドはWindowsのレジストリー情報を更新するため、コマンド実行前にレジストリーのバックアップを取得しておくことを推奨します。

    コマンドの実行結果を次に示します。

    Command setup-local-dcom executed successfully.
  7. Windows 8、Windows 8.1、Windows Server 2012、またはWindows Server 2012 R2の場合は、リモートホストでWindowsのサービスのRemote Registryを再起動します。

  8. リモートホストで、ドメイン管理サーバ(ローカルホスト)のホスト名を解決できるようにhostsファイルを編集します。

  9. ローカルホストで、asadminユーティリティーコマンドのcreate-password-aliasサブコマンドを実行して、DCOM 接続するためのパスワードに対するエイリアスを設定します。

    asadmin create-password-alias パスワードエイリアス名

    パスワードが求められた場合は、リモートホストのパスワードを入力してください。

    コマンドの実行結果を次に示します。

    Command create-password-alias executed successfully.
  10. ドメイン管理サーバを再起動します。

    asadmin restart-domain

    コマンドの実行結果を次に示します。

    Command restart-domain executed successfully.
  11. ローカルホストで、接続するノード上にあるホストのWindowsパスワードを記述したパスワードファイルを作成します。

    AS_ADMIN_WINDOWSPASSWORD=${ALIAS=パスワードエイリアス名}
  12. ローカルホストで、asadminユーティリティーコマンドのvalidate-dcomサブコマンドを実行して、DCOM経由でリモートホストに接続できるかどうかを確認します。

    asadmin --user ドメイン管理サーバのユーザー名 --passwordfile パスワードファイルのパス 
    validate-dcom --windowsuser リモートホストのユーザー名 リモートホスト名

    ドメイン管理サーバのユーザー名のデフォルト値は、adminです。

    コマンドの実行結果を次に示します。

    Command validate-dcom executed successfully.
  13. 新設サーバにApplication Serverをセットアップするため、asadminユーティリティーコマンドのcreate-node-dcomサブコマンドを実行して、リモートホストに対するノードを追加します。

    asadmin --user ドメイン管理サーバのユーザー名 
    --passwordfile パスワードファイルのパス 
    create-node-dcom --windowsuser リモートホストのユーザー名 
    --installdir Application Serverのインストールディレクトリー/javaeeの絶対パス 
    --nodehost リモートホストのホスト名 
    --nodedir Application Serverのノードディレクトリーのパス リモートホストのノード名
    

    リモートホストのノード名には、リモートホストに構築するノード名(ノードを識別するための任意の名称)を指定します。

    コマンドの実行結果を次に示します。

    Command create-node-dcom executed successfully.
  14. 新設サーバにApplication Serverをセットアップするため、asadminユーティリティーコマンドのcreate-prfサブコマンドを実行して、パフォーマンストレーサーを構築します。

    asadmin create-prf --node リモートホストのノード名 パフォーマンストレーサー名

    コマンドの実行結果を次に示します。

    Command create-prf executed successfully.
  15. 新設サーバにApplication Serverをセットアップするため、asadminユーティリティーコマンドのcreate-instanceサブコマンドを実行して、Java EEサーバ(サーバインスタンス)を構築します。

    asadmin create-instance --node リモートホストのノード名 
    --prf パフォーマンストレーサー名 
    --cluster クラスター名 サーバインスタンス名

    クラスター名には、構築済みのクラスター名を指定します。

    コマンドの実行結果を次に示します。

    Command create-instance executed successfully.
  16. ハードウェアロードバランサーを使用している場合は、asadminユーティリティーコマンドのcreate-webserverサブコマンドを実行して、新設サーバにWebサーバを構築します。

    ソフトウェアロードバランサーを使用している場合は、

    手順20

    の操作に進んでください。

    asadmin create-webserver --node リモートホストのノード名 Webサーバ名

    コマンドの実行結果を次に示します。

    Command create-webserver executed successfully.
  17. ハードウェアロードバランサーを使用している場合は、asadminユーティリティーコマンドのcreate-relationサブコマンドを実行して、新設サーバにサーバ間関連を設定します。

    asadmin create-relation --relationtype redirect 
    --from Webサーバ名 
    --to サーバインスタンス名 
    --properties サーバ間関連のプロパティー名=サーバ間関連のプロパティーの値 サーバ間関連の関連名

    リダイレクト関連の関連づけを設定する場合、静的コンテンツをWebサーバで処理し、静的コンテンツ以外のリクエストをJava EEサーバで処理するために、--propertiesオプションにpath、およびnetwork-listenerを指定します。

    (例)

    path=/apserver/:network-listener=http-listener-1

    pathには、スラッシュ(/)から始まるURLのパスを指定します。スラッシュだけの指定(path=/)はしないでください。この例では、http://xxxxxxxxxxx/index.htmlのようにURLのパスの先頭にapserverを含まないリクエストは、Webサーバの静的コンテンツにアクセスされます。また、http://xxxxxxxxxxx/apserver/sample/index.jspのようにURLのパスの先頭にapserverを含むリクエストは、http://yyyyyyyyyyy/sample/index.jspというURLでJava EEサーバにリダイレクトされます。

    network-listenerには、リダイレクト先のJava EEサーバのHTTPリスナー、またはHTTPSリスナーを示すネットワークリスナー名を指定します。Java EEサーバには、デフォルトでHTTPリスナーにhttp-listener-1、HTTPSリスナーにhttp-listener-2というネットワークリスナーが定義されています。

    コマンドの実行結果を次に示します。

    Command create-relation executed successfully.
  18. ハードウェアロードバランサーを使用している場合で、かつ、性能を考慮して静的コンテンツをWebサーバに配置する場合は、Webサーバのドキュメントルートディレクトリーに静的コンテンツを格納します。

    Webサーバのドキュメントルートディレクトリーは、

    Application Serverインストールディレクトリー/javaee/glassfish/nodes/ノード名/Webサーバ名/root/htdocs

    です。

  19. ハードウェアロードバランサーを使用している場合は、ハードウェアロードバランサーに対してリクエストの振り分けを設定します。

    リクエストを振り分ける設定については、使用しているハードウェアロードバランサーのマニュアルを参照してください。

  20. ソフトウェアロードバランサーを使用している場合は、asadminユーティリティーコマンドのcreate-relationサブコマンドを実行して、新設サーバにサーバ間関連を設定します。

    asadmin create-relation --relationtype redirect 
    --from Webサーバ名 
    --to クラスター名 
    --properties サーバ間関連のプロパティー名=サーバ間関連のプロパティーの値 サーバ間関連の関連名

    リダイレクト関連の関連づけを設定する場合、静的コンテンツをWebサーバで処理し、静的コンテンツ以外のリクエストをJava EEサーバで処理するために、--propertiesオプションにpath、およびnetwork-listenerを指定します。

    (例)

    path=/apserver/:network-listener=http-listener-1

    pathには、スラッシュ(/)から始まるURLのパスを指定します。スラッシュだけの指定(path=/)はしないでください。この例では、http://xxxxxxxxxxx/index.htmlのようにURLのパスの先頭にapserverを含まないリクエストは、Webサーバの静的コンテンツにアクセスされます。また、http://xxxxxxxxxxx/apserver/sample/index.jspのようにURLのパスの先頭にapserverを含むリクエストは、http://yyyyyyyyyyy/sample/index.jspというURLでJava EEサーバにリダイレクトされます。

    network-listenerには、リダイレクト先のJava EEサーバのHTTPリスナー、またはHTTPSリスナーを示すネットワークリスナー名を指定します。Java EEサーバには、デフォルトでHTTPリスナーにhttp-listener-1、HTTPSリスナーにhttp-listener-2というネットワークリスナーが定義されています。

    コマンドの実行結果を次に示します。

    Command create-relation executed successfully.