ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

4.7.4 複数のIJServerクラスタに同一アプリケーションを配備する方法

1つのWebサーバに対して複数のIJServerクラスタが連携している場合、複数のIJServerクラスタに同じコンテキストルートのWebアプリケーションを配備することはできません。以下のいずれかの方法を実行することにより、同じコンテキストルートのWebアプリケーションを複数のIJServerクラスタに配備することができます。

複数IJServerクラスタ間で負荷分散を行う場合

wscadminコマンドで設定します。

複数IJServerクラスタ間で異なるURLを使用する場合

バーチャルホストを設定します。

wscadminコマンドで設定

wscadmin add-instance-refサブコマンド実行時に、--targetオプションに指定する値を複数のIJServerクラスタで同じにすることにより、複数のIJServerクラスタで負荷分散を行うことができます。

注意

wscadminコマンドは、通常IJServerクラスタとWebサーバが異なるマシンにある場合に使用するコマンドです。そのため、WebサーバとIJServerクラスタが同一マシンにある場合は、同一アプリケーションの負荷分散を行う用途以外では使用しないでください。

  1. IJServerクラスタ、サーバーインスタンスの作成
    IJServerクラスタやサーバーインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、IJServerクラスタおよびサーバーインスタンスを作成します。この際、負荷分散の対象数に応じてIJServerクラスタを複数作成します。

  2. WebサーバとIJServerクラスタの連携を解除
    asadmin delete-web-server-refサブコマンドで、すべてのIJServerクラスタとWebサーバの連携を解除します。IJServerクラスタと連携しているWebサーバは、asadminコマンドのlist-web-server-refsサブコマンドで確認できます。

  3. IJServerクラスタへのアプリケーションの配備
    asadminコマンドのdeployサブコマンドで、各IJServerクラスタにアプリケーションを配備します。その際、以下となるようにしてください。

    • 「アプリケーション名」が重複しないように、各IJServerクラスタで名前を変更する。

    • 「コンテキストルート」は、すべてのIJServerクラスタで同じ値にする。

    IJServerクラスタIJServer001、IJServer002にWebアプリケーションSampleAppr.warを配備する場合

    C:\Interstage\F3FMisje7\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target IJServer001 SampleAppr.war
    C:\Interstage\F3FMisje7\glassfish\bin\asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target IJServer002 SampleAppr.war

    /opt/FJSVisje7/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target IJServer001 SampleAppr.war
    /opt/FJSVisje7/glassfish/bin/asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target IJServer002 SampleAppr.war

  4. wscadminコマンドでWebサーバとIJServerクラスタを連携
    Webサーバの存在するマシンでwscadminコマンドのadd-instance-refサブコマンドを使用し、WebサーバとIJServerクラスタを連携させます。このとき、オプションやオペランドには以下を指定するようにしてください。

    項目

    設定内容

    --target

    負荷分散対象を識別する任意の名前

    --webserver

    設定対象のWebサーバ名

    オペランド

    サーバーインスタンスのHTTPリスナーのネットワークアドレスとポート番号を(IPアドレス):(ポート番号)の形式で指定

    WebサーバとIJServerクラスタを同じマシンで運用する場合は、IPアドレスに127.0.0.1を指定

    連携させるWebサーバ名FJapache、IJServerクラスタ(IJServer001)のサーバーインスタンスのリスナーポートが28495、IJServerクラスタ(IJServer002)のサーバーインスタンスのリスナーポートが28496、IPアドレスが127.0.0.1の場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-instance-ref --webserver FJapache --target IJServer001_002 127.0.0.1:28495
    C:\Interstage\F3FMwsc\bin\wscadmin add-instance-ref --webserver FJapache --target IJServer001_002 127.0.0.1:28496

    /opt/FJSVwsc/bin/wscadmin add-instance-ref --webserver FJapache --target IJServer001_002 127.0.0.1:28495
    /opt/FJSVwsc/bin/wscadmin add-instance-ref --webserver FJapache --target IJServer001_002 127.0.0.1:28496

    add-instance-refサブコマンドで指定するサーバーインスタンスのリスナーポートは、以下を実行することにより確認できます。

    asadminコマンドのlist-instancesサブコマンドを使用し、サーバーインスタンスの一覧を取得します。

    IJServerクラスタがIJServer001の場合

    C:\Interstage\F3FMisje7\glassfish\bin\asadmin list-instances IJServer001

    IJServer001-1 not running

    Command list-instances executed successfully.

    /opt/FJSVisje7/glassfish/bin/asadmin list-instances IJServer001

    IJServer001-1 not running

    Command list-instances executed successfully.

    各サーバーインスタンスに対して、asadminコマンドのgetサブコマンドでHTTP_LISTENER_PORTシステムプロパティのvalueを確認します。

    サーバーインスタンスIJServer001-1のHTTP_LISTENER_PORTを確認する場合

    C:\Interstage\F3FMisje7\glassfish\bin\asadmin get IJServer001-1.system-property.HTTP_LISTENER_PORT

    IJServer001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT

    IJServer001-1.system-property.HTTP_LISTENER_PORT.value=28495

    Command get executed successfully.

    /opt/FJSVisje7/glassfish/bin/asadmin get IJServer001-1.system-property.HTTP_LISTENER_PORT

    IJServer001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT

    IJServer001-1.system-property.HTTP_LISTENER_PORT.value=28495

    Command get executed successfully.

  5. wscadminコマンドでWebアプリケーションを振り分け対象にする
    Webサーバの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションを、Webサーバコネクタの振り分け対象に設定します。

    連携させるWebサーバ名がFJapache、wscadmin add-instance-ref--targetで指定した値がIJServer001_002、WebアプリケーションのコンテキストルートがSampleApprの場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target IJServer001_002 SampleAppr

    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target IJServer001_002 SampleAppr

  6. Webコンテナへアクセスする運用形態の設定
    asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。

  7. IJServerクラスタの起動
    asadminコマンドのstart-clusterサブコマンドで、各IJServerクラスタを起動します。

バーチャルホストを設定

Webサーバにバーチャルホストを設定し、IJServerクラスタが使用するバーチャルホストを設定することにより、バーチャルホスト単位にWebアプリケーションの振り分け先IJServerクラスタを設定することができます。バーチャルホストについては、「Interstage HTTP Server 2.2運用ガイド」-「機能」-「バーチャルホスト」を参照してください。

  1. バーチャルホストを設定
    バーチャルホストを設定します。設定方法は、「Interstage HTTP Server 2.2運用ガイド」-「環境設定」-「バーチャルホストの設定」を参照してください。

  2. IJServerクラスタ、サーバーインスタンスの作成
    IJServerクラスタやサーバーインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、IJServerクラスタおよびサーバーインスタンスを作成します。

  3. WebサーバとIJServerクラスタを連携
    WebサーバとIJServerクラスタを同じマシンで運用する場合は、asadmin create-web-server-refサブコマンドで設定します。
    WebサーバとIJServerクラスタを別のマシンで運用する場合は、Webサーバの存在するマシンでwscadmin add-instance-refサブコマンドで設定します。また、IJServerクラスタの存在するマシンにもWebサーバが存在する場合、asadmin delete-web-server-refサブコマンドでIJServerクラスタの存在するマシンのWebサーバとIJServerクラスタの連携を解除します。

  4. IJServerクラスタにバーチャルホストを設定
    IJServerクラスタにバーチャルホストを設定します。
    WebサーバとIJServerクラスタを同じマシンで運用する場合は、asadmin create-virtual-host-refサブコマンドで設定します。
    WebサーバとIJServerクラスタを別のマシンで運用する場合は、Webサーバの存在するマシンでwscadmin add-virtual-host-refサブコマンドで設定します。
    バーチャルホストを設定したWebサーバと連携させる場合も、asadmin create-virtual-host-refまたはwscadmin add-virtual-host-refを実行する必要があります。

    Webサーバ(FJapache)とIJServerクラスタを同じマシンで運用し、IJServerクラスタ(IJServer001)と連携するバーチャルホストが192.0.2.1/myhost、IJServerクラスタ(IJServer002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合

    C:\Interstage\F3FMisje7\glassfish\bin\asadmin create-virtual-host-ref --target IJServer001 --webserver FJapache 192.0.2.1/myhost
    C:\Interstage\F3FMisje7\glassfish\bin\asadmin create-virtual-host-ref --target IJServer002 --webserver FJapache 192.0.2.1:81/virtualhost1

    /opt/FJSVisje7/glassfish/bin/asadmin create-virtual-host-ref --target IJServer001 --webserver FJapache 192.0.2.1/myhost
    /opt/FJSVisje7/glassfish/bin/asadmin create-virtual-host-ref --target IJServer002 --webserver FJapache 192.0.2.1:81/virtualhost1

    Webサーバ(FJapache)とIJServerクラスタを別のマシンで運用し、IJServerクラスタ(IJServer001)と連携するバーチャルホストが192.0.2.1/myhost、IJServerクラスタ(IJServer002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-virtual-host-ref --target IJServer001 --webserver FJapache 192.0.2.1/myhost
    C:\Interstage\F3FMwsc\bin\wscadmin add-virtual-host-ref --target IJServer002 --webserver FJapache 192.0.2.1:81/virtualhost1

    /opt/FJSVwsc/bin/wscadmin add-virtual-host-ref --target IJServer001 --webserver FJapache 192.0.2.1/myhost
    /opt/FJSVwsc/bin/wscadmin add-virtual-host-ref --target IJServer002 --webserver FJapache 192.0.2.1:81/virtualhost1

  5. IJServerクラスタへのアプリケーションの配備
    asadminコマンドのdeployサブコマンドで、各IJServerクラスタにアプリケーションを配備します。その際、以下となるようにしてください。

    • 「アプリケーション名」が重複しないように、各IJServerクラスタで名前を変更する。

    • 「コンテキストルート」は、すべてのIJServerクラスタで同じ値にする。

    IJServerクラスタIJServer001、IJServer002にWebアプリケーションSampleAppr.warを配備する場合

    C:\Interstage\F3FMisje7\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target IJServer001 SampleAppr.war
    C:\Interstage\F3FMisje7\glassfish\bin\asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target IJServer002 SampleAppr.war

    /opt/FJSVisje7/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target IJServer001 SampleAppr.war
    /opt/FJSVisje7/glassfish/bin/asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target IJServer002 SampleAppr.war

  6. WebサーバとIJServerクラスタを別のマシンで運用する場合、wscadminコマンドでWebアプリケーションを振り分け対象にする
    WebサーバとIJServerクラスタを別のマシンで運用する場合、Webサーバの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションをWebサーバコネクタの振り分け対象に設定します。WebサーバとIJServerクラスタを別のマシンで運用する場合は、本手順は実施する必要はありません。

    Webサーバ名がFJapache、IJServerクラスタがIJServer001、IJServer002、コンテキストルートSampleApprの場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target IJServer001 SampleAppr
    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target IJServer002 SampleAppr

    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target IJServer001 SampleAppr
    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target IJServer002 SampleAppr

  7. Webコンテナへアクセスする運用形態の設定
    asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。

  8. IJServerクラスタの起動
    asadminコマンドのstart-clusterサブコマンドで、各IJServerクラスタを起動します。