この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、コンテント スイッチングの設定方法について説明します。
• 「マップの設定」
(注) 仮想サーバをIPアドレスで設定すると、このサーバがサービス停止中であっても、この特定のIPに対するAddress Resolution Protocol(ARP)要求には応答を開始します。この機能は、特に動作可能な仮想サーバを既存のデバイスからContent Switching Module(CSM;コンテント スイッチング モジュール)に切り替える場合に重要となります。同一ネットワーク内のほかの装置と同じIPで設定されたCSM上に仮想サーバがないことを確認してください。
仮想サーバは、ポリシーによって実サーバ ファームに関連付けられた、一連の実サーバを表します。仮想サーバを設定するには、デフォルトのサーバ ファーム(デフォルトのポリシー)を指定する仮想サーバの属性を設定し、ポリシー リストを使用して他のサーバ ファームを関連付ける必要があります。デフォルト サーバ ファーム(デフォルト ポリシー)は、要求がどのServer Load Balancing(SLB;サーバ ロード バランシング)ポリシーとも一致しなかった場合、またはポリシーが仮想サーバに関連付けられていない場合に使用されます。
サーバ ファームを仮想サーバに関連付ける前に、サーバ ファームを設定する必要があります。詳細については、「サーバ ファームの設定」を参照してください。ポリシーは、仮想サーバ コンフィギュレーションに入力された順番で処理されます。詳細については、「ポリシーの設定」を参照してください。
各仮想サーバに保留接続タイムアウトを設定すると、スイッチがトラフィックで溢れた場合に、接続を迅速に切断することができます。この接続は、要求/応答プロセスが完了していないクライアントとサーバ間のトランザクションに適用されます。
カスタマーごとに異なる仮想サーバを割り当てているサービス プロバイダー環境では、CSMの接続リソースの大部分または全部を特定のサーバが吸収しないように接続を分散させる必要があります。
VIP接続ウォーターマーク機能を使用すると、CSMから特定の仮想サーバに振り分けられる接続数を制限できます。この機能では、仮想サーバごとに限度を設定できるので、全仮想サーバ間で接続リソースが公平に分散されます。
(注) レベル4またはレベル7のどちらかで動作する仮想サーバを1つだけ設定できます。レベル4で動作する仮想サーバを設定する場合は、仮想サーバ コンフィギュレーションの中でサーバ ファーム(デフォルト ポリシー)を指定します(次の手順のステップ3を参照)。レベル7で動作する仮想サーバを設定する場合は、仮想サーバ コンフィギュレーションにSLBポリシーを追加します(次の手順のステップ7を参照)。
CSMはあらゆるIPプロトコルからのトラフィックに対してロードバランスを図ることができます。仮想サーバ サブモードで仮想サーバを設定するときには、仮想サーバが受け付けるIPプロトコルを定義する必要があります。
(注) すべてのIPプロトコルにプロトコル番号がありますが、CSMでは対応する番号を入力する代わりに、名前でTCPまたはUDPを指定できます。
仮想サーバ コンフィギュレーション サブモードで仮想サーバを設定します。
|
|
|
---|---|---|
|
||
|
||
|
||
|
仮想サーバの任意のポート番号または名前、接続カップリング、および接続タイプに対応するIPアドレスを設定します2。 protocol 値は tcp 、 udp 、 any (ポート番号は不要)、または number 値(ポート番号は不要)です。 |
|
|
デフォルト サーバ ファームを仮想サーバに関連付けます2 、 3。指定できるサーバ ファームは1つだけです。サーバ ファームを指定しなかった場合、他のあらゆるポリシーと一致しなかった要求は廃棄されます。 |
|
|
(任意)クライアントからの接続が同じ実サーバを使用するように設定します2 、 3。デフォルトではstickyが無効です。 |
|
|
(任意)解析可能なHTTPヘッダーの最大バイト数を設定します4。 bytes の範囲は1~4000で、デフォルトは2000です。デフォルトでは、解析可能な最大長を超えると要求は廃棄されます。 セッションで解析可能な最大長に達したときに、要求を廃棄せずデフォルト ポリシーで処理するように指定するには、 default-policy キーワードを入力します。 |
|
|
||
|
||
|
(任意)1つまたは複数のコンテント スイッチング ポリシーを仮想サーバに関連付けます2。このポリシーの実行順序を指定するには、 priority キーワードを入力します。 |
|
|
||
|
CSMで使用できるように、仮想サーバをイネーブルにします2。 |
|
|
1.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、endコマンドを入力します。 2.デフォルトの設定に戻すには、このコマンドのno形式を使用します。 4.HTTPヘッダー全体のバイト数には、既知のURL、すべてのCookie、およびすべてのヘッダー フィールドが含まれます。 |
次に、barnettという名前の仮想サーバを設定し、boscoという名前のサーバ ファームを関連付けて、固定グループ12への50分間の固定接続を設定する例を示します。
次に、vs1という名前の仮想サーバを設定し、2つのポリシーとともに、クライアント トラフィックが特定のポリシーと一致した場合のデフォルト サーバ ファームを指定する例を示します。仮想サーバは、そのポリシーに結合されたサーバ ファームに対して負荷が分散されます。クライアント トラフィックがどのポリシーとも一致しなかった場合、仮想サーバはboscoというデフォルト サーバ ファームに対して負荷が分散されます。
Transmission Control Protocol(TCP)は、既知のプロトコル メッセージを使用してTCPセッションをアクティブおよび非アクティブにするコネクション型プロトコルです。サーバのロードバランシング中に接続データベースからの接続を追加または削除すると、最終ステート マシンによってSYN、SYN/ACK、FIN、RSTなどのTCP信号が相互に関連付けられます。接続を追加すると、これらの信号を使用して、サーバの故障および回復の検出、サーバあたりの接続数の判別が行われます。
CSMはUser Datagram Protocol(UDP)もサポートします。UDPはコネクション型でないため、通常は、(上位層プロトコルの詳細を取得せずに)プロトコル メッセージを見分けて、UDPメッセージ交換の開始または終了を検出することはできません。UDP接続の終了は、設定可能なアイドル タイマーに基づいて検出されます。同じ実サーバに対して複数の同時接続を要求するプロトコル(FTPなど)がサポートされています。仮想IPアドレスを宛先とするInternet Control Management Protocol(ICMP)メッセージ(pingなど)も処理されます。
|
|
|
---|---|---|
|
||
|
接続のパケット処理が行われていない場合に、接続情報を保持する時間(秒単位)を設定します2。 duration の有効な値は0(接続は無期限でオープンなまま維持される)~65535秒で、デフォルトは3600秒です。 (注) idle 0を指定すると、接続は作成されますが、接続テーブルから自動的には削除されません。そのため、この接続を削除するまで、すべてのリソースが消費される可能性があります。最大接続数を指定するには、 |
5.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルであるRouter (config)>に戻るには、endコマンドを入力します。 |
次に、仮想サーバ用のTCPパラメータを設定する例を示します。
CSMは、分割されたTCPパケットをサポートします。TCPフラグメント機能は、レベル4ポリシーが定義されているVIPとだけ連動します。SYNパケットまたはレイヤ7ポリシーには作用しません。分割されたTCPパケットをサポートするために、CSMはTCPフラグメントを既存のデータ フローに一致させるか、またはブリッジングVLAN IDに一致させます。CSMは、フラグメントをレイヤ7解析用に再構築しません。CSMには、バッファおよびフラグメントIDバケットの最終番号があるので、ハッシュ コリジョンが発生している場合はパケットを再送信する必要があります。
TCPスプライシングがイネーブルのときは、仮想サーバにレイヤ7ポリシーがない場合でも、仮想サーバをレイヤ7装置として指定する必要があります。このオプションは、TCPプロトコルにのみ有効です。
|
|
|
---|---|---|
|
||
|
TCPスプライシング用の仮想サーバを指定します2。 |
|
|
7.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルであるRouter (config)>に戻るには、endコマンドを入力します。 |
バックアップ サーバ ファームを設定すると、サーバ ファームを正常に維持するために必要なアクティブな実サーバ数、およびサーバ ファームを再度アクティブ化するために必要なアクティブ実サーバ数を指定する2つのスレッシュホールドを定義できます。
これらのスレッシュホールド値を指定しないと、サーバ ファーム内のすべての実サーバで障害発生時にサーバ ファーム全体が停止してしまいます。この場合、サーバ ファーム内の1台の実サーバが正常状態に戻ったときに、プライマリ サーバ ファームが再度動作可能になります。
部分的なサーバ ファーム フェールオーバーを設定する手順は、次のとおりです。
次に、サーバ ファーム内の正常な実サーバ数が2台以下になったときにバックアップ サーバ ファームがアクティブになり、サーバ ファーム内の正常な実サーバ数が6台になったときにプライマリ サーバ ファームが再度アクティブになるように設定する例を示します。
仮想サーバを追跡するようにCSMを設定できます。この機能を使うと、追跡対象の仮想サーバでサービスの停止または障害が発生すると、それに従属する仮想サーバも自動的に停止します。
|
|
|
---|---|---|
|
||
|
従属する仮想サーバの任意のポート番号または名前、接続カップリング、および接続タイプに対応するIPアドレスを設定します2。 protocol 値は tcp 、 udp 、 any (ポート番号は不要)、または number 値(ポート番号は不要)です。 |
|
|
追跡対象の仮想サーバを特定します。この仮想サーバでサービスの停止または障害が発生すると、ステップ1で特定した従属する仮想サーバも自動的に停止します。 |
次に、仮想サーバBでサービスの停止または障害が発生した場合に、仮想サーバAおよびCが自動的に停止するように設定する例を示します。
redirect-vserver コマンドは、実サーバ専用の仮想サーバを設定するためのサーバ ファーム サブモード コマンドです。このマッピングを行うと、TCPセッションを介してクライアントが実サーバに永久的に接続されます。
|
|
|
---|---|---|
|
||
|
このサーバ ファームに届いたHTTP要求をリダイレクトする場合の、宛先URLホスト名を設定します。再割り当て文字列に指定できるのは、URLの先頭部分だけです。残りの部分は、元のHTTP要求から取得されます2。 |
|
|
リダイレクト サーバのサービスが停止した場合に、HTTP要求に応答して送信される再割り当て文字列を設定します。指定できるのは再割り当て文字列の先頭だけです。残りの部分は、元のHTTP要求から取得されます2。 |
|
|
リダイレクト仮想サーバのIPアドレスおよびポートを設定します2。 |
|
|
リダイレクト仮想サーバのCSM接続アイドル タイマーを設定します2。 |
|
|
リダイレクト仮想サーバにアクセスできるクライアントを制限するために使用する、IPアドレスおよびネットワーク マスクの組み合わせを設定します2。 |
|
|
リダイレクト仮想サーバをイネーブルにし、アドバタイズを開始します2。 |
|
|
||
|
9.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、endコマンドを入力します。 |
次に、リダイレクト仮想サーバを設定して、サーバ ファーム内の実サーバに仮想サーバを指定する例を示します。
マップを作成して、複数のURL、Cookie、HTTPヘッダー、および戻りコードをグループ内で定義すると、ポリシーを設定するときに、ポリシーをグループに関連付けることができます(ポリシーの設定を参照)。URLの正規表現(url1、url2など)は、UNIXファイル名の仕様に基づきます。詳細については、 表6-1 を参照してください。
|
|
|
---|---|---|
|
||
|
要求URLと突き合せる文字列を指定します2。 |
11.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、endコマンドを入力します。 |
|
|
---|---|
|
|
|
---|---|---|
|
Cookieマップに複数のCookieを設定します13。 |
|
|
map コマンドを使用して、HTTPヘッダー タイプを指定し、マップ グループを作成します。 map コマンドを入力すると、サブモードが開始され、要求でCSMに検索させるヘッダー フィールドおよび値を指定できます。
HTTPヘッダー用のマップを作成する手順は、次のとおりです。
|
|
---|---|
|
ヘッダー マップの詳細については、「一般ヘッダー解析の設定」を参照してください。
戻りコードをチェックするためのマップを作成する手順は、次のとおりです。
|
|
---|---|
|
HTTP戻りエラー コード チェックを設定する手順は、次のとおりです。
|
|
---|---|
|
戻りコード マップの詳細については、「HTTP戻りコード チェックの設定」を参照してください。
ポリシーは、サーバ ファームにトラフィックを分散する場合に、トラフィックが満たさなければならないアクセス ルールです。ポリシーによって、CSMはレイヤ7トラフィックを分散させます。1つの仮想サーバに複数のポリシーを割り当て、その仮想サーバに複数のアクセス ルールを作成できます。ポリシーを設定するときは、最初にアクセス ルール(マップ、クライアント グループ、および固定[sticky]グループ)を設定してから、これらのアクセス ルールを所定のポリシーに従って結合します。
(注) サーバ ファームとポリシーを関連付ける必要があります。サーバ ファームが関連付けられていないポリシーは、トラフィックを転送できません。ポリシーに関連付けられたサーバ ファームは、そのポリシーと一致するあらゆる要求を受信します。
ポリシーのマッチングを実行できる場合、CSMはポリシー リスト内の最初のポリシーを選択します。ポリシーは、仮想サーバにバインドされた順序でポリシー リストに配置されます。
関連付けられたサーバ ファーム内のすべてのサーバがダウンしている場合でも、ポリシーは一致されます。この場合のポリシーのデフォルト動作は、これらの接続を受け取らず、クライアントにreset(RST)を送り返すことです。この動作を変更する場合は、このポリシーにバックアップ サーバ ファームを追加します。
backup backup_serverfarm [ sticky ]オプションをバックアップ サーバ ファームに追加すると、プライマリ サーバ ファームに適用された固定(sticky)グループがバックアップ サーバ ファームにも適用されるかどうかも定義できます。プライマリ サーバ ファームのスティッキ性を指定しない場合、バックアップ サーバ ファームにその設定は適用されません。
たとえば、固定(sticky)グループにポリシーを設定した場合、このポリシー内のプライマリ サーバ ファームが固定されます。クライアントは、プライマリ サーバ ファームに設定された実サーバに固定されます。プライマリ サーバ ファームのすべての実サーバで障害が発生した場合、このクライアントからの新規要求はバックアップ サーバ ファームに送信されます。プライマリ サーバ ファームの実サーバが復旧して運用可能になれば、次のアクションが結果として実行されます。
• バックアップ実サーバへの既存の接続は、バックアップ実サーバによって継続されます。
• 固定(sticky)オプションがバックアップ サーバ ファームでイネーブルの場合、クライアントからの新規要求がバックアップ実サーバに送信されます。
• 固定(sticky)オプションがバックアップ サーバ ファームで使用されていなければ、新規要求がプライマリ実サーバに送信されます。
リスト内のポリシーを並べ替えるには、ポリシーを削除してから、正しい順番で再入力します。ポリシーを削除して入力するには、仮想サーバ サブモードで no slb-policy policy name コマンドおよび slb-policy policy name コマンドを入力します。
ロードバランシング ポリシーを設定する手順は、次のとおりです。
|
|
|
---|---|---|
|
ポリシーを作成し、ポリシー サブモードを開始して、ポリシー属性を設定します14。 |
|
|
URLマップをポリシーに関連付けます15。 map コマンドを使用して、事前にURLマップ/Cookieマップを作成および設定しておく必要があります。「一般ヘッダー解析の設定」を参照してください。 |
|
|
Cookieマップをポリシーに関連付けます 2 。 |
|
|
||
|
このポリシーを特定の固定(sticky)グループに関連付けます 2 。 |
|
|
ポリシーに対応するクライアント フィルタを設定します。クライアント フィルタを定義する場合に使用するのは、標準IPアクセス リストだけです。 |
|
|
特定のロードバランシング ポリシーを処理するプライマリ サーバ ファームを設定します。1つのポリシーに設定できるサーバ ファームは1つだけです2。サーバ ファームのスレッシュホールドの設定の詳細については、「部分的なサーバ ファーム フェールオーバーの設定」を参照してください。 |
|
|
パケットがロードバランシング ポリシーと一致した場合は、トラフィックにDifferentiated Services Code Point(DSCP)値をマークします2。 |
|
|
14.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、endコマンドを入力します。 |
次の例は、map1というURLマップがすでに設定されていることが前提です。サーバ ロードバランシング ポリシーを設定し、仮想サーバに関連付ける例を示します。
ソフトウェアRelease 2.1(1)から、CSMは一般HTTP要求ヘッダー解析をサポートしています。HTTP要求ヘッダーには、ユーザの要件に合わせてコンテンツをどのようにフォーマットするかを記述するフィールドがあります。
CSMはHTTPヘッダーのフィールドを解析し、照合することによって得た情報をポリシー情報とともに使用して、ロードバランシングの決定を下します。たとえば、HTTPヘッダーのブラウザ タイプ フィールドを解析することによって、CSMはユーザがモバイル ブラウザでコンテンツにアクセスしているかどうかを判別し、モバイル ブラウザ用にフォーマットされたコンテンツのあるサーバを選択できます。
一般ヘッダー解析を設定するには、HTTPヘッダーのフィールドに対するポリシー マッチングの実行をCSMに指示するコマンドを入力します。次に、CSM上で一般ヘッダー解析を設定する方法について説明します。
map コマンドを使用して、HTTPヘッダー タイプを指定し、マップ グループを作成します。 map コマンドを入力すると、サブモードが開始され、要求でCSMに検索させるヘッダー フィールドおよび値を指定できます。
HTTPヘッダー用のマップを作成する手順は、次のとおりです。
|
|
---|---|
|
(注) その他のマップ タイプには、URLおよびCookieがあります。
HTTPのヘッダー挿入は、CSMにクライアントIPアドレスのHTTPヘッダーへの挿入のような情報を挿入させる機能です。HTTPヘッダーの挿入はヘッダー マップ内で設定します。設定の詳細については、「HTTPヘッダー挿入」を参照してください。
match コマンドを使用して、フィールド名を指定し、さらにHTTP要求を受信したときにCSMが照合する値を指定します。
ヘッダー フィールドおよび一致する値を指定する手順は、次のとおりです。
|
|
---|---|
|
フィールド名および値を指定します。フィールドはCookie以外の任意のHTTPヘッダーにできます。Cookieヘッダーを設定しなければならない場合は、Cookieマップを設定できます。 |
(注) CSMでは、ポリシー マッチングの条件として、1つまたは複数のHTTPヘッダー フィールドを指定できます。1つのHTTPヘッダー グループで複数のフィールドを設定した場合、この条件を満たすにはグループのすべての式が一致しなければなりません。
ポリシー サブモードで、そのポリシーに含めるヘッダー マップを指定します。ヘッダー マップには、ポリシーに含めるHTTPヘッダー条件を指定します。
ポリシーにHTTPヘッダー マップを割り当てる手順は、次のとおりです。
|
|
|
---|---|---|
|
||
|
(注) デフォルトでは、あらゆるHTTPヘッダー情報がポリシー規則を満たします。HTTP URLおよびHTTP Cookieは、それぞれ固有のヘッダー情報タイプであり、CSMによって別個に処理されます。
仮想サーバ サブモードで、 vserver virtserver-name コマンドを使用し、ヘッダー マップが割り当てられているポリシーの名前を指定します。
ヘッダー マップが割り当てられたポリシー名を指定する手順は、次のとおりです。
|
|
|
---|---|---|
|
||