前へ 目次 索引 次へ |
Sun Java System Application Server Enterprise Edition 7 2004Q2 入門ガイド

> ## 第 3 章
> エンタープライズ機能の設定のチュートリアル

> この章では、Sun Java System Application Server 7, Enterprise Edition 環境のセットアップと使用方法に関する、一連のチュートリアルを記載しています。この章には次の節があります。

> - チュートリアルを使用する準備
> - チュートリアルの手順の概要
> - サーバーの起動
> - サーバーの起動の確認
> - loadbalancer.xml ファイルの作成
> - loadbalancer.xml ファイルへのクラスタの追加
> - ロードバランスの設定
> - loadbalancer.xml ファイルのサンプル

> ##

> チュートリアルを使用する準備

> このマニュアルでは、クラスタ環境のセットアップ、その環境へのアプリケーションの配備、アプリケーションを使用したロードバランスと HTTP セッション持続性の機能のテスト手順について説明しています。このマニュアルには 2 つのチュートリアルがあります。「エンタープライズ機能の設定のチュートリアル」ではクラスタとロードバランサの設定について説明しています。「クラスタ JSP サンプルアプリケーションのチュートリアル」では、アプリケーションの配備と、ロードバランスとセッション持続性の機能の確認について説明しています。

> この節には次の項目があります。

> - インストールの要件
> - チュートリアルを使用する前の必要な手順

> ### インストールの要件

> ここで例示しているインストールの設定は、このチュートリアルで使用するための、基本的な単一マシンの構成です。この設定は、必ずしも、実務の環境に適切なものではないかもしれません。Sun Java System Application Server の導入に先立ち、実際の要求事項について、慎重な検討が必要です。推奨される設定の詳細については、『Sun Java System Application Server System Deployment Guide』を参照してください。

> このマニュアルに記載されているチュートリアルを実行するために、次の基本設定を使います。

> - 1 つの Sun Java System Web Server
> - 1 つのロードバランサプラグイン
> - 1 つの Sun Java System Application Server (高可用性データベースを使うように設定された 2 つのサーバーインスタンスを含む)
> - 1 つの高可用性データベース

> 注 | このマニュアルでは、すべての手順で Sun Java System Web Server を使用することを前提としています。Apache Web Server を使用することもできます。Apache Web Server の使用方法の詳細については、『Sun Java System Application Server Administration Guide』を参照してください。

> ### チュートリアルを使用する前の必要な手順

> チュートリアルを始める前に、次の手順をすべて行なっておく必要があります。

> 表 3-1 チュートリアルを使用する準備の手順

> 手順 | 情報の参照先
> --- | ---
> 1. Sun Java System Web Server をインストールする | 『Sun Java System Web Server インストールガイド』
> 2. 次のものを含む Sun Java System Application Server をインストールする ロードバランサプラグイン HADB | 『Sun Java System Application Server インストールガイド』
> 3. マシンに次の設定をする 共有メモリ rsh または ssh を使った通信 HADB を使うための環境変数 | 『Sun Java System Application Server インストールガイド』
> 4. clsetup を実行して次の設定を行う ドメイン domain1 に 2 つのアプリケーションサーバーインスタンス (server1 と server2) を作成して設定する HADB を作成する HADB にセッション情報を格納するために必要なデータベーステーブルを作成する インスタンスに接続プールを作成する すべてのインスタンスに JDBC リソースを作成する アプリケーションサーバーインスタンスにセッション持続性情報を設定する アプリケーションサーバーインスタンスで高可用性を有効にする | 『Sun Java System Application Server インストールガイド』

> ##

> チュートリアルの手順の概要

> 次の表には、チュートリアル内で必要となる、システム設定やアプリケーションの配備、Enterprise Edition の独自の機能の確認について、手順の概要を記載しています。左側の列には手順を示し、右側の列には該当の手順を実行するために必要な情報の参照先を示しています。

> 表 3-2 チュートリアルの手順

> 手順 | 情報の参照先
> --- | ---
> 1. 管理サーバーおよびアプリケーションサーバーインスタンスを起動する | 「サーバーの起動」
> 2. 管理サーバーおよびアプリケーションサーバーインスタンスが稼働中であることを確認する | 「サーバーの起動の確認」
> 3. loadbalancer.xml ファイルを作成する | 「loadbalancer.xml ファイルの作成」
> 4. loadbalancer.xml のクラスタを設定する | 「loadbalancer.xml ファイルへのクラスタの追加」
> 5. loadbalancer.xml ファイルにロードバランサを設定する | 「ロードバランスの設定」
> 6. 設定した loadbalancer.xml ファイルをサンプルの loadbalancer.xml ファイルと照らし合わせて検証する | 「loadbalancer.xml ファイルのサンプル」
> 7. cladmin を使ってクラスタ内のインスタンスにサンプルアプリケーションを配備する | 「クラスタ JSP のサンプルアプリケーションのクラスタへの配備」
> 8. cladmin を使ってアプリケーションサーバーインスタンスを起動する | 「cladmin を使ったアプリケーションサーバーインスタンスの起動」
> 9. アプリケーションが正常に配備されたことを確認する | 「アプリケーション配備の確認」
> 10. サンプルアプリケーションを loadbalancer.xml 内のクラスタ情報に追加する | 「クラスタへのサンプルアプリケーションの追加」
> 11. 変更を適用し、Web Server を再起動する | 「設定の変更の適用と Web サーバーの再起動」
> 12. サンプルを実行する | 「アプリケーションの実行」
> 13. ロードバランスを確認する | 「HTTP ロードバランスの確認」
> 14. セッション持続性を確認する | 「HTTP セッションの持続性の確認」
> 15. サーバーインスタンスを休止する | 「サーバーインスタンスの休止」

> ##

> サーバーの起動

> このマニュアルのチュートリアルを使用するには、クラスタ内の管理サーバーとすべてのアプリケーションサーバーインスタンスを起動する必要があります。Sun Java System Web Server も稼働させる必要があります。

> すべてのサーバーインスタンスと管理サーバーが 1 つのドメイン内にあるときに管理サーバーとアプリケーションサーバーインスタンスを起動するもっとも簡単な方法は、asadmin ユーティリティの start-domain コマンドを使うことです。

> この節には次の項目があります。

> - PATH 変数の設定
> - asadmin start-domain の実行

> ### PATH 変数の設定

> asadmin の実行に先立ち、簡単に使用できるように、PATH 変数を設定します。

> PATH 変数を設定すれば、asadmin、cladmin、および asant (アプリケーションサーバーの Ant ユーティリティ) を、どこからでもコマンド行で実行できます。PATH 環境変数に次のディレクトリを追加します。

> install_dir/bin

> Application Server の bin ディレクトリをログインプロファイルに追加すると、環境の PATH 設定がログイン時に自動的に追加されます。

> たとえば、.cshrc ファイルに次のように追加します。

> set path=( /opt/SUNWAppserver7/bin)

> ファイルを保存し、source コマンドを使用して設定を有効にします。

> source .cshrc

> コマンドプロンプトで asadmin ユーティリティを実行することで、変更内容をテストできます。次のように入力します。

> asadmin

> 実行結果が、次のように表示されます。

> 終了するには「exit」を使用し、オンラインヘルプを表示するには「help」を使用しま す。

> asadmin>

> exit と入力して、asadmin インタフェースを終了します。

> コマンドが見つからない場合は、次のようにします。

> - PATH 設定が正しく更新されていることを確認します。
> - .cshrc ファイルなどのログインファイルを更新した場合には、その設定が有効になっていることを確認します。新しい端末ウィンドウを起動する必要がある場合もあります。

> PATH 環境変数を設定しない場合でも、コマンドとユーティリティが置かれているディレクトリ (install_dir/bin) からそれらを実行できます。たとえば、次のようにします。

> cd /opt/SUNWappserver7/bin

> ./asadmin

> ### asadmin start-domain の実行

> 管理サーバーとすべてのアプリケーションサーバーインスタンスを起動するには、asadmin start-domain コマンドを実行します。コマンドプロンプトに次のように入力します。

> asadmin start-domain --domain domain1

> domain1 は、サーバーをインストールして clsetup コマンドを実行したときに設定されたデフォルトのドメインです。

> 注 | このマニュアルで示している設定では、すべてのインスタンスが同じドメイン内にあります。サーバーインスタンスが同じドメイン内にない場合は、使用するドメインごとに asadmin start-domain を実行する必要があります。いったんクラスタを作成したら、cladmin start-instance を使ってクラスタ内のすべてのインスタンスを起動することもできます。cladmin 構文については、「cladmin コマンドの構文」を参照してください。

> 次のコマンドを使って、最初に設定したドメインの管理サーバーとアプリケーションサーバーインスタンスを両方とも停止します。

> asadmin stop-domain --domain domain1

> domain1 は、アプリケーションサーバーのインストール時に定義された管理ドメインの名前です。

> すべての asadmin コマンドの完全なリストは、asadmin のヘルプを参照してください。ヘルプを表示するには、コマンドプロンプトに次のように入力します。

> asadmin

> PATH 変数が正しく設定されている場合、プロンプトが「asadmin」に変わります。ここで help と入力すると、asadmin のコマンドの一覧が表示されます。また、asadmin の特定のコマンドのヘルプを表示するには、「asadmin」のプロンプトから、次のように、コマンドに help オプションを付けて入力します。次に例を示します。

> asadmin> start-domain --help

> ##

> サーバーの起動の確認

> 管理サーバーとアプリケーションサーバーインスタンスを起動したら、起動が正常であることを確認します。具体的な手順については、次に示す節で説明します。

> - 管理サーバーの起動の確認
> - サーバーインスタンスの起動の確認
> - HTTP サーバーへのアクセスによるインスタンスの確認

> ### 管理サーバーの起動の確認

> 次の項目で説明するように、Sun Java System Application Server の管理インタフェースにアクセスするか、管理サーバーのイベントログを確認することによって、管理サーバーが起動したことを確認できます。

> - 管理インタフェースへのアクセス
> - 管理サーバーのイベントログの表示

> #### 管理インタフェースへのアクセス

> Sun Java System Application Server の Web ベースの管理インタフェースにアクセスして、管理サーバーが正常に起動したことを確認できます。このインタフェースを使って、Sun Java System Application サーバーインスタンスを管理できます。ただし、クラスタ化されたインスタンスの場合は cladmin コマンドを使うほうが便利で、エラーが発生しにくくなります。

> 注 | 管理インタフェースと互換性のあるブラウザのリストについては、『Sun Java System Application Server プラットフォームの概要』を参照してください。

> 管理インタフェースにアクセスするには、次の手順に従います。

> 1. ブラウザウィンドウを開き、管理サーバーのポートを指定します。

> インストール時に管理サーバーのデフォルトのポート番号は 4848 に指定されます。インストール時にこのポートが使用中か、別のポート番号を選択した場合は、そのポート番号を指定します。

> 次に例を示します。

> http://test.sun.com:4848

> 2. 製品のインストール時に指定した管理ユーザー名およびパスワードを使って管理インタフェースにサインインします。

> ヒント | ユーザー名やパスワードを忘れてしまった場合 : インストール時に設定した、管理サーバーのユーザー名を思い出せない場合は、ユーザー名として admin と入力してみてください。これは、インストール時にサーバー設定ダイアログで指定されているデフォルトのユーザー名です。 管理者のパスワードを思い出せない場合は、install_config_dir にある、サーバーをインストールしたときに作成された clpassword.conf ファイルを確認してください。このファイルにアクセスするにはルートになる必要があります。

> ヒント | ポートにアクセスできない場合 : 管理サーバーの管理インタフェースに接続しようとしても拒否される場合は、管理サーバーが稼働していない可能性があります。起動手順と管理サーバーのログファイルの内容をチェックして、サーバーが稼働していない理由を確認してください。ログファイルの表示方法については、「管理サーバーのイベントログの表示」を参照してください。

> 正しく認証されると、管理インタフェースの最初の画面が表示されます。左側の区画の項目をクリックすると、右側の区画に対応するページが表示されます。

> #### 管理サーバーのイベントログの表示

> 管理サーバーのイベントログでサーバーの起動メッセージを表示することもできます。イベントログファイルを開いて表示するには、次の手順に従います。

> 1. 管理サーバーのサーバーログに移動します。

> domain_config_dir/domain1/admin-server/logs/

> 1. エディタで server.log を開きます。

> サーバーが起動済みの場合は、ログファイルの最後に successful server startup という情報が記録されています。

> [20/Feb/2003:00:06:00] INFO ( 4318): CORE3274:successful server startup

> 正常な起動を示すメッセージが表示されない場合、管理サーバーが起動手順を完了する前にイベントログファイルを開いてしまったことが原因と考えられます。ログファイルを閉じてから開き直し、最新のイベントメッセージを確認してください。

> tail -f コマンドを使ってサーバーログを表示することもできます。

> tail -f server.log

> -f オプションにより tail コマンドの実行が保持されるため、新しいログエントリはファイルに書き込まれたとおりに表示されます。

> 管理インタフェースから、管理サーバーとアプリケーションサーバーインスタンスのイベントログファイルにアクセスすることもできます。左側の区画でサーバー名 (管理サーバーまたはアプリケーションサーバーインスタンス) をクリックし、右側の区画で「ログ」タブをクリックします。

> 詳細は、『Sun Java System Application Server Administration Guide』を参照してください。

> ### サーバーインスタンスの起動の確認

> clsetup を実行したあとは、domain1 に server1 と server2 という 2 つのサーバーインスタンスがあるはずです。この節では、これらのインスタンスが存在することと、稼働していることを確認する方法について説明します。

> - asadmin を使ったインスタンスの確認
> - HTTP サーバーへのアクセスによるインスタンスの確認

> #### asadmin を使ったインスタンスの確認

> 確認には asadmin list-instances コマンドを使います。

> 1. コマンドプロンプトに asadmin と入力して、asadmin を起動します。

> asadmin

> プロンプトは asadmin> になります。

> 2. asadmin プロンプトで list-instances コマンドを使って、現在のすべてのインスタンスを表示します。

> list-instances

> このコマンドにより、インスタンスが一覧表示され、それらが現在稼働中かどうかが示されます。server1 と server2 という 2 つのインスタンスが稼働中として表示されます。

> #### HTTP サーバーへのアクセスによるインスタンスの確認

> アプリケーションサーバーインスタンスが起動したかどうかを確認するもう 1 つの方法は、Web ブラウザからインスタンスの HTTP サーバーのトップページにアクセスすることです。

> ブラウザで次の URL にアクセスします。

> http://server_instance:server_instance_port_number

> server_instance_port_number は、インストール時またはサーバーインスタンスの作成時に指定した HTTP サーバーのポート番号です。

> ヒント | HTTP サーバーのポート番号がわからないときは、アプリケーションサーバーインスタンスの設定ファイルを調べます。 1. domain_config_dir/domain1/server_instance/config/ ディレクトリに移動して、server.xml ファイルをエディタで開きます。 2. たとえば次のように、http-listener 要素を探します。 http-listener id="http-listener-1" address="0.0.0.0" port="81"... この例では、ポート 81 が使用されている HTTP ポート番号です。

> アプリケーションサーバーのインスタンスが正常に稼働している状態では、HTTP サーバーのデフォルトのトップページがブラウザに表示されます。

> ヒント | HTTP サーバーのトップページ : HTTP サーバーのトップページは、アプリケーションサーバーインスタンスのデフォルトのドキュメントディレクトリにある、index.html という HTML ファイルです。アプリケーションサーバーインスタンスのデフォルトのドキュメントルートは、そのインスタンスの server.xml 設定ファイルに設定されています。インストールが完了すると、インスタンスのドキュメントルートである server1 は domain_config_dir/domain1/server1/docroot/ に設定されます。トップページはこの場所にあります。

> ##

> loadbalancer.xml ファイルの作成

> コンポーネントのインストールと clseup の実行が完了し、管理サーバーを起動したら、インストール設定の準備が完了したことになります。設定の最初の手順は、クラスタの作成です。

> このマニュアルのクラスタの設定では 1 つのロードバランサプラグインを使用するため、Web Server の loadbalancer.xml 設定ファイルでクラスタを定義する必要があります。このファイルは、Web Server の設定ファイルディレクトリにあります。loadbalancer.xml ファイルはデフォルトでは存在しません。このファイルは作成する必要があります。

> loadbalancer.xml ファイルを作成するには、次の手順に従います。

> 1. サンプルの loadbalancer.xml ファイルを見つけます。このファイルは loadbalancer.xml.example という名前で、Web Server の config ディレクトリにあります。

> デフォルトでは、このディレクトリは次のとおりです。

> webserver_install_dir/servers/https-server_name/config

> 2. loadbalancer.xml.example のコピーを loadbalancer.xml として保存します。

> このコピーを編集して、クラスタを作成してロードバランスを機能させる情報など、環境のための情報を追加します。

> loadbalancer.xml ファイルの例は、コード例 3-1 に記載されています。

> コード例 3-1 loadbalancer.xml.example ファイル

> <!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun ONE Application Server 7.0//EN" "sun-loadbalancer_1_1.dtd">

> <loadbalancer>

> <cluster name="cluster1">

> <instance name="instance1" enabled="true" disable-timeout-in-minutes="60" listeners="<REPLACE_WITH_LISTENER1> <REPLACE_WITH_LISTENER2>"/>

> <web-module context-root="/abc" enabled="true" disable-timeout-in-minutes="60" enabled="true" />

> <health-checker url="/" interval-in-seconds="10" timeout-in-seconds="30" />

> </cluster>

> <property name="reload-poll-interval-in-seconds" value="60"/>

> <property name="response-timeout-in-seconds" value="30"/>

> <property name="https-routing" value="true"/>

> <property name="require-monitor-data" value="false"/>

> </loadbalancer>

> サンプルファイルは sun-loadbalancer_1_1.dtd を指し、Web Server の config ディレクトリにもあります。

> ##

> loadbalancer.xml ファイルへのクラスタの追加

> 次に、クラスタ (このチュートリアルでは cluster1) を loadbalancer.xml ファイルに追加します。このクラスタには、2 つの Sun Java System Application Server またはサーバーインスタンスがあります。

> 新たに作成した loadbalancer.xml を編集して、インスタンスと URL を HTTP リスナーに組み込みます。

> 1. Web サーバーの config ディレクトリに移動し、loadbalancer.xml をテキストエディタで開きます。

> サンプルファイルには、cluster1 というクラスタがあらかじめ組み込まれています。

> <cluster name=cluster1>

> 2. clsetup を使って作成した 2 つのアプリケーションサーバーインスタンス (server1 と server2) を cluster1 に追加します。

> インスタンスのそれぞれに対して、クラスタのインスタンスのサブ要素を作成します。インスタンスは有効 (true) にする必要があります。また、URL を HTTP リスナーに追加することも必要です。デフォルトのサーバーインスタンス (server1) と、追加した 2 番目のサーバーインスタンス (server2) の場合、それぞれのインスタンスには HTTP リスナーが 1 つあります。別の環境ではもっと多い場合があります。

> サンプルの loadbalancer.xml ファイルには、編集可能な次の行があります。

> <instance name="instance1" enabled="true" disable-timeout-in-minutes="60" listeners="<REPLACE_WITH_LISTENER1> <REPLACE_WITH_LISTENER2>"/>

> 3. このチュートリアルでは、「instance1」を「server1」と置き換えます。
> 4. <REPLACE_WITH_LISTENER1> を、次のようなサーバーインスタンスのリスナー URL と置き換えます。

> http://test.sun.com:81

> リスナー URL は、サーバー名とポートで構成されます。リスナーのセキュリティが有効になっている場合、URL は HTTPS で始まります。リスナーがセキュリティ保護されていない場合、URL は HTTP で始まります。Sun Java System Application Server の各インスタンスの HTTP リスナーに関する情報を検索するには、次のようにします。

> 1. 管理インタフェースでインスタンス名をクリックして、ツリー表示を展開します。
> 2. 「HTTP Server (HTTP サーバー)」をクリックして展開します。
> 3. 「HTTP Server (HTTP サーバー)」の下にある「HTTP Listener (HTTP リスナー)」をクリックします。
> 4. HTTP リスナーページには、ポート、サーバー名、セキュリティが有効かどうかが表示されます。
> 5. 変更を loadbalancer.xml に保存します。この時点で、ファイルには次のような行があります。

> <instance name="server1" enabled="true" disable-timeout-in-minutes="60" listeners="http://test.sun.com:81"/>

> 6. disable-timeout-in-minutes の値を 5 に変更します。

> disable timeout in minutes はインスタンスレベルの休止時間です。この間に、サーバーインスタンスのために終了するセッション時間をみておきます。サーバーは稼働を続けますが、新しいセッションになるような要求は送信されません。ただし、サーバーは既存のセッションに対する要求は受け入れます。実際には、この数はかなり大きくなることがあります。例で指定した時間は 60 分です。ただし、このチュートリアルではサーバーをシャットダウンする必要があるため、タイムアウトは短く設定してください。

> <instance name="server1" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:81"/>

> 7. 2 番目のインスタンスをクラスタ要素に追加します。これは、上記の行をコピーして既存の行の下に貼り付けてから、サーバー名とリスナー URL を変更することによって実行できます。次に例を示します。

> <instance name="server2" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:82"/>

> 8. 変更を保存します。

> この時点で、loadbalancer.xml ファイルは次のようになっているはずです。

> <!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun ONE Application Server 7.0//EN" "sun-loadbalancer_1_1.dtd">

> <loadbalancer>

> <cluster name="cluster1">

> <instance name="server1" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:81"/>

> <instance name="server2" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:82"/>

> <web-module context-root="/abc" enabled="true" disable-timeout-in-minutes="60" enabled="true" />

> <health-checker url="/" interval-in-seconds="10" timeout-in-seconds="30" />

> </cluster>

> <property name="reload-poll-interval-in-seconds" value="60"/>

> <property name="response-timeout-in-seconds" value="30"/>

> <property name="https-routing" value="true"/>

> <property name="require-monitor-data" value="false"/>

> </loadbalancer>

> 後述の手順で、配備したアプリケーションに関連する情報 (サンプルでは「web-module」で始まる行) を追加します。

> 注 | loadbalancer.xml ファイルのアプリケーションサーバーインスタンスを有効にすることは、アプリケーションサーバーインスタンスを起動することとは異なります。サーバーが稼働中で、クラスタに追加されている場合でも、 instance 要素の enabled 属性を true に設定して loadbalancer.xml を有効にするまで、ロードバランサは要求をサーバーインスタンスに配信しません。

> ##

> ロードバランスの設定

> loadbalancer.xml ファイルを作成し、クラスタを追加したら、loadbalancer.xml ファイルを編集してロードバランサ設定を組み込みます。

> この節には次の項目があります。

> - ヘルスチェッカーの設定
> - ロードバランサの監視の有効化
> - ロードバランサのその他のプロパティ

> ### ヘルスチェッカーの設定

> ヘルスチェッカーが有効な場合、ロードバランサは、ダウンしているというフラグが立てられたすべての Sun Java System Application Server インスタンスを定期的にチェックして、稼働したかどうかを確認します。ダウンしているとマークされたアプリケーションサーバーインスタンスが稼働すると、そのインスタンスは稼働インスタンスのリストに追加され、要求がもう一度配信されます。

> ヘルスチェッカーは、loadbalancer.xml の health-checker 要素で設定します。ヘルスチェッカーで ping してサーバーが稼働しているかどうかを確認するリスナー URL と、ヘルスチェッカーでサーバーを ping する頻度、サーバーがダウンしているとマークするまでにヘルスチェッカーが応答を待機する時間を設定します。

> サンプルの loadbalancer.xml ファイルには次の行が組み込まれています。このマニュアルで説明しているタスクを完了させるためには、編集は必要ありません。

> health-checker url="/" interval-in-seconds="10" timeout-in-seconds="30" />

> - health-checker url は、サーバーインスタンスが稼働しているかどうか (つまり、応答するかどうか) を ping で確認する URL を指定します。例では "/" の URL です。たとえば、リスナー URL が http://www.example.com:80 の場合、"/" のヘルスチェッカー URL は http://www.example.com:80/ を ping します。このマニュアルの目的のために、この値は "/" のままにします。
> - interval-in-seconds 属性は、ロードバランサのヘルスチェックの時間間隔を指定します。この値はデフォルトの 10 から変更する必要はありません。
> - timeout-in-seconds 属性は、サーバーインスタンスが稼働しているとみなすために、ロードバランサが ping されたサーバーインスタンスから応答を受け取る必要がある時間間隔を指定します。この値はデフォルトの 30 から変更する必要はありません。

> たとえば、デフォルト値を使うと、ヘルスチェッカーの動作は次のようになります。

> 1. ヘルスチェッカーは、ヘルスチェッカー URL を使ってダウンしているリスナーを ping します。
> 2. リスナーごとに、応答を 30 秒間 (timeout-in-seconds) 待機します。

> サーバーが 30 秒以内に応答すると、リスナーに稼働しているというマークが付けられます。サーバーが応答しないと、ヘルスチェッカーはサーバーがまだダウンしているとみなします。

> 3. ヘルスチェッカーは、ヘルスチェックの次のサイクルが始まるまで、10 秒間 (interval-in-seconds) 待機します。

> ヘルスチェッカーが起動したときにダウンしているインスタンスがない場合は、最初の 2 つの手順がスキップされます。

> ### ロードバランサの監視の有効化

> ロードバランサプラグインは、Web Server のログメカニズムを使ってログメッセージを書き込みます。監視が有効になっている場合は、Web Server のログファイルに次の情報が記録されます。

> - 各要求の開始と停止の情報
> - 要求がダウンしているインスタンスから稼働しているインスタンスに引き継がれたときのフェイルオーバー要求情報
> - ヘルスチェッカーの各サイクルの最後に記録される、ダウンしているインスタンスのリスト

> 警告 | ロードバランサプラグインでログ機能が有効になっているときに、Web Server のログレベルが DEBUG に設定されているか、詳細メッセージを印刷するように設定されている場合、ロードバランサは Web Server のログファイルに HTTP セッション ID を書き込みます。このため、ロードバランサプラグインをホストする Web Server が DMZ にある場合、本稼働環境では DEBUG や同様のログレベルを使用しないことをお勧めします。 DEBUG ログレベルを使う必要がある場合は、loadbalancer.xml で require-monitor-data プロパティを false に設定して、ロードバランサのログ機能をオフにしてください。

> ロードバランスを監視するには、次のことを行う必要があります。

> - loadbalancer.xml で監視を有効にする
> - 詳細ログを使用するように Web Server を設定する

> loadbalancer.xml で監視を有効にするには、次の手順に従います。

> 1. loadbalancer.xml をテキストエディタで開きます。
> 2. 次の行を見つけます。これはサンプルの loadabalancer.xml ファイルの一部です。

> <property name="require-monitor-data" value="false"/>

> 3. 「false」を「true」に変更して、監視を有効にします。
> 4. 変更を保存し、ファイルを終了します。

> さらに、Web Server のデフォルトのログレベルを変更するには、次の手順に従います。

> Sun Java System Web Server の詳細ログを有効にする場合

> 1. Web Server の config ディレクトリに移動します。Sun Java System Web Server がデフォルトの場所にインストールされている場合、パスは次のとおりです。

> /web_server_install_dir/https-server_name/config

> 2. 編集のために magnus.conf ファイルを開きます。
> 3. 次の行を追加します。

> LogVerbose on

> 4. ファイルに対する変更を保存します。
> 5. Web Server を再起動して変更を適用します。

> ### ロードバランサのその他のプロパティ

> 例の loadbalancer.xml には、次のような追加のロードバランサプロパティが含まれています。

> <property name="reload-poll-interval-in-seconds" value="60"/>

> <property name="response-timeout-in-seconds" value="30"/>

> <property name="https-routing" value="true"/>

> このチュートリアルでは、デフォルト値を変更する必要はありません。これらのプロパティの詳細については、次の節を参照してください。

> - 再読み込みのポーリング間隔を使った動的再設定
> - 応答タイムアウト
> - HTTPS ルーティング

> #### 再読み込みのポーリング間隔を使った動的再設定

> 初期設定のあと、ロードバランサプラグインはその設定に対する変更を検出し、それを自動的に読み込みます。変更は、loadbalancer.xml ファイルのタイムスタンプを調べることによって検出されます。タイムスタンプが変更された場合、ロードバランサは自動的に再設定されます。再読み込みのポーリング間隔では、ロードバランサがタイムスタンプをチェックする頻度を指定します。

> 注 | loadbalancer.xml ファイルに対する変更が sun-loadbalancer_1_0.dtd ファイルに示されているような正しい形式になっていないと、再設定は失敗します。再設定に失敗すると、Web Server のエラーログファイルに記録されます。 ロードバランサは、すでにメモリに読み込まれている古い設定を引き続き使用します。 ロードバランサは、再設定しようとしているときにハードディスク読み取りエラーが発生した場合、現時点でメモリ内にある設定を使用します。 ディスク読み取りエラーが発生した場合は、Web Server のエラーログファイルに警告メッセージが記録されます。 Sun Java System Web Server のエラーログファイルは、web_server_install_dir/web_server_instance/logs/ にあります。

> #### 応答タイムアウト

> 応答タイムアウトは、サーバーが要求に応答するためにインスタンスを待機する時間を指定します。指定した秒数の間、インスタンスが応答しなかった場合、その秒数の経過後にブラウザにエラーメッセージが送信されます。

> #### HTTPS ルーティング

> HTTPS ルーティングが無効になっているとき、loadbalancer.xml ファイルのリストに指定されている HTTPS リスナーは無視され、ロードバランスには HTTP リスナーのみが使用されます。HTTPS ルーティングが有効になっているとき、HTTPS 要求は HTTPS ポートのみに引き継がれます。

> ##

> loadbalancer.xml ファイルのサンプル

> 次のサンプルの loadbalancer.xml ファイルには、2 つのインスタンスの 1 つのクラスタが含まれています。loadbalancer.xml ファイルの構文をこの例と照らし合わせてチェックしてください。

> コード例 3-2 loadbalancer.xml ファイル

> <!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun ONE Application Server 7.0//EN" "sun-loadbalancer_1_1.dtd">

> <loadbalancer>

> <cluster name="cluster1">

> <instance name="server1" enabled="true" disable-timeout-in-minutes="5"

> listeners="http://test.sun.com:81"/>

> <instance name="server2" enabled="true" disable-timeout-in-minutes="5"

> listeners="http://test.sun.com:82"/>

> <web-module context-root="/abc" enabled="true" disable-timeout-in-minutes="60" enabled="true" />

> <health-checker url="/" interval-in-seconds="10" timeout-in-seconds="30" />

> </cluster>

> <property name="reload-poll-interval-in-seconds" value="60"/>

> <property name="response-timeout-in-seconds" value="30"/>

> <property name="https-routing" value="true"/>

> <property name="require-monitor-data" value="true"/>

> </loadbalancer>

> これでエンタープライズ機能の設定が完了したので、サンプルアプリケーションを配備して実行することができます。第 4 章「クラスタ JSP サンプルアプリケーションのチュートリアル」に進んでください。

> 前へ 目次 索引 次へ

> Copyright 2004 Sun Microsystems, Inc. All rights reserved.