最新バージョン: 2.0.2-1
早見表 |
|
カタログ |
システム |
カテゴリ |
スイッチ |
ユーザ ボリューム |
なし |
最小 メモリ |
96M |
OS |
Linux |
制約 |
なし |
質問/コメント |
URLSW は、アプライアンス境界上で正規表現として定義されたルールに対するリクエスト URL またはリクエスト ヘッダのマッチングに基づき、HTTP リクエストを別の出力へ配信するスイッチです。 URLSW は、複数の Web またはアプリケーション サーバ アプライアンスを持つアプリケーションで使用され、それらの中で HTTP リクエストを柔軟に配信することができます。 URLSW はこれに類似した PS8 と同様に動作しますが、tcp/udp ポートの代わりに HTTP リクエストを解析するなど、よりハイレベルとなっています。
また、URLSW には埋め込みヘルス チェッカがあります。 ヘルス チェッカは、接続された出力端子を定期的にポーリングし、サーバがリクエストを処理する準備ができているかどうかを判断します。 チェックされたいずれかのサーバが機能しなくなると、URLSW は他の最も適切に動作しているサーバへリクエストをリダイレクトし、機能していないサーバへのリクエスト フローを自動的に無効にします。 以前に動作を停止していたサーバが正常状態に戻ると、ヘルス チェッカがそれを自動検出し、リクエストの受信を続行します。
スイッチはカスケード接続が可能です。定義された正規表現に一致しない受信トラフィックは、変更せずに aux 端子を介して転送されます。 outX および aux 端子上で受信したすべての受信トラフィックは、入力端子を介して戻ってきます。
URLSW は、通常、アプリケーション内の別のアプライアンスへの受信トラフィックをルーティングするために使用されます。
リソース
リソース |
最小 |
最大 |
デフォルト |
テスト |
CPU |
0.1 |
2 |
0.1 |
2 |
メモリ |
96 MB |
160 MB |
96 MB |
128MB |
帯域幅 |
1 Mbps |
2 Gbps |
250 Mbps |
1800 Mbps |
端子
名前 |
方向 |
プロトコル |
説明 |
in |
in |
HTTP |
共通入力。 受信したトラフィックは、定義された正規表現に対する URL またはヘッダのマッチングに基づき、出力の 1 つへ転送されます。 |
ctl |
in |
HTTP |
正規表現を設定し、出力を有効/無効にし、出力端子の設定および状態を取得するために使用する制御端子。 |
out1~out8 |
out |
HTTP |
設定済み出力。 リクエストは、outX_type および outX_value のプロパティに基づき特定の出力を介して転送されます。 これらの出力の一部やすべてを接続しないでおくことができます。接続されていない出力に転送されたリクエストは破棄されます。 |
aux |
out |
HTTP |
カスケード出力。 out1~out8 出力のどれにも受信リクエストが転送されない場合、この端子を介して送信されます。 この端子は接続しておかなくてもかまいません。 |
log |
out |
任意 |
ログを格納するための CIFS ベースのネットワーク ファイル システムへのアクセス(デバッグ目的)。 接続サーバは匿名ログインを許可し、share という名前の読み取り/書き込み共有が必要です。 使用しないとき、この端子は接続しておかなくてもかまいません。 |
mon |
out |
CCE |
パフォーマンスとリソースの使用状況統計を送信します。 使用しないとき、この端子は接続しておかなくてもかまいません。 |
一般プロパティ
名前 |
タイプ |
説明 |
outX_type |
文字列 |
受信リクエストが一致する基準を定義します。このプロパティは、hostname、cookie、url、file type の 4 つのうちから選びます。
デフォルト: hostname |
outX_value |
文字列 |
マッチングさせる正規表現。 正規表現の定義は、ここで利用できます。 例:
デフォルト: (空) |
ヘルス チェック プロパティ
名前 |
タイプ |
説明 |
healthcheck_url |
文字列 |
http_get および http_head のヘルス チェック メソッドを通じてバックエンド Web サーバのヘルス チェックを実行するのに使用される URL。 完全 URL (http://host.name/file/to/check/for.php)または相対パス(/file/to/check/for.php)として指定することができます。 URL として指定されている場合、ヘルス チェックは、Host: ヘッダ内で URL から抽出されたホスト名を使用してヘルス チェックを実行する一方で、HTTP/1.1 プロトコルを使用します。 これは、仮想ホストの使用を許可します。 相対パスとして指定した場合、ヘルス チェックは HTTP/1.0 プロトコルを使用し、このプロパティによって指定されたドキュメントをチェックします。 このプロパティが空の場合、ヘルス チェックは HTTP/1.0 プロトコルを使用して、デフォルト ルート「/」をチェックします。 |
healthcheck_agent |
文字列 |
http_get と http_head のヘルス チェック メソッド用のエージェント識別子として使用される文字列。 空の場合、URLSW-health-check が使用されます。 |
healthcheck_method |
文字列 |
バックエンド Web サーバのヘルス チェックに使用されるメソッド。
デフォルト: tcp_connect。 |
healthcheck_regexp |
文字列 |
http_get ヘルス チェック モードで使用するテスト文字列。 短いか一般的な値(たとえば 「OK」)は間違った正の一致の原因になる場合があります。 この文字列は perl の正規表現です。perl の正規表現に関する詳細は、こちらを参照してください。 |
healthcheck_interval |
整数 |
バックエンド Web サーバのヘルス チェックの間隔(秒で指定)。 |
タイムアウト プロパティ
名前 |
タイプ |
説明 |
keepalive_timeout |
整数 |
keep-alive 接続のタイムアウト。 その間はクライアントとの keep-alive 接続がサーバによって終了しないタイムアウトを設定します。 |
client_header_timeout |
整数 |
クライアントがリクエストのヘッダを送信するためのタイムアウト。 この時間の後でクライアントが完全なヘッダを受信しない場合、エラーが返されます。 |
client_body_timeout |
整数 |
クライアントがリクエストの本文を送信するためのタイムアウト。 このタイムアウトは、リクエストの本文全体は転送せず、2 回の読み取り操作の間のみに渡るように設定されます。 この時間の間にクライアントがデータをまったく送信しない場合、エラーが返されます。 |
send_timeout |
整数 |
クライアントがデータを受信するためのタイムアウト。 この間隔の間にクライアントが応答しない場合、接続は閉じられます。 このタイムアウトは、リクエストの本文全体は転送せず、2 回の書き込み操作の間のみに渡るように設定されます。 |
server_timeout |
整数 |
バックエンド サーバへの tcp 接続を確立するためのタイムアウト(単位は秒)。 これにはヘルス チェックが含まれます。 |
コントロール インターフェース プロパティ
名前 |
タイプ |
説明 |
ctl_port |
整数 |
ctl 端子を介して Web サービス コントロール インターフェースにアクセスするために使用するポート。 |
ロギング プロパティ
名前 |
タイプ |
説明 |
enable_access_log |
文字列 |
アクセス ログを有効または無効にします。 デフォルト: no |
access_log_filename |
文字列 |
アクセス ログのファイル名。 デフォルト: access.log |
カスタム カウンタ
URLSW アプライアンスは、mon 端子を介して以下のカスタム カウンタをレポートします。
カウンタ名 |
説明 |
アクティブな接続 |
アクティブな接続の数。 |
受け付けられた接続 |
受け付けられた接続の数。 |
処理された接続 |
処理された接続の数。 |
処理されたリクエスト |
処理されたリクエストの数。 |
アクティブな読み取り接続 |
アクティブな読み取り接続の数。 |
アクティブな書き込み接続 |
アクティブな書き込み接続の数。 |
アクティブな接続待機 |
アクティブな接続待機の数。 |
パフォーマンス
リクエスト レート
ドキュメント サイズや利用可能なネットワーク帯域幅にもよりますが、URLSW は毎秒 3000 以上のトランザクション(リクエスト/応答ペア)をルーティングします。
データ スループット
URLSW は 25MB/秒以上でルーティングします。
同時接続
URLSW は、1000 以上の同時リクエストをサポートします。 テストでは、URLSW は 10,000 を超えるアクティブな同時転送をサポートしました。
エラー メッセージ
アプライアンスの起動に失敗した場合、以下の内容のエラーがシステム ログにログ記録される場合があります。
エラー メッセージ |
説明 |
エラー: ctl 端子を初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
ctl 端子の初期化中にシステム エラーが発生しました。CA Technologies のサポートにお問い合わせください。 |
エラー: アクセス ログは有効ですが、log 端子が接続されていません。 |
log 端子は接続されていませんが、enable_access_log は「はい」に設定されています。 |
エラー: 外部ヘルス チェッカーを初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
外部ヘルス チェッカーの起動中にシステム エラーが発生しました。CA Technologies のテクニカル サポートにお問い合わせください。 |
エラー: 統計レポートを初期化できませんでした。CA Technologies のサポートにお問い合わせください。 |
統計レポートの初期化中にシステム エラーが発生しました。CA Technologies のサポートにお問い合わせください。 |
概要
コントロール Web サービス インターフェースは、設定されたポート ctl_port 上の ctl 端子に公開され、以下のことが可能になります。
プロトコル
出力端子のプログラムによる制御では、読み取り機能のみを提供する GET HTTP メソッドが使用されます。 したがって、サポートされているすべてのタイプのプロトコルで、リクエストはその URI および出力構造によって定義できます。 文字は URI では「特殊」と認識されるため、標準的な % エンコーディングを使用してエスケープする必要があります。
サポートされているすべての URI の説明を以下に示します。
制御呼び出し
以下の制御呼び出しを行えます。
指定された出力端子の正規表現リストのクリア
以下の図は、4 つの Web サーバおよびデータベースを使用する URLSW アプライアンスの典型的な使用状況を示しています。
使用中のアプライアンス:
プロパティ設定の例:
プロパティ名 |
値 |
注 |
out1_type |
hostname |
srv1 のリクエストは hostname によって一致します。 |
out1_value |
static.server.com、images.server.com |
hosts static.server.com および images.server.com のリクエストは srv1 によって対応されます。 |
out2_type |
file type |
srv2 のリクエストは file type によって一致します。 |
out2_value |
|
PDF ドキュメントは srv2 によって対応されます。 |
out3_type |
file type |
srv3 のリクエストは file type によって一致します。 |
out3_value |
*.php |
PHP スクリプト srv3 によって対応されます。 |
他のすべてのリクエストは、aux 端子に接続された時点で srv4 によって対応されます。
クライアント リクエストは user ゲートウェイに到達します。 リクエストはゲートウェイによって URLSW サーバに転送され、その場所から、アプライアンス プロパティ内で定義されているか ctl 端子によって動的に追加されるルールに従って、4 つの Web サーバ間に配布されます。 ctl 端子は管理者ゲートウェイからアクセスできます。
アプライアンス内で使用されるオープン ソース/サードパーティ ソフトウェア
URLSW では、そのベース クラス LUX5 によって使用されるサードパーティのオープン ソース パッケージに加えて、以下のサードパーティ オープン ソース パッケージを使用します。
ソフトウェア |
バージョン |
変更 |
ライセンス |
注 |
nginx-stable |
0.8.53 |
なし |
GPLv2 |
該当なし |
samba-client |
3.0.28-0.el5.8 |
なし |
GPLv2 |
該当なし |
samba-common |
3.0.28-0.el5.8 |
なし |
GPLv2 |
該当なし |
thttpd |
2.25b |
なし |
BSD |
ホームページ |
Copyright © 2011 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |