この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、コンテント スイッチングの設定方法について説明します。この章の構成は次のとおりです。
• 「マップの設定」
(注) 仮想サーバをIPアドレスで設定すると、このサーバがサービス停止中であっても、この特定の IP に対する ARP 要求には応答を開始します。これは、動作可能な仮想サーバを既存のデバイスから CSM に切り替える場合、特に重要なことです。同一ネットワーク内の他の装置と同一 IP で設定された CSM 上に仮想サーバがないことを確認してください。
仮想サーバは、ポリシーによって実サーバ ファームに関連付けられた、一連の実サーバを表します。仮想サーバを設定するには、デフォルトのサーバ ファーム(デフォルトのポリシー)を指定する仮想サーバの属性を設定し、ポリシー リストを使用して他のサーバ ファームを関連付ける必要があります。デフォルト サーバ ファーム(デフォルト ポリシー)は、要求がどの 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が無効です。 |
|
|
||
|
||
|
(オプション)1つまたは複数のコンテント スイッチング ポリシーを仮想サーバに関連付けます2。 |
|
|
CSM で使用できるように、仮想サーバをイネーブルにします2。 |
|
|
1.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、end コマンドを入力します。 |
次に、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。 |
4.モードまたはサブモードを終了するには、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。 |
|
|
6.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルであるRouter (config)>に戻るには、endコマンドを入力します。 |
redirect-vserver コマンドは、実サーバ専用の仮想サーバを設定するためのサーバ ファーム サブモード コマンドです。このマッピングを行うと、TCPセッションを介してクライアントが実サーバに永久的に接続されます。
|
|
|
---|---|---|
|
||
|
このサーバ ファームに届いたHTTP要求をリダイレクトする場合の、宛先URLホスト名を設定します。再割り当て文字列に指定できるのは、URLの先頭部分だけです。残りの部分は、元のHTTP要求から取得されます2。 |
|
|
リダイレクト サーバのサービスが停止した場合に、HTTP要求に応答して送信される再割り当て文字列を設定します。指定できるのは再割り当て文字列の先頭部分だけです。残りの部分は、元のHTTP要求から取得されます2。 |
|
|
リダイレクト仮想サーバのIPアドレスおよびポートを設定します2。 |
|
|
リダイレクト仮想サーバのCSM接続アイドル タイマーを設定します2。 |
|
|
リダイレクト仮想サーバにアクセスできるクライアントを制限するために使用する、IPアドレスおよびネットワーク マスクの組み合わせを設定します2。 |
|
|
リダイレクト仮想サーバをイネーブルにし、アドバタイズを開始します2。 |
|
|
||
|
8.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、end コマンドを入力します。 |
次に、リダイレクト仮想サーバを設定して、サーバ ファーム内の実サーバに仮想サーバを指定する例を示します。
マップを作成して、複数の URL、Cookie、HTTP ヘッダー、およびリターン コードをグループ内で定義すると、ポリシーを設定するときに、ポリシーをグループに関連付けることができます(「ポリシーの設定」を参照)。URL の正規表現(url1、url2 など)は、UNIX ファイル名の仕様に基づきます。詳細については、 表 6-1 を参照してください。
|
|
|
---|---|---|
|
||
|
要求された URL と照合する文字列を指定します2。 |
10.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、end コマンドを入力します。 |
|
|
---|---|
|
|
|
---|---|---|
|
Cookieマップに複数のCookieを設定します12。 |
|
|
複数のCookieを設定します1。 |
map コマンドを使用して、HTTPヘッダー タイプを指定し、マップ グループを作成します。 map コマンドを入力すると、サブモードが開始され、要求内で CSM に検索させるヘッダー フィールドおよび値を指定できます。
HTTP ヘッダー用のマップを作成する手順は、次のとおりです。
|
|
---|---|
|
ヘッダー マップの詳細については、「一般ヘッダー解析の設定」を参照してください。
リターン コードをチェックするためのマップを作成する手順は、次のとおりです。
|
|
---|---|
|
HTTP リターン エラー コード チェックを設定する手順は、次のとおりです。
|
|
---|---|
|
リターン コード マップの詳細については、「HTTP リターン コード チェックの設定」を参照してください。
ポリシーとは、サーバ ファームにトラフィックを分散する場合に、トラフィックと照合されなければならないアクセス ルールです。ポリシーによって、CSMはレイヤ7トラフィックを分散させます。1つの仮想サーバに複数のポリシーを割り当て、その仮想サーバに複数のアクセス ルールを作成できます。ポリシーを設定するときは、最初にアクセス ルール(マップ、クライアント グループ、および固定 [sticky] グループ)を設定してから、これらのアクセス ルールを所定のポリシーに従って結合します。
(注) サーバ ファームとポリシーを関連付ける必要があります。サーバ ファームが関連付けられていないポリシーは、トラフィックを転送できません。ポリシーに関連付けられたサーバ ファームは、そのポリシーと一致した要求をすべてを受信します。
ポリシー マッチングを実行できる場合、CSMはポリシー リスト内の最初のポリシーを選択します。ポリシーは、仮想サーバにバインドされた順序でポリシー リストに配置されます。
関連付けられたサーバ ファーム内のすべてのサーバがダウンしている場合でも、ポリシーは照合されます。この場合のポリシーのデフォルト動作は、これらの接続を受け取らず、クライアントにreset(RST)を送り返すことです。この動作を変更するには、このポリシーにバックアップ サーバ ファームを追加します。
backup sorry-serverfarm [ sticky ] オプションをバックアップ サーバ ファームに追加すると、プライマリ サーバ ファームに適用された固定(sticky)グループがバックアップ サーバ ファームにも適用されるかどうかも定義できます。プライマリ サーバ ファームのスティッキ性を指定しない場合、バックアップ サーバ ファームにもその設定は適用されません。
たとえば、固定(sticky)グループにポリシーを設定した場合、このポリシー内のプライマリ サーバ ファームが固定されます。クライアントは、プライマリ サーバ ファームに設定された実サーバに固定されます。プライマリ サーバ ファーム内のすべての実サーバで障害が発生した場合、このクライアントからの新規要求はバックアップ サーバ ファームに送信されます。プライマリ サーバ ファームの実サーバが復旧して運用可能になれば、次の動作が結果として実行されます。
• バックアップ実サーバへの既存の接続は、バックアップ実サーバによって継続されます。
• 固定(sticky)オプションがバックアップ サーバ ファームでイネーブルの場合、クライアントからの新規要求がバックアップ実サーバに送信されます。
• 固定(sticky)オプションがバックアップ サーバ ファームで使用されていなければ、新規要求がプライマリ実サーバに送信されます。
リスト内のポリシーを並べ替えるには、ポリシーを削除してから、正しい順序で再入力します。ポリシーを削除して入力するには、仮想サーバ サブモードで no slb-policy policy name コマンドおよび slb-policy policy name コマンドを入力します。
ロードバランシング ポリシーを設定する手順は、次のとおりです。
|
|
|
---|---|---|
|
ポリシーを作成し、ポリシー サブモードを開始して、ポリシー属性を設定します13。 |
|
|
URL マップをポリシーに関連付けます14。 map コマンドを使用して、事前にURLマップ/Cookieマップを作成および設定しておく必要があります。「一般ヘッダー解析の設定」を参照してください。 |
|
|
Cookieマップをポリシーに関連付けます 2 。 |
|
|
||
|
このポリシーを特定の固定(sticky)グループに関連付けます 2 。 |
|
|
ポリシーに関連付けるクライアント フィルタを設定します。クライアント フィルタを定義する場合に使用するのは、標準IPアクセス リストだけです。 |
|
|
特定のロードバランシング ポリシーを処理するサーバ ファームを設定します。1つのポリシーに設定できるサーバ ファームは1つだけです2。 |
|
|
パケットがロードバランシング ポリシーと一致した場合は、トラフィックに Differentiated Services Code Point(DSCP)値をマークします2。 |
13.モードまたはサブモードを終了するには、exitコマンドを入力します。メニューのトップ レベルに戻るには、end コマンドを入力します。 |
次の例は、map1というURLマップがすでに設定されていることが前提です。サーバ ロードバランシング ポリシーを設定し、仮想サーバに関連付ける例を示します。
ソフトウェア リリース 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 コマンドを使用し、ヘッダー マップが割り当てられているポリシーの名前を指定します。
ヘッダー マップが割り当てられているポリシー名を指定する手順は、次のとおりです。
|
|
|
---|---|---|
|
||