Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

負荷分散のための Web Server の設定

ロードバランサプラグインインストールプログラムは、Web サーバーの設定ファイルに対していくつかの変更を加えます。これらの変更は、Web サーバーによって異なります。


注 –

ロードバランサプラグインは、サポートされている Web サーバーを実行するマシン上に、Sun Java System Application Server Enterprise Edition とともにインストールすることも、または個別にインストールすることもできます。インストール手順の詳細については、『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Installation Guide』の第 1 章「Installing Application Server Software」(スタンドアロンの Application Server を使用している場合)、または『Sun Java Enterprise System 2005Q5 インストールガイド』(Java Enterprise System を使用している場合) を参照してください。


Sun Java System Web Server に対する変更

インストールプログラムは、Sun Java System Web Server の設定ファイルに次のエントリを追加します。

Web サーバーインスタンスの magnus.conf ファイルに、次のエントリを追加します。

##EE lb-pluginInit 
fn="load-modules"
shlib="web_server_install_dir/plugins/lbplugin/bin/libpassthrough.so" 
funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no"
Init fn="init-passthrough"
##end addition for EE lb-plugin

Web サーバーインスタンスの obj.conf ファイルに、次のエントリを追加します。

<Object name=default>
NameTrans fn="name-trans-passthrough" name="lbplugin" 
config-file="web_server_install_dir/web_server_instance/config/loadbalancer.xml"
<Object name="lbplugin">
  ObjectType fn="force-type" type="magnus-internal/lbplugin"
  PathCheck fn="deny-existence" path="*/WEB-INF/*"
  Service type="magnus-internal/lbplugin" 
  fn="service-passthrough"
  Error reason="Bad Gateway" 
  fn="send-error" 
  uri="$docroot/badgateway.html"
</object>

このコードでは、lbplugin は、Object を一意に識別する名前であり、web_server_install_dir/web_server_instance/config/loadbalancer.xml は、ロードバランサが動作するように設定されている仮想サーバーの XML 設定ファイルの場所です。

インストールが完了したら、「HTTP 負荷分散の設定」の説明に従ってロードバランサを設定します。

Apache Web Server の使用

Apache Web Server を使用するには、ロードバランサプラグインをインストールする前に、特定の設定手順を実行する必要があります。また、ロードバランサプラグインのインストールによっても、Apache Web Server に追加の変更が加えられます。プラグインをインストールしてから、追加の設定手順を実行する必要があります。


注 –

Apache 1.3 で、複数の Apache の子プロセスが動作している場合、各プロセスは固有の負荷分散ラウンドロビンシーケンスを使用しています。たとえば、Apache の子プロセスが 2 つ動作していて、ロードバランサプラグインが 2 つのアプリケーションサーバーインスタンスに対して負荷分散する場合、最初の要求はインスタンス #1 に送信され、2 番目の要求もインスタンス #1 に送信されます。3 番目の要求はインスタンス #2 に送信され、4 番目の要求も同じくインスタンス #2 に送信されます。instance1、instance1、instance2、instance2 (以下も同じ) という、このパターンが繰り返されます。この動作は、通常予測される順序、つまり、instance1、instance2、instance1、instance2 (以下も同じ) とは異なります。Sun Java System Application Server では、Apache 用のロードバランサプラグインは Apache プロセスごとにロードバランサインスタンスをインスタンス化して、独立した負荷分散シーケンスを作成します。

--with-mpm=worker オプションを使用してコンパイルした場合、Apache 2.0 は動作をマルチスレッド化します。


Apache Web Server を使用するための要件

Apache Web Server の場合は、Apache のバージョンに応じて、インストールが最小要件を満たす必要があります。

Apache 1.3 の要件

Apache 1.3 では、ロードバランサプラグインに次のものが必要です


注 –

gcc 以外の C 言語のコンパイラを使用するには、その C 言語のコンパイラのパスを設定して、PATH 環境変数のユーティリティーを使用可能にします。たとえば、sh シェルでは次のようになります。export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appserver_installdir/lib


Apache 2 の最小要件

Apache 2.0 では、ロードバランサプラグインに次のものが必要です

ソフトウェアソースは、http://www.sunfreeware.com で入手できます。

さらに、Apache をコンパイルする前に、次の操作をしてください。


注 –

gcc 以外の C 言語のコンパイラを使用するには、その C 言語のコンパイラのパスを設定して、PATH 環境変数のユーティリティーを使用可能にします。たとえば、sh シェルでは次のようになります。export LD_LIBRARY_PATH= app_server_install_dir/lib:$LD_LIBRARY_PATH.


ロードバランサプラグインをインストールする前の設定

Apache 用のロードバランサプラグインをインストールする前に、Apache Web Server をインストールします。Apache ソースをコンパイルし、SSL で動作するようにビルドする必要があります。この節では、ロードバランサプラグインが実行されるように Apache Web Server を正常にコンパイルするために必要な最小要件と高レベルの手順について説明します。これらの要件と手順は、ソフトウェアの Solaris および Linux バージョンにのみ適用されます。Apache の Windows バージョンについては、Apache の Web サイトを参照してください。

ProcedureSSL 対応の Apache をインストールするには

始める前に

Apache ソフトウェアがすでにダウンロードされ、圧縮解除されている必要があります。

  1. OpenSSL ソースをダウンロードし、展開します。

  2. OpenSSL をコンパイルしてビルドします。

    OpenSSL 0.9.7.e がインストールされている場合、Linux プラットフォームではこの手順は必要ありません。

    次のコマンドを入力します。


    cd openssl-0.9.7e
    make
    make install

    OpenSSL の詳細については、http://www.openssl.org/を参照してください。

  3. Apache のバージョンに応じて、次のいずれかの手順に従います。

    • Apache 1.3 の場合は、次の手順に従い、mod_ssl を使用して Apache を設定します。

      1. mod_ssl ソースを展開します。

      2. cd mod_ssl-2.8.14–1.3.x

      3. ./configure –with-apache=../apache_1.3. x --with-ssl=../openssl-0.9.7e --prefix=install_path --enable-module=ssl --enable-shared=ssl --enable-rule=SHARED_CORE --enable-module=so

      このコマンドの中で、x は Apache のバージョン番号、install_path は Apache をインストールするディレクトリです。

      mod_ssl の詳細については、http://www.modssl.orgを参照してください。

    • Apache 2.0 の場合は、ソースツリーを設定します。

      1. cd http-2.0_ x.

      2. ./configure --with-ssl= open_ssl_install_path --prefix= install_path --enable-ssl --enable-so を実行します。

        このコマンドの中で、x は Apache のバージョン番号、open_ssl_install_path は OpenSSL がインストールされているディレクトリ、および install_path は Apache をインストールするディレクトリです。

  4. Linux 2.1 上の Apache の場合は、コンパイルの前に次の手順を実行します。

    1. src/MakeFile を開き、自動的に生成されるセクションの最後を見つけます。

    2. 自動的に生成されるセクションのあとの最初の 4 行のあとに、次の行を追加します。

      LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c 
      -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir/lib -L/opt/sun/private/lib

      -L/opt/sun/private/lib は、Application Server を Java Enterprise System インストールの一部としてインストールした場合にのみ必要であることに注意してください。

      次に例を示します。

      ## (End of automatically generated section)
      ## 
      CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
      LIBS=$(EXTRA_LIBS) $(LIBS1)
      INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
      LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
      "LIBS+= -licuuc -licui18n -lnspr4 -lpthread 
      -lxerces-c -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir /lib -L/opt/sun/private/lib
    3. 環境変数 LD_LIBRARY_PATH を設定します。

      すべてのインストールで、次のように設定します。appserver_install_dir/lib

      Java Enterprise System インストールでは、appserver_install_dir/lib:opt/sun/private/lib に設定します。

  5. 使用しているバージョンのインストール手順で説明されている方法で、Apache をコンパイルします。

    詳細については、http://httpd.apache.org/を参照してください。

    一般的な手順は次のとおりです。

    1. make

    2. make certificate (Apache 1.3 のみ)

    3. make install

      make certificate コマンドは、セキュリティー保護されたパスワードを要求します。このパスワードは、セキュリティー保護された Apache を起動するために必要です。忘れないようにしてください。

  6. 環境に応じて Apache を設定します。

Application Server インストーラによって加えられる変更

ロードバランサプラグインのインストールプログラムは、必要なファイルを、Web サーバーのルートディレクトリ内のディレクトリに展開します。

インストールプログラムは、Web サーバーインスタンスの httpd.conf ファイルに次のエントリを追加します。

<VirtualHost machine_name:443>
##Addition for EE lb-plugin
LoadFile /usr/lib/libCstd.so.1
LoadModule apachelbplugin_module libexec/mod_loadbalancer.so
#AddModule mod_apachelbplugin.cpp
<IfModule mod_apachelbplugin.cpp> 
  config-file webserver_instance/conf/loadbalancer.xml
  locale en
</IfModule>
<VirtualHost machine_ip_address>
  DocumentRoot "webserver_instance/htdocs"
  ServerName server_name
</VirtualHost>
##END EE LB Plugin ParametersVersion 7

ProcedureApache セキュリティーファイルをロードバランサで動作するように設定する

Apache Web Server は、ロードバランサプラグインとの適切な動作のために、正しいセキュリティーファイルを保持している必要があります。

  1. apache_install_dir の下に sec_db_files という名前のディレクトリを作成します。

  2. application_server_domain_dir/config/*.db を apache_install_dir/sec_db_files にコピーします。

  3. プラットフォームに応じて、追加の設定を実行します。

    • Solaris プラットフォームの場合:

      apache_install_dir/bin/apachectl スクリプト内の LD_LIBRARY_PATH に、パス /usr/lib/mps/secv1 を追加します。このパスは、/usr/lib/mps の前に追加する必要があります。

    • Linux の場合:

      apache_install_dir/bin/apachectl スクリプト内の LD_LIBRARY_PATH に、パス /opt/sun/private/lib を追加します。このパスは、/usr/lib の前に追加する必要があります。

    • Microsoft Windows の場合:

      1. Path 環境変数に新しいパスを追加します。

        「スタート」->「設定」->「コントロール パネル」->「システム」->「詳細設定」->「環境変数」->「システム環境変数」の順にクリック します。

        Path 環境変数に application_server_install_dir/bin を追加します。

      2. 環境変数 NSPR_NATIVE_THREADS_ONLY を 1 に設定します。

        「環境変数」ウィンドウで、「システム環境変数」の下の「新規」をクリックします。「変数名」に「NSPR_NATIVE_THREADS_ONLY」を、「変数値」に「1」を入力します。

      3. マシンを再起動します。

Microsoft IIS に対する変更

ロードバランサプラグインを使用するように Microsoft Internet Information Services (IIS) を設定するには、Windows Internet Services Manager で特定のプロパティーを変更します。Internet Services Manager は、「コントロールパネル」フォルダの「管理ツール」フォルダに置かれています。

これらの変更は、Sun Java System Application Server をインストールしてから行います。

Procedureロードバランサプラグインを使用するように Microsoft IIS を設定するには

  1. Internet Services Manager を開きます。

  2. プラグインを有効にする Web サイトを選択します。

    この Web サイトは通常、デフォルトの Web サイトと名付けられます。

  3. この Web サイト上で右クリックして「プロパティー」を選択し、「プロパティー」ノートブックを開きます。

  4. 次の手順に従って、新しい ISAPI フィルタを追加します。

    1. 「ISAPI フィルタ」タブを開きます。

    2. 「追加」をクリックします。

    3. 「フィルタ名」フィールドに、「Application Server」と入力します。

    4. 「実行ファイル」フィールドに、「C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.dll」と入力します。

    5. 「了解」をクリックして、「プロパティー」ノートブックを閉じます。

  5. 新しい仮想ディレクトリを作成および設定します。

    1. デフォルトの Web サイト上で右クリックして「新規」を選択し、「仮想ディレクトリ」を選択します。

      「仮想ディレクトリの作成ウィザード」が開きます。

    2. 「エイリアス」フィールドに、「sun-passthrough」と入力します。

    3. 「ディレクトリ」フィールドに、「C:\Inetpub\wwwroot\sun-passthrough」と入力します。

    4. 「実行パーミッション」チェックボックスにチェックマークを付けます。

      ほかのすべてのパーミッション関連のチェックボックスは、チェックしないでおきます。

    5. 「完了」をクリックします。

  6. システムの PATH 環境変数に、sun-passthrough.dll ファイルのパスおよび application_server_install_dir/bin を追加します。

  7. マシンを再起動します。

  8. Web サーバーを停止してから起動して、新しい設定を反映させます。

    Web サーバーを停止するには、Web サイト上で右クリックして「停止」を選択します。Web サーバーを起動するには、Web サイト上で右クリックして「起動」を選択します。

  9. Web サーバー、ロードバランサプラグイン、および Application Server が正常に動作していることを確認します。

    Web ブラウザに以下のように入力して Web アプリケーションのコンテキストルートにアクセスします。http://webserver_name/ web_application。ここで、webserver_name は Web サーバーのホスト名または IP アドレスであり、web_applicationC:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties ファイルに一覧表示したコンテキストルートです。

自動的に設定される sun-passthrough プロパティー

インストーラは、sun-passthrough.properties 内に次のプロパティーを自動的に設定します。デフォルト値は変更可能です。

プロパティー 

定義 

デフォルト値 

lb-config-file 

ロードバランサ設定ファイルへのパス 

IIS_www_root\sun-passthrough\loadbalancer.xml

log-file 

ロードバランサログファイルへのパス 

IIS_www_root\sun-passthrough\lb.log

log-level 

Web サーバーのログレベル 

INFO 

複数の Web サーバーインスタンスの設定

Sun Java System Application Server インストーラでは、1 台のマシンに複数のロードバランサプラグインをインストールできません。1 台のマシンの 1 つまたは複数のクラスタ内に、ロードバランサプラグインとともに複数の Web サーバーを置くには、いくつかの手順を手動で実行してロードバランサプラグインを設定する必要があります。

Procedure複数の Web サーバーインスタンスを設定するには

  1. ロードバランサプラグインを使用するように新しい Web サーバーインスタンスを設定します。

    「Sun Java System Web Server に対する変更」「Apache Web Server の使用」、または 「インストール」の手順に従います。

  2. DTD ファイルをコピーします。

    既存の Web サーバーインスタンスの config ディレクトリから、sun-loadbalancer_1_1.dtd を新しいインスタンスの config ディレクトリにコピーします。

  3. ロードバランサ設定ファイルを設定します。次のいずれかを実行します。

    • 既存のロードバランサ設定をコピーします。

      既存のロードバランサ設定を使用して、既存の Web サーバーインスタンスの config ディレクトリから、loadbalancer.xml ファイルを新しいインスタンスの config ディレクトリにコピーします。

    • 新しいロードバランサ設定を作成します。

      1. asadmin create-http-lb-config を使用して、新しいロードバランサ設定を作成します。

      2. asadmin export http-lb-config を使用して、新しい設定を loadbalancer.xml ファイルにエクスポートします。

      3. loadbalancer.xml ファイルを、新しい Web サーバーの config ディレクトリにコピーします。

        ロードバランサ設定を作成し、それを loadbalancer.xml ファイルにエクスポートする方法については、「HTTP ロードバランサ設定の作成」を参照してください。