最新バージョン: 2.0.2-1
早見表 |
|
カタログ |
システム |
カテゴリ |
スイッチ |
ユーザ ボリューム |
なし |
最小 メモリ |
96M |
OS |
Linux |
制約 |
なし |
HALB は、同一または異なるタイプの複数の Web サーバに作業負荷を配信するためのスイッチです。 HALB は HAProxy TCP/HTTP 負荷分散ソフトウェア パッケージに基づいています。消費するリソースがわずかなため、超高速化が実現されています。
HALB は、複数のアルゴリズムを使用して負荷分散機能を実行します。 また、簡易ラウンド ロビン負荷分散を実行し、バックエンド サーバへの負荷を均等にします。 さらに、永続的セッションをサポートしており、セッション Cookie によって、またはリクエスト ソース IP アドレスをキーとして使用することにより、クライアントを特定のバックエンド Web サーバにバインドします。 セッション Cookie の使用中、セッション Cookie を持たない新しいセッションは、ラウンド ロビン アルゴリズムを使用して配信されます。 HALB は、複数の Cookie があるセッションをサポートし、必要なもののみ変更または追跡し、他のものはそのままの状態を保ちます。 どのような特定のセッションやクライアントも、Cookie による関連付けを使用して、特定のバックエンド Web サーバまたはアプリケーションに結び付けることができます。 既存の Cookie は、複数の Cookie を持つリクエストをサポートしていないクライアント用の HALB によって、透過的に変更される場合があります。
HALB は、すべてのバックエンド Web サーバの健全性状態を継続的にモニタします。 HALB が行う健全性状態チェックには、簡易 TCP 接続チェックまたはより複雑な HTTP リクエスト(HALB の境界上で指定)が含まれる場合があります。 パラメータ化されたヘルス チェック メソッドを使用して HALB がサーバの故障を検出した場合、HALB はトラフィックを代替サーバに切り替えます。 故障したサーバが結果的に回復した場合、HALB は再度切り替えを行って回復したサーバにトラフィックを戻すことができます。
HALB は、ctl 端子上で Web サービス インターフェースを公開します。 このインターフェースでは、ユーザが出力端子 out1~out8 の有効/無効を実際に切り替えたり、すべての端子の状態を取得することが可能です。 これは、何らかのバックエンド障害(すなわち、データベースまたはストレージ アプライアンス内などで)が発生していて、アプリケーション自身が特定のサーバ セットに対してトラフィックを自動的に無効にできる場合に役立ちます。 この場合、HALB 自体はこのタイプの障害を検出できません。したがって、障害を検出し、対応するバックエンド サーバのセットを無効にするのはアプリケーションしだいです。
HALB は、バックエンド状態、1 サーバ当たりで処理されたリクエスト数、発生したエラー数などを含む詳細な統計を管理します。 統計は mon 端子を介してレポートされます。また、個別のカウンタもブラウザでアクセス可能な GUI として、ui 端子を介して公開されます。
HALB は使用するリソースが非常に少ないため、きわめて高速な設計になっています。 標準条件下では、HALB は 1 セッション当たり約 25KB のメモリを消費します。これは 40000 の同時セッションで 1GB に相当し、最大で毎秒 6000 件のリクエストを処理します。
リソース
リソース |
最小 |
最大 |
デフォルト |
CPU |
0.1 |
16 |
0.4 |
メモリ |
96 MB |
32 GB |
96 MB |
帯域幅 |
1 Mbps |
2 Gbps |
250 Mbps |
L3LB に与えられるメモリ量によって、スループットや応答時間が増加することはありません。 L3LB は、CPU/帯域幅にバインドされたアプライアンスです。
端子
名前 |
方向 |
プロトコル |
説明 |
in |
in |
HTTP |
共通入力。 受信した TCP リクエストは、ラウンド ロビンの選択内容またはソースベースのセッション情報のいずれかを使用して、出力の 1 つへ転送されます。 |
ui |
in |
HTTP |
Web クライアントから送られる HTTP リクエストを処理します。 HTTP/1.1 および 1.0 プロトコルを処理します。 |
ctl |
in |
HTTP |
出力を有効/無効にし、出力端子の状態を取得するために使用する制御端子。 |
out1~out8 |
out |
任意 |
分散出力。 これらの出力の一部やすべてを接続しないでおくことができます。トラフィックは、接続済みの有効な出力のみに配信されます。 デフォルトでは、端子はすべて有効です。 |
mon |
out |
CCE |
パフォーマンスとリソースの使用状況統計を送信するために使用されます。 |
プロパティ
一般プロパティ
名前 |
タイプ |
説明 |
mode |
文字列 |
操作モードと、セッション識別用の名前付きセッション Cookie を使用する方法を指定します。 有効な値は以下のとおりです。 |
cookie_name |
文字列 |
セッションを識別するために使用される Cookie の名前。 passive モード(passive および sync。以下の mode プロパティを参照)の場合、これはクライアント セッションを識別するために、out1~out8 に接続されたバックエンド サーバによって使用される Cookie の名前です。 insert モードの場合、これは、単一のサーバに各クライアントを「固定」するために、HALB が HTTP 応答に挿入する Cookie の名前です。 このプロパティが空の値に設定されている場合、セッション トラッキングは行われておらず、リクエストはすべて単純なラウンド ロビン方式で配布されます。 source モードでは無視されます。 |
cookie_check_length |
整数 |
セッションをバックエンド Web サーバに一致させるために、passive 操作モードで、一意キーとして Cookie の値から使用するバイト数を定義します。 デフォルト値の10 は、共通するすべての PHP および Java アプリケーションにとって、通常は十分です。 この値は常に Cookie 値の長さ以下にする必要があります。 |
max_connections |
整数 |
ロード バランサが処理する、同時にアクティブな接続の最大数。 この数に達しても新しい接続は受け付けられます。ただし、別の接続が閉じられるまで、それらの処理は遅れます。 起動時、HALB は使用可能メモリ量に基づいて最大接続数を自動的に算定し、それをこのプロパティの値と比較して最も小さい値を使用します。 このプロパティが 0 と等しい場合、計算値が使用されます。 使用可能なメモリ量とこのプロパティの明示的な設定のいずれも、バランサのスループットまたはその最大リクエスト レートに直接影響を与えるわけではありません。小さい数を設定する(すなわちメモリがほとんどない)と、バックエンド サーバが各リクエスト(たとえばデータベース検索)の長い操作を実行している場合、多くのリクエストが同時に開いたままとなります。 |
backup_outputs |
文字列 |
バックアップとみなされる、スペースまたはカンマで区切られた出力リスト(out1~out8)。 バックエンド サーバがすべて使用不可能な場合のみ、トラフィックはバックアップ サーバに転送されます。 これらのバックアップ サーバの目的は、何らかの異常が発生した場合に、使用不能なバックエンドからエラーを投げたり、タイム アウトするのではなく、クライアントに通知するか、それらをリダイレクトすることです。 |
タイムアウト プロパティ
名前 |
タイプ |
説明 |
timeout |
整数 |
非アクティブ セッションが期限切れになるまでのタイムアウト秒数。 ゼロに設定した場合、非アクティブ セッションは期限切れになりません。 ゼロ以外の値に設定されている場合は、タイムアウト秒後に再開された非アクティブ セッションは古いと見なされます。「忘れられた」Cookie があるリクエストは、まったく Cookie がないかのように扱われ、通常のラウンドロビン メソッドを使用して、ランダム サーバに転送されます。 このプロパティはパッシブ モードのみに有効で、他のすべてのモードで無視されます。 |
client_timeout |
整数 |
接続確立後にクライアントからのリクエストを待機するタイムアウト秒数。 |
server_timeout |
整数 |
接続確立後にバックエンド Web サーバからの応答を待機するタイムアウト秒数。 |
conn_timeout |
整数 |
任意の tcp 接続を確立するためのタイムアウト秒数。 これにはヘルス チェックが含まれます。 この設定には、特に注意が必要です。高負荷のもとでは、値を不当に小さくするとヘルス チェックがタイムアウトしてしまい、HALB が出力を無効し始めるからです。 タイムアウトを 20 秒未満に設定することはお勧めしません。 |
ヘルス チェック プロパティ
名前 |
タイプ |
説明 |
healthcheck_url |
文字列 |
http_get と http_head のヘルス チェック メソッドで、バックエンド Web サーバのヘルス チェックの実行に使用する URL。 完全 URL (http://host.name/file/to/check/for.php)または相対パス(/file/to/check/for.php)として指定することができます。 URL として指定された場合、HALB は HTTP/1.1 プロトコルを使用する一方で、Host: ヘッダ内の UR から抽出されたホスト名を使用して、ヘルス チェックを実行します。 これは、仮想ホストの使用を許可します。 相対パスとして指定した場合、HALB は HTTP/1.0 プロトコルを使用し、このプロパティによって指定されたドキュメントをチェックします。 このプロパティが空の場合、HALB は HTTP/1.0 プロトコルを使用して、デフォルト ルート「/」をチェックします。 |
healthcheck_agent |
文字列 |
http_get および http_head のヘルス チェック メソッド用のエージェント識別子として使用される文字列。 空の場合、HALB-health-check が使用されます。 |
healthcheck_method |
文字列 |
バックエンド Web サーバのヘルス チェックに使用される方法。 |
healthcheck_regexp |
文字列 |
http_get ヘルス チェック モードで使用されるテスト文字列。 短いか、一般的な値(たとえば 「OK」)は間違った正の一致の原因になる場合があります。 この文字列は perl の正規表現です。perl の正規表現に関する詳細は、こちらを参照してください。 |
healthcheck_interval |
整数 |
バックエンド Web サーバのヘルス チェックの間隔(秒で指定)。 |
UI/Web サービス インターフェース プロパティ
名前 |
タイプ |
説明 |
username |
文字列 |
ui 端子を介して HALB GUI にアクセスするためのユーザ名。 空の場合、認証はありません。 |
password |
文字列 |
ui 端子を介して HALB GUI にアクセスするためのパスワード。 ユーザ名が空の場合、パスワードは無視されます。 |
ctl_port |
整数 |
ctl 端子を介して Web サービス コントロール インターフェースにアクセスするために使用するポート。 |
ui_port |
整数 |
ui 端子を介して HALB ランタイム統計 GUI にアクセスするために使用するポート。 |
カスタム カウンタ
HALB アプライアンスは、mon 端子を介して以下のカスタム カウンタをレポートします。
以下のカウンタは HALB カウンタ グループに属します。 X は 1 から 8 の値を持つことができます。
カウンタ名 |
説明 |
outX_status |
出力端子 outX の状態: 0 - 有効かつ動作中、1 - 有効かつ停止中、100 - 切断。 |
outX_queue |
端子 outX のキューのリクエスト数。 |
outX_queue_max |
端子 outX の同時キュー リクエストの過去の最大数。 |
outX_sessions_active |
端子 outX のアクティブ セッション数。 |
outX_sessions_max |
端子 outX の同時アクティブ セッションの最大数。 |
outX_sessions_total |
端子 outX の完了セッション数。 |
outX_errors |
端子 outX の失敗したヘルス チェック数。 |
queue |
現在のキューの長さ(out1~out8 で累積)。 |
queue_max |
同時キュー リクエストの過去の最大数(out1~out8 で累積)。 |
sessions_active |
アクティブ セッション数(out1~out8 で累積)。 |
sessions_max |
アクティブ セッションの過去の最大数(out1~out8 で累積)。 |
sessions_total |
完了セッション数(out1~out8 で累積)。 |
errors |
ヘルス チェック失敗の合計数(out1~out8 で累積)。 |
パフォーマンス
リクエスト レート
ドキュメント サイズや利用可能なネットワーク帯域幅にもよりますが、HALB は毎秒( 6000 以上のトランザクション(リクエスト/応答ペア)をルーティングします。
データ スループット
HALB は 15MB/秒以上でルーティングします。
同時接続
HALB は 2000 以上の同時保留リクエストをサポートします (「保留リクエスト」はクライアントからのオープン TCP 接続であり、1 つ以上の未完了 HTTP リクエストが進行中です)。 同時接続の数は、使用可能な空きメモリに依存しますが、最大で 40000 です。 テストでは、HALB は 15000 を超えるアクティブな同時転送をサポートしました。
エラー メッセージ
アプライアンスの起動に失敗した場合、以下の内容のエラーがシステム ログにログ記録される場合があります。
エラー メッセージ |
説明 |
エラー: アプライアンス メモリ設定を決定できませんでした。CA Technologies のサポートにお問い合わせください。 |
HALB は使用可能なメモリ量の検出に失敗しました。CA のサポートにお問い合わせください。 |
エラー: HAProxy 環境設定ファイルを作成できませんでした。CA Technologies のサポートにお問い合わせください。 |
HALB が HAProxy 環境設定ファイルの作成に失敗しました。CA のサポートにお問い合わせください(原因としてディスク容量不足が考えられます)。 |
エラー: 使用可能な CPU の数を特定できませんでした。CA Technologies のサポートにお問い合わせください。 |
HALB は使用可能な CPU 量の検出に失敗しました。CA のサポートにお問い合わせください。 |
エラー: healthcheck_url は、URL として指定するとき、http:// から始め、ドキュメントへのフル パスを含める必要があります(例: http://host.name.domain/file/to/check/for.html)。 |
healthcheck_url プロパティ値が正しくありません。「http://」から始めてフル パスを含める必要があります(例: http://host.name.domain/file/to/check/for.html)。 |
エラー: 不明なヘルス チェック メソッド healthcheck_method が指定されています |
healthcheck_method プロパティ値が正しくありません。これは tcp_connect、http_head または http_get のうちの 1 つにする必要があります。 |
エラー: 無効な動作モードが指定されています |
無効なモードが指定されています。これは passive、sync、insert、source のうちの 1 つにする必要があります。 |
エラー: ui_port 値は 1 ~ 65535 の値を指定する必要があります |
ui_port 値は、1 より大きく 65535 より小さい必要があります。 |
エラー: ctl_port 値は 1 ~ 65535 の値を指定する必要があります |
ctl_port 値は、1 より大きく 65535 より小さい必要があります。 |
エラー: HALB を起動できませんでした。詳細は「/var/ログ/アプライアンス/ログ」ログ ファイルを参照してください。 |
HALB の起動中にシステム エラーが発生しました。CA のサポートにお問い合わせください。 |
エラー: コントロール Web サービス インターフェースを初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
ctl 端子上で公開されているコントロール Web サービス インターフェースの初期化中にシステム エラーが発生しました。CA のサポートにお問い合わせください。 |
エラー: 統計レポートを初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
統計レポートの初期化中にシステム エラーが発生しました。CA のサポートにお問い合わせください。 |
エラー: ユーザ インターフェース端子を初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
ui 端子上で公開されているグラフィカル ユーザ インターフェースの初期化中にシステム エラーが発生しました。CA のサポートにお問い合わせください。 |
エラー: 外部ヘルス チェッカーを初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
正義表現をサポートする外部ヘルス チェッカの起動中にエラーが発生しました。CA のテクニカル サポートにお問い合わせください。 |
概要
コントロール Web サービス インターフェースは、出力端子(out1~out8)を有効または無効にしたり、現在の端子状態を取得することを考慮に入れ、ctl 端子(設定済みポート上)上で公開されます。
プロトコル
このプロトコルは、読み取り機能のみを提供するので、GET HTTP メソッドのみが使用されます。 したがって、サポートされているすべてのタイプのプロトコルで、リクエストはその URI および出力構造によって定義できます。 文字は URI では「特殊」と認識されるため、標準的な % エンコーディングを介してエスケープする必要があります。
サポートされているすべての URI の説明を以下に示します。
コントロール コール
出力端子の無効化
出力端子がどのように識別されるかに基づき、disable コントロール コールには次の 2 つの形式があります。
リクエスト: /api/disable?channel=out3 (出力端子 out3 を無効にします)
リクエスト: /api/disable?10.11.12.13 (IP アドレス 10.11.12.13 で Web サーバに接続される出力端子を無効にします)
応答:
HALB は、ステータス コードおよびオプションのステータス メッセージを持つ以下の構造を返します。
{ "status" : { "code": code_value, "message": "status_message" } }
可能なステータス コード値のリストを以下に示します。
コード値 |
説明 |
0 |
操作が成功し、端子は無効になりました。 |
10 |
操作が成功せず、HALB の設定は変更されませんでした。 最も考えられる原因は、端子がすでに無効になっていたか、指定された IP アドレスが無効であるということです。 |
100 |
リクエストの処理中にエラーが発生しました。詳細はステータス メッセージを参照してください。 |
出力端子の有効化
出力端子がどのように識別されるかに基づき、enable コントロール コールには次の 2 つの形式があります。
リクエスト: /api/enable?channel=out3 (出力端子 out3 を有効にします)
リクエスト: /api/enable?10.11.12.13 (IP アドレス 10.11.12.13 で Web サーバに接続される出力端子を有効にします)
応答:
HALB は、ステータス コードおよびオプションのステータス メッセージを持つ以下の構造を返します。
{ "status" : { "code": code_value, "message": "status_message" } }
可能なステータス コード値のリストを以下に示します。
コード値 |
説明 |
0 |
操作が成功し、端子は有効になりました。 |
10 |
操作が成功せず、HALB の設定は変更されませんでした。 最も考えられる原因は、端子がすでに有効になっていたか、指定された IP アドレスが無効であるということです。 |
100 |
リクエストの処理中にエラーが発生しました。詳細はステータス メッセージを参照してください。 |
出力端子状態の取得
リクエスト: /api/status (すべての出力端子の状態を返します)
応答:
HALB は、ステータス コードおよびオプションのステータス メッセージを持つ以下の構造を返します。
{ "status" : { "code": code_value, "message": "status_message", "terminal_id": "terminal_state", "terminal_id": "terminal_state", ... } }
状態は、すべての接続済み端子の場合にのみ返されます。無効な端子や切断された端子の状態はレポートされません。
可能なステータス コード値のリストを以下に示します。
コード値 |
説明 |
0 |
操作は成功しました。 |
100 |
リクエストの処理中にエラーが発生しました。詳細はステータス メッセージを参照してください。 |
可能な端子の値は out1~out8 です。
可能な状態値は以下のとおりです。
状態値 |
説明 |
up |
端子は接続されアクティブです。 |
down |
端子は非アクティブです。 この端子に接続される Web サーバは、down か HALB ヘルス チェックに失敗しています。 |
状態出力の例
{ "status" : { "code": 0, "message": "", "out1": "up", "out2": "up", "out3": "down", "out4": "up" }
}
HALB は ui 端子を介して統計 GUI を表示します。 この GUI によってさまざまランタイム情報を使用できます:
パラメータ |
説明 |
nbcproc |
HALB に使用できる CPU の数。 |
uptime |
HALB アップタイム。 |
system limits |
オペレーティング システムによって HALB に課されるリソース制限。 |
memmax |
HALB に使用できる最大メモリ容量。 |
ulimit-n |
同時オープン ファイルの最大数。 ネットワーク ソケットはファイルと見なされます。 |
maxsock |
同時オープン ソケットの最大数。 |
maxconn |
同時接続の最大数。 この数に到達すると、新しいすべての接続が待機キューに配置されます。 |
current conns |
アクティブ接続の現在の数。 |
Server Status |
バックエンド サーバの状態。 UP - server は機能していることを表し、DOWN - server は機能していないことを表します。 |
Queue Curr. |
バックエンド サーバの現在のリクエスト キューの長さ。 |
Queue Max. |
HALB 起動後のバックエンド サーバのキュー最長到達。 |
Sessions Curr. |
現在アクティブになっているセッションの数。 |
Sessions Max. |
同時にアクティブになっているセッションの最大到達数。 |
Sessions Cumul. |
完了したセッションの総数。 |
Errors Conn. |
バックエンド サーバに接続中に発生したエラーの数。 |
Errors Resp. |
バックエンド サーバによってレポートされた 5xx エラーの数。 |
Errors Check |
バックエンド サーバの失敗ヘルス チェックの数。 |
Errors Down |
バックエンド サーバが UP 状態から DOWN 状態に移行した回数。 |
低速な動的コンテンツ アプリケーションの負荷分散
アプリケーションが各ページを作成するのに多くの計算が必要な場合は、当然ながら同時にサービスできるクライアントの数が限られてきます。 ただし、データ ソースが十分に速いか、レプリケートして複数のサーバからサービスを行える場合は、HALB を使用して同時に処理できる接続数を増やすことができます。 代表的な例が、地図作成データベースから地図を提供する場合です。データベースは高速で読み取れますが、1 ページごとの読み込みでは、地図をイメージ ファイルとしてレンダリングする必要があります。
以下の図は、複数の CPU を使用して同一コンテンツを提供する際に、どのように HALB を使用すれば高負荷条件下でも応答を速くできるかを示しています。
サーバ キープ セッションの設定 - Bugzilla
設定例の一覧は、デフォルト以外の値に設定されたプロパティのみを表示しています。
プロパティ |
値 |
注 |
cookie_name |
Bugzilla_logincookie |
Bugzilla がログイン Cookie 用に使用する名前です。 |
mode |
passive |
Bugzilla は、各ユーザ名/IP アドレスの組み合わせに対して一意の Cookie を発行します。したがって、同じデータベースに接続される 2 つの bugzilla インスタンスは、同じ Cookie を絶対に返しません。 そのため、最も単純な passive モードを使用しても安全です。 他のサーバ タイプについては、sync 設定の方が適している場合があります。 |
Cookie を使用したセッションレス サーバ用の継続的負荷分散
セッションがなく、キャッシュされたデータをある程度保持していて、同じサーバに一貫して転送されるクライアントから利益が得られる可能性があるサーバの場合、パッシブ Cookie モニタリングはモニタ対象の Cookie がないので意味がありません。 以下の表に示すように、このケースでは insert モードが使用されています。
プロパティ |
値 |
注 |
cookie_name |
session_id |
任意の名前。ただし、サーバが他の何かに対して使用している名前と一致していないかを確認してください。 |
mode |
insert |
HALB は Set-cookie: ヘッダを挿入します。 |
セッション永続性を備えた Cookie を使用しないセッションレス サーバ用の継続的負荷分散
クライアントによっては、Cookie をサポートしないか、Cookie を無効にします。 この場合、前に示した例ではクライアントが Cookie のセットを無視するので、最適なソリューションでありません。 これをはるかに上回るソリューションが source モードの HALB 操作です。これはリクエスト ソース IP アドレスに基づき、Web サーバにトラフィックを転送します。 また、クライアントがインターネット アクセスで複数のゲートウェイを同時に使用する場合、リクエストが同じ Web サーバへ転送されないようにすることも可能です。
プロパティ |
値 |
注 |
mode |
source |
HALB は、リクエスト ソース IP アドレスをキーとして使用し、Web サーバへのリクエストをリダイレクトします。 |
インフラストラクチャ ヘルス チェックを備えた負荷分散
バックエンド Web サーバのヘルス チェックが成功しても、返されるデータが有効であることや、そのサーバの依存するデータベースが依然として機能していることを保証するわけではありません。 HALB の明確な特長の 1 つは、従来のヘルス チェック(単に Web サーバのポート 80 に接続する)方法だけでなく、http_head や http_get などの、より高度な方法も使用できることです。 この機能を適切に活用すれば、バックエンド Web サーバの可用性だけでなく、それらの依存性、データベース、アプリケーションおよびストレージ サーバを確認するのにも役立ちます。 この例では、HALB の 2 つのヘルス チェック機能が使用されています。 まず、特別なファイル health_check.php を作成し、その完全 URL を healthcheck_url プロパティで指定します。 このファイルにアクセスすると、データベース、アプリケーションまたは NAS サーバの可用性が評価され、テキスト ALL_SERVICES_ARE_OK を含むステータス ドキュメントが返されます。 この値は healthcheck_regexp プロパティで指定されます。
HALB はすべての出力(out1~out8)を HTTP/1.1 GET リクエストとともに、Host: HTTP ヘッダ内の、ドキュメント URL が /health_check.php であるサイトを使用して確認します。 これらの値は、healthcheck_url プロパティ(http://site/health_check.php)から抽出されます。 各バックエンド サーバから取得したドキュメントでは、HALB は healthcheck_regexp (ALL_SERVICES_ARE_OK)の値を検索します。 この行が見つかった場合、サーバは機能/動作しているとみなされ、見つからない場合、出力端子は無効になります。 出力が無効になり、後で HALB ヘルス チェックに成功した場合、出力は再度有効になります。
仮想ホストを使用していないか、バックエンド サーバが HTTP/1.1 プロトコルをサポートしていないとき、healthcheck_url は単純形式(/health_check.php)で指定してもかまいません。 この場合、HALB は HTTP/1.0 プロトコルを使用し、Host: HTTP ヘッダを指定しません。
プロパティ |
値 |
注 |
healthcheck_mode |
http_get |
HALB は、http_get モードのヘルス チェックを使用します。 |
healthcheck_url |
http://site/health_check.php |
HALB が確認する URL。 |
healthcheck_regexp |
ALL_SERVICES_ARE_OK |
|
バックアップ サーバの使用
バックエンド サーバがすべて使用不能のとき、バックアップ サーバが使用されます。このときエラーやタイムアウトの代わりに、認識を促すメッセージやリダイレクト ページをクライアントに配信する必要があります。 以下の例では、サーバ バックアップは最後の手段的役割のサーバとして設定されており、クライアントに対し、技術メンテナンスを現在実行中であることを伝える静的ページのみを提供します。 srv1~srv4 の 4 つのサーバがすべて停止した場合は、サーバ バックアップからコンテンツが提供されます。
プロパティ |
値 |
注 |
backup_outputs |
out8 |
|
コントロール Web サービス インターフェースの使用
コントロール Web サービス インターフェースは、動的かつプログラム的に HALB の出力端子を有効/無効にする方法を提供します。 また、出力端子すべての現在の状態を取得するときにも使用できます。 このインターフェースは、HALB の ctl 端子を介して公開されます。
以下の図は、複数の Web サーバおよびデータベース サーバからなるクラスタ環境を示しています。 それぞれの Web サーバおよびデータベース サーバには、HALB の ctl 端子へのフィードバック接続があります。 Web サーバがデータベース/接続性/パフォーマンスに関する問題を検出した場合、対応する出力端子を無効にすることによって、Web サーバへのトラフィック転送を停止するよう HALB に命令することができます。 同様に、どのデータベース サーバも、HALB の出力端子を無効にすることにより、受信トラフィックをすべて無効にできます。 問題の解決後、出力端子は再度有効にすることができます。
アプライアンス内で使用されるオープン ソース/サードパーティ ソフトウェア
HALB では、そのベース クラス LUX5 によって使用されるサードパーティのオープン ソース パッケージに加えて、以下のサードパーティ オープン ソース パッケージを使用します。
ソフトウェア |
バージョン |
変更 |
ライセンス |
注 |
haproxy |
1.4.9 |
なし |
GPLv2 |
ホームページ |
php-thttpd |
2.25b |
なし |
BSD |
該当なし |
Copyright © 2011 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |