Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド

HTTP 健全性検査の作成

ロードバランサの健全性検査は、設定されている Enterprise Server インスタンスの中で、正常ではないとしてマークされているすべてのインスタンスを定期的にチェックします。健全性検査は必須ではありませんが、このプログラムが存在しない場合、または無効になっている場合は、正常でないインスタンスの定期的な健全性検査は実行されません。ロードバランサは、正常でないインスタンスが正常になるタイミングを判断することはできません。

ロードバランサの健全性検査メカニズムは、HTTP を使用してインスタンスと通信します。健全性検査は、指定された URL に HTTP 要求を送信し、応答を待ちます。HTTP 応答ヘッダー内の状態コードが 100 ~ 500 の間であれば、インスタンスが正常であることを示します。


注 –

ロードバランサがクラスタに対するフロントエンドであり、クライアント証明書認証を有効にしてセキュリティー保護ポートを使用しているインスタンスがそのクラスタに含まれる配備状況では、健全性検査はインスタンスの診断を実行できません。したがって、そのようなインスタンスは常に正常でないと認識され、それらのインスタンスには要求は送られません。


健全性検査の作成

健全性検査のプロパティーを指定するために、管理コンソールまたは asadmin create-http-health-checker コマンドを使用できます。管理コンソールでこれを行うには、「HTTP ロードバランサ」ノードに移動し、ノードを展開してロードバランサを選択します。次に「ターゲット」タブを開き、「ターゲット」テーブルで目的のターゲットの「健全性検査を編集」リンクをクリックします。次のパラメータを指定します。

表 4–2 健全性検査のパラメータ

パラメータ 

説明 

デフォルト 

ロードバランサ 

選択したサーバーで負荷分散を使用できるようにするには、「有効」チェックボックスにチェックを入れます。 

False/無効 

無効タイムアウト 

このサーバーが無効にされてから休止状態に入るまでの時間 (分単位)。 

30 分 

url 

ロードバランサが健康状態を判断するためにチェックするリスナーの URL を指定します。  

“/” 

interval 

インスタンスの健全性検査を実行する間隔を秒単位で指定します。0 を指定すると、健全性検査が無効になります。 

30 秒 

timeout 

正常だと見なされるリスナーが応答を受け取るまでのタイムアウト間隔を秒単位で指定します。  

10 秒 

インスタンスが正常でないとマークされている場合、健全性検査が正常ではないインスタンスをポーリングして、インスタンスが正常になったかどうかを判断します。健全性検査は、指定された URL を使用して正常でないインスタンスをすべてチェックし、それらが正常な状態に戻っているかどうかを判断します。

健全性検査により、正常ではないインスタンスが正常になったことが確認されると、そのインスタンスが正常なインスタンスのリストに加えられます。

詳細については、create-http-health-checker および delete-http-health-checker のドキュメントを参照してください。

正常なインスタンス用健全性検査の追加プロパティー

create-http-health-checker によって作成された健全性検査は、正常ではないインスタンスのみをチェックします。正常なインスタンスを定期的にチェックするには、エクスポートした loadbalancer.xml ファイルに追加のプロパティーをいくつか設定します。

正常なインスタンスをチェックするには、次のプロパティーを設定します。

表 4–3 健全性検査のプロパティー

プロパティー 

定義 

active-healthcheck-enabled

サーバーインスタンスが正常であるかどうかを調べるために、それらに対して Ping を実行するかどうかを示す true/false フラグ。サーバーインスタンスに対して Ping を実行するには、このフラグを true に設定します。 

number-healthcheck-retries

ロードバランサの健全性検査が、応答しないサーバーインスタンスを正常でないとマークするまでに、それらに対して Ping を実行する回数を指定します。有効な値は 1 ~ 1000 です。デフォルトでは 3 に設定されています。 

asadmin set コマンドを使用して、プロパティーを設定します。次に例を示します。

asadmin set domain.lb-configs.load-balancer-config.property.active-healthcheck-enabled=true

asadmin set domain.lb-configs.load-balancer-config.property.number-healthcheck-retries=5

これらのプロパティーを追加したあと、loadbalancer.xml ファイルをふたたび編集およびエクスポートする場合、新しくエクスポートした設定にはこれらのプロパティーが含まれます。