この節では、ロードバランサプラグインを設定する方法について説明します。次の項目が含まれています。
ロードバランサを設定する前に、次の手順を実行する必要があります。
サポートされている Web サーバーをインストールし、必要な設定を行います。サポートされている Web サーバーの設定については、第 5 章HTTP 負荷分散のための Web サーバーの設定を参照してください。
ロードバランサプラグインをインストールします。
インストールの手順については、『Sun GlassFish Enterprise Server 2.1 Installation Guide』を参照してください。
負荷分散に参加する Enterprise Server クラスタまたはサーバーインスタンスを作成します。
これらのクラスタまたはインスタンスに対してアプリケーションを配備します。
インスタンスとロードバランサが異なるネットワークドメインにインストールされる配備状況では、ノードエージェントの作成時に、オプション --agentproperties を使用して完全指定ドメイン名を指定する必要があります。たとえば、asadmin create-node-agent --agentproperties remoteclientaddress=myhost.country.example.com test-na のようになります。
ユーザーの環境で負荷分散を設定するには、管理コンソールの GUI または asadmin ツールを使用します。以降の節では、さらに詳しい情報を示します。
ロードバランサ設定を作成します。
管理コンソールでは、左側の区画で「HTTP ロードバランサ」をクリックし、「新規」をクリックします。「新しい HTTP ロードバランサ」ページで、デバイスの詳細を指定し、ターゲットのクラスタまたはインスタンスも選択します。
ロードバランサが管理するクラスタまたはスタンドアロンサーバーインスタンスへの参照を追加します。
管理コンソールを使用してこれを行うには、左側の区画で「HTTP ロードバランサ」ノードをクリックし、ノードの下に表示されるリストから目的のロードバランサをクリックします。「ターゲット」タブを開き、「ターゲットを管理」をクリックします。「ロードバランサのターゲットを管理」ページで、必要なターゲットを選択します。
ターゲットを指定してロードバランサ設定を作成しており、そのターゲットが、ロードバランサが参照する唯一のクラスタまたはスタンドアロンサーバーインスタンスである場合は、この手順を飛ばしてください。
ロードバランサによって参照されるクラスタまたはスタンドアロンサーバーインスタンスを有効にします。
管理コンソールを使用してスタンドアロンサーバーインスタンスを有効にするには、左側の区画で「HTTP ロードバランサ」ノードをクリックし、ノードの下に表示されるリストから目的のロードバランサをクリックします。「ターゲット」タブを開き、「ターゲット」テーブルで、有効にするインスタンスの隣のチェックボックスにチェックマークを付け、「有効」をクリックします。
クラスタ内のサーバーインスタンスを有効にするには、上で説明した手順でロードバランサを選択し、「ターゲット」タブで目的のクラスタをクリックします。次に、「インスタンス」タブを開き、目的のインスタンスを選択し、「ロードバランサの操作」ドロップダウンリストから、「負荷分散の有効化」を選択します。
クラスタまたはスタンドアロンインスタンスを有効にするための同様のコマンドは、asadmin enable-http-lb-server です。
アプリケーションの負荷分散を有効にします。
これを管理コンソールで行うには、上で説明した手順で「ターゲット」タブを開き、必要なクラスタをクリックします。ここで「アプリケーション」タブを開き、必要なアプリケーションを選択し、「その他の操作」ドロップダウンリストから、「ロードバランサ有効」を選択します。
これらのアプリケーションは、ロードバランサが参照するクラスタまたはスタンドアロンインスタンスで使用するために、事前に配備および有効にしておく必要があります。負荷分散のためにアプリケーションを有効にする手順は、アプリケーションを使用可能にする手順とは別です。
健全性検査を作成します。
これを管理コンソールを使用して行うには、前に説明した手順でロードバランサの「ターゲット」タブを開き、「ターゲット」テーブルで「健全性チェッカを編集」をクリックします。
健全性チェッカは、不健全なサーバーインスタンスを監視し、それらの健全性が戻ったときにロードバランサが新しい要求を送信できるようにします。
Sun Java System Web Server (6.1 または 7.0) を使用している場合は、手順 6 および 7 を実行する代わりに、ロードバランサ設定ファイルを生成してネットワーク経由でデータを Web Server に送信すれば、処理を 1 つの手順で完了できます。
これを管理コンソールを使用して行うには、目的のロードバランサをクリックし、「エクスポート」タブを開きます。このタブで、「今すぐ適用」をクリックします。これにより、データは Web サーバーの構成ディレクトリに送信されます。
ロードバランサ設定ファイルを生成します。
これを管理コンソールを使用して行うには、ロードバランサをクリックし、「エクスポート」タブを開きます。このタブで、「今すぐエクスポート」をクリックします。
このコマンドは、Sun GlassFish Enterprise Server に同梱されているロードバランサプラグインとともに使用する設定ファイルを生成します。
ロードバランサ設定ファイルを、ロードバランサプラグイン設定ファイルが格納されている Web サーバーの config ディレクトリにコピーします。
ロードバランサ設定ファイルを自動生成し、ネットワーク経由で Web サーバーにデータを送信する処理を 1 つの手順で行うには、SSL 設定用に Web サーバーを設定し、DAS 証明書をインポートする必要があります。Sun Web Server の設定については、「Sun Web サーバー の設定」を参照してください。
ロードバランサ設定を作成します。
これを行うには、コマンド asadmin create-http-lb-config を使用します。
次のすべての手順 (手順 2 ~ 7) を、単一の asadmin コマンド create-http-lb とそのオプションを使用して実行できます。このコマンドの詳細については、create-http-lb(1) を参照してください。
ロードバランサが管理するクラスタまたはスタンドアロンサーバーインスタンスへの参照を追加します。
これを行うには、コマンド asadmin create-http-lb-ref を使用します。このコマンドの詳細については、create-http-lb-ref(1) を参照してください。
ターゲットを指定してロードバランサ設定を作成しており、そのターゲットが、ロードバランサが参照する唯一のクラスタまたはスタンドアロンサーバーインスタンスである場合は、この手順を飛ばしてください。
ロードバランサによって参照されるクラスタまたはスタンドアロンサーバーインスタンスを有効にします。
これを行うには、コマンド asadmin enable-http-lb-server を使用します。このコマンドの詳細については、enable-http-lb-server(1) を参照してください。
アプリケーションの負荷分散を有効にします。
これを行うには、コマンド asadmin enable-http-lb-application を使用します。このコマンドの詳細については、enable-http-lb-application(1) を参照してください。
これらのアプリケーションは、ロードバランサが参照するクラスタまたはスタンドアロンインスタンスで使用するために、事前に配備および有効にしておく必要があります。負荷分散のためにアプリケーションを有効にする手順は、アプリケーションを使用可能にする手順とは別です。
健全性検査を作成します。
これを行うには、コマンド asadmin create-http-health-checker を使用します。このコマンドの詳細については、create-http-health-checker(1) を参照してください。
健全性チェッカは、不健全なサーバーインスタンスを監視し、それらの健全性が戻ったときにロードバランサが新しい要求を送信できるようにします。
Sun Java System Web Server (6.1 または 7.0) を使用している場合は、手順 6 および 7 を実行する代わりに、ロードバランサ設定ファイルを生成してネットワーク経由でデータを Web Server に送信すれば、処理を 1 つの手順で完了できます。
asadmin ツールを使用してこれを行うには、create-http-lb コマンドの --autoapplyenabled オプションを true に設定します。このコマンドの詳細については、create-http-lb(1) を参照してください。
ロードバランサ設定ファイルを生成します。
これを行うには、コマンド asadmin export-http-lb-config を使用します。
このコマンドは、Sun GlassFish Enterprise Server に同梱されているロードバランサプラグインとともに使用する設定ファイルを生成します。
ロードバランサ設定ファイルを、ロードバランサプラグイン設定ファイルが格納されている Web サーバーの config ディレクトリにコピーします。
ロードバランサ設定ファイルを自動生成し、ネットワーク経由で Web サーバーにデータを送信する処理を 1 つの手順で行うには、SSL 設定用に Web サーバーを設定し、DAS 証明書をインポートする必要があります。Sun Web Server の設定については、「Sun Web サーバー の設定」を参照してください。
ロードバランサは、目標や環境に応じて、以下の節で説明している各種の方法で設定できます。
ロードバランサを配備するためのもっとも一般的な方法は、サーバーインスタンスのクラスタ (1 つまたは複数) を使用する方法です。デフォルトでは、クラスタ内のすべてのインスタンスは同じ設定を持ち、同じアプリケーションが配備されています。ロードバランサは、サーバーインスタンスの間でワークロードを分散させ、正常でないインスタンスから正常なインスタンスへのフェイルオーバーを要求します。HTTP セッション持続性を設定している場合は、要求が処理を引き継がれるとセッション情報は保持されます。
複数のクラスタがある場合、要求はクラスタ間で負荷分散されますが、要求のフェイルオーバーは単一クラスタ内のインスタンス間でのみ行われます。ロードバランサで複数のクラスタを使用すると、アプリケーションの順次アップグレードが容易に可能になります。詳細については、「可用性を低下させないアプリケーションのアップグレード」を参照してください。
クラスタ間およびスタンドアロンインスタンス間で要求を負荷分散することはできません。
複数のスタンドアロンインスタンスを使用するようにロードバランサを設定し、要求をそれらのインスタンス間で負荷分散したりフェイルオーバーしたりすることも可能です。ただし、この設定では、それぞれのスタンドアロンインスタンスに同種の環境が確保され、同じアプリケーションが配備されていることを手動で確認する必要があります。クラスタでは自動的に同種の環境が維持されるため、ほとんどの状況では、クラスタの使用がより適切で、より容易な方法です。