Cisco Content Services Switch コンテント ロード バランシング コンフィギュレーション ガイド Software Version 8.20
Dynamic Feedback Protocol のサーバ ロード バランシング のための設定
Dynamic Feedback Protocol のサーバ ロード バランシングのための設定
発行日;2012/01/11 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

Dynamic Feedback Protocol のサーバ ロード バランシングのための設定

DFP の概要

DFP エージェントの機能

DFP メッセージのタイプ

DFP システムのフロー

DFP エージェントの設定

サービス間での一貫した重みの範囲の維持

設定された DFP エージェントの表示

設定した DFP エージェントがサポートするサービスの表示

DFP 情報の表示

show service コマンドの使用

show rule services コマンドの使用

Dynamic Feedback Protocol のサーバ ロード バランシングのための設定

Dynamic Feedback Protocol (DFP)は、ロード バランス サーバ間(ローカルおよびリモートの双方)で、そのステータスの変更と、CSS にサービスを提供できるかどうかを、動的に報告するためのメカニズムです。サーバが CSS に送信するステータス レポートには、各サーバの負荷とアベイラビリティを表す相対的な重み/接続数の情報が含まれます。CSS はサーバからのフィードバックを、次の目的でロード バランシング決定のプロセスに組み込みます。

サーバのアベイラビリティ情報を取得する。

複数のサイト間での負荷のアンバランスを見つけ出す。

トラフィックをより均等に分散する。

この章の内容は次のとおりです。

DFP の概要

DFP エージェントの設定

サービス間での一貫した重みの範囲の維持

設定された DFP エージェントの表示

設定した DFP エージェントがサポートするサービスの表示

DFP 情報の表示

この章の内容は、特に指定のない限り、すべての CSS モデルに共通です。

DFP の概要

DFP マネージャ(CSS では 1 タスクとして動作し、ロード マネージャの一部としても動作している)は、各サーバ上にある DFP エージェントとの TCP 接続を確立する役割を担います。DFP マネージャは、同時に 127 までの DFP エージェントと通信できます。DFP エージェントは、実際のサーバ上で動作するソフトウェアである場合と、ロード バランシングの目的で 1 つ以上のサーバから情報を収集し統合する独立したハードウェア装置である場合があります。DFP エージェントは、さまざまなサードパーティ製のものが入手できます。

DFP エージェントは、ロード バランス サーバから相対的重みを収集し、DFP マネージャに定期的に負荷ベクターの形で、新しいまたは調節した重みを送信します。CSS ロード マネージャは、各ロード バランスサーバに割り当てた重みに従って、これらのサーバ間(ローカルまたはリモート)に、受信した接続要求またはサービス要求を振り分けます。ロード マネージャは、報告された重みを使用して最も負荷の少ないサーバを選択します。その結果、サーバの最適なパフォーマンスとより速い応答時間が得られます。


) 所有者コンテンツ設定モードで add service weight コマンドを使用してサービスに重みを設定した場合、そのコンテンツ ルールでは、この設定された重みが DFP エージェントが報告したサービスの重みより優先されます。一方、DFP が報告した重みは、サービス設定モードでサービスに設定した重みより優先されます。


CSS は、ラウンドロビン、加重ラウンドロビン、Arrowpoint Content Aware (ACA)、最小接続などのロード バランシング アルゴリズムを使用して、受信した接続要求やサービス要求を振り分けます。加重ラウンドロビン方式では、DFP エージェントが報告するサーバの重みを利用することができます。

加重ラウンドロビン ロード バランシング方式では重みを使用して、最大の重みをもつサーバに振り分ける連続接続数を指定します。そして、この数の接続の振り分けが済んでから、次に大きい重みのサーバに移ります。サーバの負荷が変化すると、DFP エージェントは各サーバの重みを計算しなおし、DFP マネージャにその結果の重みを報告します。これは、ロード マネージャがサービス要求をどのように振り分けるかに影響を与えます。CSS サーバのロード バランシングの詳細については、 第 10 章「コンテンツ ルールの設定」 を参照してください。

ここでは、次の内容について説明します。

DFP エージェントの機能

DFP メッセージのタイプ

DFP システムのフロー

DFP エージェントの機能

DFP エージェントはサーバの重みと接続情報を DFP マネージャーに報告します。複数の DFP エージェントを 1 つのサーバ プラットフォームに設定することができます。エージェントを使用することで、ロード バランシング プロセスにいくつかの利点が生まれます。DFP エージェントは、CSS にサーバの次のような状態を知らせることができます。

輻輳していること

使用中であること

当面、ロード バランシングに使用できないこと

DFP メッセージのタイプ

DFP エージェントと CSS の DFP マネージャの間で通信を行うために、次のメッセージが定義されています。

プリファレンス情報メッセージ。IP サーバのステータスと重みについて報告します。この情報は、DFP エージェントから DFP マネージャに送られます。

サーバ状態メッセージ。DFP マネージャから DFP エージェントに送られ、DFP ロード マネージャがサーバをインサービスまたはアウトオブサービスにしたことをエージェントに報告します。

DFPパラメータ。DFP マネージャからエージェントに設定情報を送信します。現在、渡される設定パラメータは、キープアライブ間隔だけです。

DFP メッセージは、DFP ヘッダー(シグナル ヘッダー)とそれに続くメッセージ ベクターからなります。ベクターはオプションのコマンドであり、定義したメッセージ内に挿入されます。それぞれのメッセージ ベクターは、DFP メッセージの各ベクターの最初の部分であるベクター ヘッダーと、それに続く定義済みベクターに固有なデータからなります。ベクター ヘッダーを使って、DFP マネージャまたは DFP エージェントは、理解できないベクターまたはコマンドを廃棄します。

DFP に定義されたベクターには、次のものがあります。

セキュリティ ベクター :各 DFP メッセージの検証を許可する。

負荷ベクター :実際に報告するサーバの実際の負荷情報が入っている。この情報は、そのサーバが選択される能力を表します。

キープアライブ ベクター :DFP 接続設定の一部。キープアライブ ベクターを使って、ロード マネージャは、DFP エージェントに最小の時間間隔(この間にエージェントは DFP 接続を介して情報を CSS に送信する必要がある)を通知できます。

CSS は、理解できないベクター タイプのメッセージを受け取った場合、その不明のベクターを廃棄します。

DFP システムのフロー

CSS に DFP エージェントを設定すると、DFP マネージャは、その DFP エージェント(そのエージェントがサポートするサーバの数に関係なく)と、DFP エージェント設定で指定したパラメータを使って 1 本の TCP 接続を開始します。DFP マネージャは、必要な場合、デフォルトのキープアライブ時間を変更するために、キープアライブ ベクターを DFP メッセージに入れて送信します。

接続が確立された後に、DFP エージェントは定期的に負荷ベクターの形でアップデート情報を送信します。エージェントは送信する情報がない場合も、接続が切断されることを防ぐために空の DFP パケットを送信する必要があります。

DFP エージェントに複数のサーバから情報を収集する役割がある場合、それらのサーバはポート番号とプロトコル タイプでグループ化されているため、各グループにつき 1 つの負荷が必要です。DFP エージェントは 1 つの重みレポートで 128 までのサーバの重みの情報を報告できます。調整された重みの情報を受け取ると、DFP マネージャは通知されたサーバの重みを、ロード バランス サーバのリスト内で更新します。

DFP が無効になると、所有者コンテンツ設定モードで add service weight コマンドを使用してサーバに設定した(対象のコンテンツ ルールだけの)重み、またはサービス設定モードでサーバに設定した重みが、CSS で使用されます(前者の重みが優先されます)。サービスに重みが設定されていない場合、CSS はデフォルトの重み 1 を使用してサーバのロード バランシングを実行します。DFP エージェントと DFP マネージャ間の接続がタイムアウトのために閉じられると、CSS は、DFP マネージャが DFP エージェントとの接続を再確立し新しい重みレポートを取得するまで、ロード バランシングにデフォルトの重みを使用します。

設定した DFP エージェントが MD5 セキュリティをサポートしている場合、DFP マネージャに共通キーのテキスト文字列を指定することができます。MD5 暗号化は強化暗号化保護を提供する不可逆的なハッシュ関数です。CSS は、DFP マネージャと、サーバの DFP エージェント間で MD5 保護接続を行います。この保護環境では、CSS は、サーバからの DFP メッセージに MD5 コードがない場合、そのメッセージをすべて廃棄します。

図 8-1 に、DFP マネージャ(CSS 上の)と DFP エージェント間の関係を示します。

図 8-1 DFP マネージャから DFP エージェントへのシステム フローの例

 

DFP エージェントの設定

サーバ上の特定の IP アドレスと TCP ポートの組み合わせの DFP 接続を傍受するように DFP エージェントを設定し、CSS の DFP マネージャを有効にするには dfp コマンドを使用します。


) DFP と SASP を CSS に、同時に設定することはできません。SASP が有効になっている CSS で DFP を有効化しようとすると、次のエラー メッセージが表示されます。

% SASP agent is alreadt configured; SASP and DFP cannot be run
simultaneously


CSS の DFP マネージャには 127 までの DFP エージェントを設定できます。DFP エージェントと特定の IP アドレスとの接続を無効にするには、 no dfp コマンドを使用します。

dfp コマンドのシンタックスは次のとおりです。

dfp ip_or_host { port } { key " secret " |[ des-encrypted encrypted_key | " encrypt_key " ]} { timeout seconds } { retry count }{ delay time } { max-agent-wt weight }

変数とオプションは、次のとおりです。

ip_or_host :設定した DFP エージェントの IP アドレスまたはホスト名。ドット付き 10 進表記の IP アドレス(192.168.11.1など)、またはニーモニック ホスト名(myhost.mydomain.com など)を入力します。

port :(オプション)設定した DFP エージェントが CSS の DFP マネージャからの接続要求を監視するために使用する、サーバの TCP ポート。有効なエントリは 0~65535 です。デフォルトは 14001 です。


) DFP エージェントが DFP マネージャからの接続要求を受信するポートには、サービス TCP キープアライブを送信しないでください。そのように設定すると、標準で実行される DFP キープアライブが正しく機能しません。


key " secret " :(オプション)MD5 保護キー。CSS の DFP マネージャと DFP エージェントの間で安全なデータ交換機能を行うための暗号化に使用します。MD5 暗号化は強化暗号化保護を提供する不可逆的なハッシュ関数です。大文字小文字を区別し引用符で囲んだテキスト文字列(最大 64 文字)のシークレット文字列を入力します。タブを除くすべての印字可能な ASCII 文字を使用することができます。

DFP が適切に機能するためには、DFP マネージャで設定したすべての DFP エージェントに同じキーを設定する必要があります。あるエージェントのキーが DFP マネージャのキーと異なる場合、接続は確立されず、その DFP エージェントは CSS に重みレポートを送信できなくなります。DFP マネージャが特定のキーを使用してエージェントへの接続に失敗すると、CSS は、情報メッセージ「Secret key might not be same as DFP agent's key. Check secret key」を SYSLOG に記録します。

des-encrypted :(オプション)Data Encryption Standard (DES; データ暗号規格)キーが続くことを示す。

encrypted_key :CSS が以前に暗号化した DES キー。CSS ではこのキーを再暗号化しません。CSS では、実行設定に入力したとおりのキーが保存されます。大文字小文字を区別して、スペースを含まない 128 文字以内のテキスト文字列を引用符で囲まずに入力します。

" encrypt_key " :CSS が暗号化する DES 暗号化キー。CSS は、暗号化キーを入力したとおり実行設定に保存します。大文字小文字を区別して、スペースを含まない 64 文字以内のテキスト文字列を引用符で囲んで入力します。

timeout seconds : (オプション)CSS の DFP マネージャとサーバの DFP エージェントとの間の最大無活動時間(キープアライブ時間)。無活動時間がこのタイムアウト値を超えると DFP マネージャは接続を閉じます。DFP マネージャは retry オプションで指定した値の間隔で接続の再確立を試みます。指定可能な範囲は 1~10000 秒です。デフォルトは 3600 秒(1 時間)です。

retry count (オプション)CSS の DFP マネージャがサーバの DFP エージェントとの接続を再確立しようと試行する回数。範囲は 0 (連続再試行)~65535 です。デフォルトは 3 回の再試行です。

delay time (オプション)遅延時間(秒)。接続再確立の実行間隔です。有効なエントリは 1 (遅延なし)~65535 秒(18 時間)です。デフォルト値は 5 秒です。

max-agent-wt value :(オプション)DFP エージェントがレポートする重みの最大値。CSS はこのオプションを使用して、DFP エージェントの重みの範囲が DFP の範囲と一致しない場合に、報告された重みをスケーリングします。たとえば、DFP マネージャの重みの範囲が 0~255 だとします。DFP エージェントが 0~16 の重みの範囲を報告する場合、CSS はエージェントの報告した重みを DFP マネージャの重みの範囲に拡張します。DFP エージェントが 0~65535 の重みの範囲を報告する場合は、CSS はエージェントの報告した重みを DFP マネージャの重みの範囲に縮小します。

設定した最大の重みより大きい重みの値が DFP エージェントによって報告された場合、CSS はその報告を拒否し、ロード バランシングの決定にその重みの値を使用しません。この場合、CSS は SYSLOG にエラーも記録します。1~65535 の整数を入力します。デフォルトは 255 です。

たとえば次に示すコマンドでは、DFP マネージャを、次のオプションと変数に従って、特定のアドレスで動作する DFP エージェントと通信するように設定しています。

DFP エージェントの IP アドレス:192.168.1.2

ポート:14001 (デフォルト)

MD5 保護キー:"hello"

接続のタイムアウト:6000 秒

接続の再試行回数:3

接続の 2 つの再試行間の遅延:60 秒

(config)# dfp 192.168.1.2 14001 key “hello” timeout 6000 retry 3 delay 60
 

DFP エージェントを無効にするには、次のように入力します。

(config)# no dfp 192.168.1.2
 

サービス間での一貫した重みの範囲の維持

CSS の重みの範囲は 1~10 です。DFP マネージャの重みの範囲は 0 ~255 です。この重みの範囲の違いにより、DFP 外にある同じサービスの重みの範囲が DFP のものと矛盾しないようにするために、個々のサービスに設定した DFP エージェントの重みを手動で調節しなければならない場合があります。

たとえば、同じコンテンツ ルールで 3 つのサービス(serv1、serv2、および serv3)を、それぞれ重み 1、2、および 5 に設定したとします。DFP エージェントが serv1 の重みを 20 として報告した場合、serv1 は serv2 の 2 接続ごと、および、serv3 の 5 接続ごとに、20 接続を受信することになります。その結果、特に serv2 と serv3 が速いサーバで未使用のリソースが多くある場合に、serv1 に不釣合いな負荷がかかることになります。

この問題を解決し 3 台のサーバすべてに同じ重みの範囲を維持するには、次のいずれかの方法を採ることができます。

DFP エージェントで、serv1 に対して強制的に 1~10 の範囲の重みを報告するように設定する。

DFP エージェントが 3 つのサービスすべての重みを報告するようにし、これらに同じ重みの範囲を報告するように設定する。

設定された DFP エージェントの表示

報告の目的で、 show dfp コマンドを使用して、CSS に設定された DFP エージェントを表示することができます。このコマンドでは、すべての DFP エージェントまたは特定の IP アドレスまたはホスト名の DFP エージェントが、IP アドレス、DFP マネージャに接続しているポート番号、DFP エージェントの現在の状態、DFP の TCP 接続のキープアライブ時間、および該当エージェントの DES 暗号化キー(設定されている場合)に従って表示されます。

このコマンドのシンタックスは次のとおりです。

show dfp ip_or_host

ip_or_host 変数により、特定の IP アドレスやホスト名で動作している 1 つ以上の DFP エージェントを指定することができます。

たとえば、すべての DFP エージェントの設定情報を表示するには、次のように入力します。

# show dfp
 

表8-1 に、 show dfp コマンド出力で表示されるフィールドについて説明します。

 

表8-1 show dfp コマンド出力のフィールド

フィールド
説明

IP Address

設定した DFP エージェントの IP アドレス

Port

設定した DFP エージェントのポート番号。デフォルトは 14001 です。

State

DFP エージェントの状態。値は、Active、Dead、または Connecting です。

KAL

DFP マネージャと DFP エージェント間の TCP 接続に設定された最大無活動時間(秒単位)。この時間が過ぎると CSS は接続を切断します。

MD5 Key

DFP エージェントの DES 暗号化キー(設定されている場合)

設定した DFP エージェントがサポートするサービスの表示

設定した DFP エージェントが報告したロード バランス サービスの重みを個別に表示するには、 show dfp-reports コマンドを使用します。このコマンドの出力では、報告するサービスのポート番号、プロトコルのタイプ、およびサーバの IP アドレスによって重みがグループ化されています。

このコマンドのシンタックスは次のとおりです。

show dfp-reports { ip_or_host { port number { protocol text { ip ip_or_host }}}}

このコマンドのオプションと変数は次のとおりです。

ip_or_host :設定した DFP エージェントの IP アドレスまたはホスト名。ドット付き 10 進表記の IP アドレス(192.168.11.1 など)、またはニーモニック ホスト名(myhost.mydomain.com など)を入力します。

port number :(オプション)ロード バランシングが設定されたサーバまたはサービスのポート番号。有効なエントリは 0~65535 です。デフォルトは 14001 です。

protocol text :(オプション)ロード バランス サーバまたはサービスのプロトコル タイプ。値は、TCP、UDP、HTTP、または FTP です。

ip ip_or_host :(オプション)ロード バランス サーバまたはサービスの IP アドレスまたはホスト名。ドット付き 10 進表記の IP アドレス(192.168.11.1など)、またはニーモニック ホスト名(myhost.mydomain.com など)を入力します。

次に示すのは、192.168.1.2 に設定した DFP エージェントによるサーバ 192.168.1.3 の重みの報告の例です。重みはまずポート番号で、次にプロトコルでグループ化されています。

# show dfp-reports 192.168.1.2 port 80 protocol tcp ip 192.168.1.3
 

表8-2 に、 show dfp-reports コマンド出力で表示されるフィールドについて説明します。

 

表8-2 show dfp-reports コマンド出力のフィールド

フィールド
説明

Service

DFP エージェントが報告する対象のサービスに設定された名前

Weight

DFP エージェントがそのサービスについて最後に報告した重み

Time-Stamp

最後に受信したレポートの月、日付、および時間

# of Reports

合計レポート数

DFP 情報の表示

DFP 情報の表示方法については、次の項を参照してください。

show service コマンドの使用

show rule services コマンドの使用

show service コマンドの使用

サービス固有の情報を表示するには、 show service コマンドを使用します。 show service コマンドの出力には、 DFP フィールドがあり、DFP の状態が示されます。この状態には、Enable と Disable があります。

DFP が設定され、所有者コンテンツ設定モードでサービスに重みが設定されていない場合、状態は Enable になります。DFP の状態は、DFP が有効化されていない場合、または DFP が有効化されてはいるが所有者コンテンツ設定モードで add service weight コマンドを使用して、そのサービスに重みが設定されている場合 Disable になります。

show service コマンドの詳細については、 第 3 章「サービスの設定」 「サービス設定の表示」を参照してください。

show rule services コマンドの使用

所有者コンテンツ モードで show rule services コマンドを使用し、サービス モード、所有者コンテンツ モード、および DFP の各サービスに設定した重みを、それらサービスに関連するその他の情報と共に表示することができます。このコマンドの出力には、コード文字とそれに続けて各サービスに割り当てられた重みが表示されます。コード文字の意味は次のとおりです。

D :DFP エージェントが報告した重み

R :所有者コンテンツ モードで add service weight コマンドを使用してサービスに設定した重み

S :サービス モードで weight コマンドを使用してサービスに設定した重み

show rule services コマンドの詳細については、 第 10 章「コンテンツ ルールの設定」 を参照してください。