この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
実サーバへのヘルス プローブを設定すると、実サーバが正しく動作しているかどうかを調べることができます。 実サーバのヘルスは、次のように分類されます。
• サスペクト-実サーバに到達できないか、または無効な応答が戻ります。 プローブは再試行されます。
• 失敗-指定回数だけ続けて再試行したあと、実サーバは応答に失敗します。 失敗という情報が通知されると、CSMはそれに従って着信接続を調整します。 サーバが再びアクティブになるまで、プローブは失敗状態のままです。
CSMは、実サーバのモニタに使用されるプローブをサポートします。 プローブを設定する手順は、次のとおりです。
CSM は FTP、DNS、HTTP など、実サーバをモニタするさまざまなプローブ タイプをサポートします。
(注) デフォルトでは、CSM 上にプローブは設定されていません。
ヘルス プローブ モニタリング用に CSM を設定する場合は、次の動作を含む多層的アプローチを使用することができます。
• アクティブ プローブ-これらのプローブを定期的に実行します。 Internet Control Message Protocol(ICMP)、TCP、HTTP、およびその他の事前に定義されたヘルス プローブはこのカテゴリに入ります。 スクリプト化されたヘルス プローブもここに入ります。 アクティブなプローブは、セッションのセットアップまたはシステムのティアダウンに影響しません。
• パッシブ モニタリング(帯域内ヘルス モニタリング)-サーバのサービスを停止するなどの致命的なエラーに関するセッションをモニタします。 致命的なエラーは、サーバからリセット(RST)されたか、またはサーバから応答がない可能性があります。 これらのヘルス チェックは、フルセッション レートで動作し、サーバの故障を迅速に認識します。
• パッシブ HTTP エラー コード チェック(帯域内応答解析)-CSM は、HTTP リターン コードを解析し、サーバが使用不可になる「サービス利用不可」のようなコードを監視します。 パッシブHTTPエラー コード チェックは、セッションのパフォーマンスにはほとんど影響しません。
プローブを用意するには、プローブ サブモードでプローブに名前を付け、プローブ タイプを指定して、プローブを設定する必要があります。
プローブを設定してから、プローブをサーバ ファームに関連付けて、有効にする必要があります。 サーバ ファーム内のすべてのサーバは、このサーバ ファームに関連付けられたプローブ タイプのプローブを受信します。 1つのサーバ ファームに1つまたは複数のプローブ タイプを関連付けることができます。
実サーバまたは仮想サーバの設定時にポート番号を割り当てる場合は、プローブの設定時にポート番号を指定する必要はありません。 プローブは実サーバまたは仮想サーバ コンフィギュレーションからポート番号を引き継ぎます。
ヘルス プローブ コンフィギュレーションでオプションのヘルス プローブ ポート機能を使用し、プローブにポートを明示的に指定することによって、実サーバまたは仮想サーバのポート情報を変更できます。 この機能を使用すると、実サーバまたは仮想サーバでポートが指定されていない場合に、ヘルス プローブが使用するポートを設定できます。
プローブを設定してから、サーバ ファームに 1 つまたは複数のプローブを関連付けます。 サーバ ファーム内のすべてのサーバは、このプールに関連付けられたプローブ タイプのプローブを受信します。
(注) 対応するサービスが動作していない実サーバを含むサーバ ファームに特定タイプのプローブが関連付けられている場合に、そのタイプのプローブを受信すると、実サーバはエラー メッセージを送信します。 その結果、CSM は実サーバを失敗ステートにして、サーバ ファームからその実サーバを使用できないようにします。
プローブのタイプおよび名前を指定する手順は、次のとおりです。
|
|
|
---|---|---|
|
• probe-nameは、設定中のプローブの名前を表す最大15文字の文字列です。 • httpを指定すると、デフォルト設定のHTTPプローブが作成されます。 • icmpを指定すると、デフォルト設定のICMPプローブが作成されます。 • telnetを指定すると、デフォルト設定のTelnetプローブが作成されます。 • tcp を指定すると、デフォルト設定のTCPプローブが作成されます。 • ftp を指定すると、デフォルト設定のFTPプローブが作成されます。 • smtp を指定すると、デフォルト設定のSMTPプローブが作成されます。 |
|
|
プローブ用のオプション ポートを設定します3。 |
|
|
||
|
1.設定からプローブ タイプを削除するには、no形式を使用します。 2.パフォーマンス アラートを受信した場合、帯域内ヘルス モニタリングの方が、よりスケーラブルなソリューションになります。 |
(注) プローブの名前およびタイプを指定すると、最初にデフォルト値が設定されます。 デフォルト設定を変更するには、プローブ コンフィギュレーション コマンドを入力します。
(注) タイムアウト値には open とreceive の2種類があります。 open のタイムアウトでは、接続のオープンを待機する秒数(SYN の送信後、SYN ACK を待機する秒数)を指定します。 receive のタイムアウトでは、データの受信を待機する秒数(GET/HEAD要求の送信後、HTTP 応答を待機する秒数)を指定します。 TCP プローブは、オープンするとデータを送信しないでただちにクローズされるので、receive のタイムアウトは使用しません。
|
|
---|---|
|
|
|
サーバに接続できないとマークするまでに行われるプローブの回数を設定します1。 |
|
サーバに接続できないとマークするまでにヘルス チェックを行う間隔を設定します。 この時間は秒単位です1。 |
|
TCP接続を待機する最大時間を設定します。 このコマンドはTCP以外のヘルス チェック(ICMPまたはDNS1)には使用しません。 |
4.デフォルトの設定に戻すには、このコマンドのno形式を使用します。 5.パフォーマンス アラートを受信した場合、帯域内ヘルス モニタリングの方が、よりスケーラブルなソリューションになります。 |
HTTPプローブは実サーバに対するHTTP接続を確立し、HTTP要求を送信して、応答を確認します。 probe probe-name httpコマンドを実行すると、HTTPプローブ コンフィギュレーション サブモードが開始されます。
|
|
|
---|---|---|
|
HTTPプローブを設定して、HTTPプローブ サブモードを開始します1。 |
|
|
HTTP SLBプローブの基本認証値を設定します6。 |
|
|
HTTPプローブから戻ることが予測されるステータス コードを設定します。 expect statusコマンドを一度に1つずつ入力することによって、複数のステータス範囲を設定できます1。 min-number-max-numberを指定しなかった場合、この値が単一ステータス コードになります。 最大数を指定した場合、この値がステータス コード範囲の下限になります。 max-number-ステータス コード範囲の上限です。 デフォルト値は 0~999(サーバからの応答はいずれも有効)です。 (注) 上限を指定しなかった場合、このコマンドには単一の値(min-number)が設定されます。 最小数と最大数の両方を指定した場合、このコマンドには範囲が設定されます。 |
|
|
HTTPプローブのヘッダー フィールドを設定します。 複数のヘッダー フィールドを指定できます1。 |
|
|
HTTPプローブで使用する要求メソッドを設定します1。 • get-HTTP get 要求メソッドは、このページを取得するようにサーバに指示します。 • head-HTTP head要求メソッドは、このページのヘッダーだけを取得するように、サーバに指示します。 • url-最大 1275 文字の文字列で URL パスを指定します。デフォルトでは「/」です。 (注) CSM がサポートしているのは、get および head 要求メソッドだけです。post およびその他のメソッドはサポートしません。 デフォルトのメソッドはgetです。 |
ICMP プローブは ICMP エコー(ping など)を実サーバに送信します。 probe icmpコマンドを入力すると、ICMPプローブ コンフィギュレーション モードが開始されます。 一般的なprobeコマンドはすべてサポートされていますが、openコマンドはサポートされずに無視されます。
|
|
|
---|---|---|
|
ICMPプローブを設定して、ICMPプローブ サブモードを開始します7。 |
|
|
||
|
||
|
ICMP がないと UDP プローブはサーバのダウンまたはサーバの切断を検出できないため、UDP プローブには ICMP が必要です。 UDP をスーパーバイザ エンジンに関連付けて、ICMP を設定する必要があります。
UDP プローブは Raw UDP プローブのため、CSM はプローブの応答ペイロードに単一のバイトを使用します。 CSM は UDP アプリケーションから意味のある応答がくることを想定していません。 CSM は ICMP 到達不能メッセージを使用して、UDP アプリケーションが到達可能かどうかを判断します。 受信タイムアウトで ICMP 到達可能の応答がない場合でも、CSM はプローブが正常と判断します。 実サーバのIPインターフェイスがダウンまたは切断された場合、UDP プローブは自身で UDP アプリケーションが到達不能になっていることを判断できません。 指定のサーバの UDP プローブのほかに ICMP プローブを設定する必要があります。
CSM は高レベル UDP アプリケーションとして DNS プローブを使用します。 また、TCL スクリプトを使用してこのプローブを設定することもできます。 第 10 章「CSM の TCL スクリプトの使用」 を参照してください。
|
|
|
---|---|---|
|
UDPプローブを設定して、UDPプローブ サブモードを開始します8。 |
|
|
||
|
||
|
TCP プローブは接続を確立および解除します。 probe tcpコマンドを入力すると、TCPプローブ コンフィギュレーション モードが開始されます。 一般的なprobeコマンドはすべてサポートされます。
|
|
|
---|---|---|
|
TCPプローブを設定して、TCPプローブ サブモードを開始します9。 |
|
|
||
|
FTP、SMTP、または Telnet プローブは実サーバへの接続を確立し、アプリケーションからグリーティングが届いたかどうかを検証します。 probe(ftp、smtp、またはtelnet)コマンドを実行すると、対応するプローブ コンフィギュレーション モードが開始されます。 一般的なprobeコマンド オプションはすべてサポートされます。 一度に1つずつコマンドを実行することによって、複数のステータス範囲を指定できます。
FTP、SMTP、またはTelnetプローブから戻ることが予測されるステータス コードを設定する手順は、次のとおりです。
|
|
|
---|---|---|
|
FTP、SMTP、またはTelnetプローブを設定し、FTP、SMTP、またはTelnetプローブ サブモードを開始します10。 |
|
|
||
|
||
|
DNSプローブは実サーバにドメイン名解決要求を送信し、戻されたIPアドレスを確認します。 probe dns コマンドを実行すると、DNSプローブ コンフィギュレーション サブモードが開始されます。 一般的なprobeコマンドはすべてサポートされますが、openはサポートされずに無視されます。
|
|
|
---|---|---|
|
DNSプローブを設定して、DNSプローブ サブモードを開始します11。 |
|
|
DNS接続を行うためのプローブ間の待機間隔、サーバから応答を受信する時間、および実サーバに接続できないと見なされるまでに行われる再試行回数の上限を指定します。 |
効率的な接続バランスを設計するには、CSM はコンフィギュレーションに含まれているすべての実サーバの状態をたえずモニタしていなければなりません。 帯域内ヘルス モニタリング機能を各サーバ ファームに設定し、サーバの状態をモニタします。 サーバ ファームごとに設定されたパラメータは、そのサーバ ファーム内の個々の実サーバに適用されます。 実サーバが到達不能とみなされるまでに許容される、セッションの異常終了回数を設定できます。また、実サーバをサーバ ファームに再び組み込み、接続を試行するまでの待機時間も指定できます。
この機能は、ヘルス プローブと連動します。 あるサーバにヘルス プローブと帯域内ヘルス モニタリングを両方とも設定した場合、サーバ ファーム内の実サーバでサービスを維持するには、両方のヘルス チェック セットを実行する必要があります。 どちらか一方のヘルス チェック機能でサーバの停止が検出された場合、CSMはロードバランスの対象としてそのサーバを選択しません。
帯域内ヘルス モニタリングを設定する手順は、次のとおりです。
ステップ 1 サーバ ファームが設定されていることを確認します (「サーバ ファームの設定」を参照)。
ステップ 2 serverfarm サブモード コマンドを入力し、各サーバ ファームに対して帯域内ヘルス モニタリングをイネーブルにします。
(注) retriesでは、実サーバをサービスから除外するまでにCSMが許容する、セッションの異常終了回数を指定します。 failedでは、帯域内ヘルス チェックによってサービスから除外された実サーバへの接続を再試行するまでに、CSMが待機する時間を秒単位で指定します。
次に、geoというサーバ ファームに対して帯域内ヘルス モニタリングをイネーブルにする例を示します。
ここでは、HTTP リターン コードのチェック機能について説明します。
リターン エラー コード チェック(リターン コード解析)機能は、サーバがいつWebページを正しく返さなかったかを調べる場合に使用します。 この機能は、CSM のパケットを調べる機能を拡張し、HTML リターン コードを解析し、サーバが戻したリターン コードに作用します。
CSM から HTTP 要求を受信したサーバは、HTTP リターン コードを使用して応答します。 CSM はこの HTTP リターン エラー コードを使用することによって、サーバの可用性を判別できます。 特定のリターン コードを受け取った場合に、サーバを使用停止にするように CSM を設定できます。
RFC 2616 で、定義済みコードのリスト(100~599)が指定されています。リターン コードをチェックする場合、一部のコードは特に有効です。 たとえば、404というリターン コードは、URL が見つからなかったという定義です。これは、ユーザが URL を正しく入力しなかった結果である可能性があります。 エラー コード 404 は、不良ディスク ドライブが原因で Web サーバが要求されたデータを見つけられなかった場合など、Web サーバのハードウェアの問題を意味することもあります。 この場合、Web サーバそのものはアクティブですが、ディスク ドライブが故障しているので、要求されたデータを送信できません。 サーバがデータを返せないかぎり、そのサーバには今後、データ送信を要求しないでおくべきです。 リターン コード チェックで使用するエラー コードを特定する場合は、RFC 2616 を参照してください。
HTTP リターン コード チェックを設定すると、CSM はロードバランス対象のすべての HTTP 接続から送信されたHTTP 応答をモニタし、実サーバごとにリターン コードの発生を記録します。 CSM はリターン コードのカウントを保存します。 リターン コードがスレッシュホールドに達した場合、CSM は syslog メッセージを送信したり、またはサーバをサービスから除外したりすることができます。
デフォルトの動作、リターン コードのカウント、syslog メッセージの送信を適用できます。またはサービスから実サーバを削除できます。 これらの動作または一連のこれらの動作をサーバ ファームに適用できます。 1 つの仮想グループを複数のサーバ ファームにバインドすることによって、複数のサーバ ファームで 1つのリターン コード サーバ ファーム ポリシーを再利用することもできます。
(注) 仮想サーバにHTTP リターン コード チェックを設定すると、その仮想サーバのパフォーマンスが低下します。 リターン コードの解析をイネーブルにした場合、あらゆる HTTP サーバ応答でリターン コードを解析しなければなりません。
リターン エラー コード チェックを設定するには、サーバ ファームの属性を設定し、サーバ ファームをリターン コード マップと関連付ける必要があります。
リターン コード チェックを設定する手順は、次のとおりです。
ステップ 1 HTTP仮想サーバが設定されていることを確認します (「リダイレクト仮想サーバの設定」を参照)。
ステップ 2 マップ リターン コード コマンドを入力してリターン コードのマッピングをイネーブルに設定し、リターン コード マップ サブモードを開始します。
ステップ 4 リターン コード マップをサーバ ファームに割り当てます。
次に、リターン エラー コード チェックをイネーブルにする例を示します。