Cisco Application Control Engine モジュール サーバ ロード バランシング コンフィギュレーション ガイド
サーバ ロード バランシングに関す るトラフィック ポリシーの設定
サーバ ロード バランシングに関するトラフィック ポリシーの設定
発行日;2012/01/30 | 英語版ドキュメント(2010/06/11 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 7MB) | フィードバック

目次

サーバ ロード バランシングに関するトラフィック ポリシーの設定

SLB トラフィック ポリシーの概要

レイヤ 7 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

HTTP ヘッダーの挿入、削除、および書き換えの設定

HTTP ヘッダー挿入の設定

HTTP ヘッダーの書き換えの設定

HTTP ヘッダーの削除の設定

汎用 TCP および UDP データ解析用のレイヤ 7 クラス マップの設定

レイヤ 4 ペイロードの一致基準の定義

送信元 IP アドレス一致基準の定義

レイヤ 7 SLB クラス マップのネスト

SLB に対応するレイヤ 7 クラス マップの設定

コンフィギュレーションの考慮事項

ロード バランシング用の HTTP コンテンツ照合の定義

HTTP ロード バランシング用の cookie の定義

ロード バランシング用の HTTP ヘッダーの定義

HTTP ロード バランシング用の URL の定義

RADIUS ロード バランシングのアトリビュートの定義

RTSP ロード バランシング用のヘッダーの定義

RTSP ロード バランシング用の URL の定義

SIP ロード バランシング用のヘッダーの定義

送信元 IP アドレス一致基準の定義

レイヤ 7 SLB クラス マップのネスト

SLB に対応するレイヤ 7 ポリシー マップの設定

レイヤ 7 ポリシー マップの説明を追加する方法

レイヤ 7 ポリシー マップでのインライン match 文の定義

レイヤ 7 クラス マップをレイヤ 7 ポリシー マップに関連付ける方法

レイヤ 7 SLB ポリシー アクションの指定

アクション リストとレイヤ 7 ポリシー マップの関連付け

要求の廃棄

ロード バランシングを行わずに要求を転送する場合

HTTP ヘッダー挿入の設定

サーバ ファームへのロード バランシングのイネーブル化

ソーリー サーバ ファームの設定

スティッキ サーバ ファームの設定

パケットの IP DSCP の指定

SSL プロキシ サービスの指定

レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

汎用プロトコル パラメータ マップの設定

汎用プロトコルの大文字と小文字を区別する照合のディセーブル化

汎用プロトコルに関して解析する最大バイト数の設定

HTTP パラメータ マップの設定

HTTP の大文字と小文字を区別する照合のディセーブル化

すべての HTTP 要求および HTTP 応答でヘッダーを変更するための の設定

URL デリミタの定義

コンテンツに関して解析する最大バイト数の設定

cookie、HTTP ヘッダー、および URL に関して解析する最大バイト数の設定

URL または cookie が最大解析長を超えている場合の 動作の設定

HTTP 持続性再バランスのイネーブル化

TCP サーバ再利用の設定

RTSP パラメータ マップの設定

RTSP の大文字と小文字を区別する照合のディセーブル化

RTSP ヘッダーに関して解析する最大バイト数の設定

SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定

クラス マップの説明の定義

VIP アドレス一致基準の定義

SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定

レイヤ 3 およびレイヤ 4 ポリシー マップの説明の定義

レイヤ 3 およびレイヤ 4 クラス マップをポリシー マップに関連付ける方法

レイヤ 3 およびレイヤ 4 SLB ポリシー アクションの指定

レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける方法

汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

接続パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

仮想サーバ IP アドレスのアドバタイズのイネーブル化

ICMP 要求に対する VIP の応答をイネーブルにする方法

UDP トラフィックのパケット単位のロード バランシングのイネーブル化

VIP のイネーブル化

インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用

UDP ブースタの設定

送信元ポートと宛先ポートが等しい場合にハッシュを実行するための の設定

RDP ロード バランシングの設定

実サーバおよびサーバ ファームの設定

レイヤ 7 RDP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RDP ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RDP ポリシーの適用

RDP ロード バランシングの設定例

RADIUS ロード バランシングの設定

実サーバおよびサーバ ファームの設定

RADIUS スティッキ グループの設定

レイヤ 7 RADIUS ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RADIUS ロード バランシング ポリシーの設定

非 RADIUS データ転送用のトラフィック ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RADIUS ポリシーの適用

RADIUS ロード バランシングの設定例

レイヤ 7 RADIUS クラス マップを使用しない場合

レイヤ 7 RADIUS クラス マップを使用した場合

エンド ユーザ データ転送ポリシー

RTSP ロード バランシングの設定

実サーバおよびサーバ ファームの設定

RTSP スティッキ グループの設定

レイヤ 7 RTSP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RTSP ロード バランシング ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RTSP ポリシーの適用

RTSP ロード バランシング設定の例

SIP ロード バランシングの設定

実サーバおよびサーバ ファームの設定

SIP スティッキ グループの設定

レイヤ 7 SIP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 SIP ロード バランシング ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 SIP ポリシーの適用

SIP ロード バランシングの設定例

一致基準を使用しない SIP ロード バランシング

SIP ヘッダーおよび SIP インスペクションに基づいた SIP ロード バランシング

サーバ ロード バランシング ポリシー コンフィギュレーションの例

ロード バランシング コンフィギュレーション情報および統計情報の表示

クラス マップ コンフィギュレーション情報の表示

ポリシー マップ コンフィギュレーション情報の表示

パラメータ マップ コンフィギュレーション情報の表示

ロード バランシング統計情報の表示

HTTP パラメータ マップ統計情報の表示

サービス ポリシー統計情報の表示

HTTP 統計情報の表示

SLB 統計情報の消去

ロード バランシング統計情報の消去

サービス ポリシー統計情報の消去

HTTP 統計情報の消去

次の作業

サーバ ロード バランシングに関するトラフィック ポリシーの設定

この章では、分類(クラス)マップおよびポリシー マップを使用して、各種基準に基づいて関係するネットワーク トラフィックのフィルタリングおよび照合を行い、ACE のロード バランシング プレディクタ方式の 1 つを使用して、サーバ ファーム内の実サーバへのトラフィックを分散させてロード バランスを図るように、ACEモジュールを設定する方法について説明します。

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

SLB トラフィック ポリシーの概要

レイヤ 7 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

HTTP ヘッダーの挿入、削除、および書き換えの設定

汎用 TCP および UDP データ解析用のレイヤ 7 クラス マップの設定

SLB に対応するレイヤ 7 クラス マップの設定

SLB に対応するレイヤ 7 ポリシー マップの設定

汎用プロトコル パラメータ マップの設定

HTTP パラメータ マップの設定

RTSP パラメータ マップの設定

SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定

SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用

UDP ブースタの設定

送信元ポートと宛先ポートが等しい場合にハッシュを実行するための ACE の設定

RDP ロード バランシングの設定

RADIUS ロード バランシングの設定

RTSP ロード バランシングの設定

SIP ロード バランシングの設定

サーバ ロード バランシング ポリシー コンフィギュレーションの例

ロード バランシング コンフィギュレーション情報および統計情報の表示

SLB 統計情報の消去

次の作業

SLB トラフィック ポリシーの概要

クラス マップで指定した一連のフロー一致基準に基づいて、ACE を宛先とするインバウンド ネットワーク トラフィック、またはそれを通過するインバウンド ネットワーク トラフィックを分類します。各クラス マップでは、トラフィック分類、つまり自分に関係のあるネットワーク トラフィックを定義します。ポリシー マップでは、分類された 1 組のインバウンド トラフィックに適用する、一連のアクション(機能)を定義します。

ACE のトラフィック ポリシーは、次のサーバ ロード バランシング(SLB)トラフィック アトリビュートをサポートします。

レイヤ 3 およびレイヤ 4 接続情報 - 送信元または宛先 IP アドレス、送信元または宛先ポート、仮想 IP(VIP) アドレス、および IP プロトコル

レイヤ 7 プロトコル情報 - Hypertext Transfer Protocol(HTTP; ハイパーテキスト転送プロトコル)cookie、HTTP URL、HTTP ヘッダー、Remote Authentication Dial-In User Service(RADIUS)、Remote Desktop Protocol(RDP)、Real-Time Streaming Protocol(RTSP)、Session Initiation Protocol(SIP)、および SSL

トラフィック分類プロセスは、次の 3 つの手順からなります。

1. class-map コマンドおよび関連する match コマンドを使用してクラス マップを作成します。これらのコマンドが、レイヤ 3 およびレイヤ 4 トラフィック分類またはレイヤ 7 プロトコル分類に関連する 1 組の一致基準を形成します。

2. policy-map コマンドを使用してポリシー マップを作成します。このコマンドはクラス マップを参照し、トラフィック一致基準に基づいて、実行する一連のアクションを特定します。

3. service-policy コマンドを使用して、特定の VLAN インターフェイスにポリシー マップを関連付けるか、またはグローバルにすべての VLAN インターフェイスに関連付けることによって、ポリシー マップをアクティブにして、ACE が受信したトラフィックのフィルタリングを行います。

図 3-1 に、SLB で ACE に使用させるレイヤ 3、レイヤ 4、およびレイヤ 7 ポリシーを作成して適用するプロセスの概要を示します。SLB ポリシー コンフィギュレーションの各種コンポーネントを相互に関連付ける方法も示します。

図 3-1 サーバ ロード バランシング コンフィギュレーションのフロー図

 

レイヤ 7 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

表 3-1 に、レイヤ 7 HTTP クラス マップおよびレイヤ 7 HTTP ポリシー マップを設定する手順の概要を示します。同様の手順を使用して、別のサポート対象プロトコルのレイヤ 7 クラス マップおよびポリシー マップを設定します。ステップごとに、CLI コマンドおよび作業に必要な手順の参照を示します。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 3-1 以降のセクションを参照してください。

 

表 3-1 レイヤ 7 SLB ポリシー コンフィギュレーション クイック スタート

作業およびコマンドの例

1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。

host1/Admin# changeto C1
host1/C1#
 

この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。

2. コンフィギュレーション モードを開始します。

host1/Admin# config
Enter configuration commands, one per line. End with CNTL/Z
host1/Admin (config)#

3. SLB に対応するレイヤ 7 クラス マップを作成します。「SLB に対応するレイヤ 7 クラス マップの設定」を参照してください。

host1/Admin(config)# class-map type http loadbalance match-all L7SLBCLASS
host1/Admin(config-cmap-http-lb)#

4. レイヤ 7 SLB クラス マップ用に、次の一致基準を 1 つまたは複数設定します。

ロード バランシング用の HTTP コンテンツを定義します。「ロード バランシング用の HTTP コンテンツ照合の定義」を参照してください。

host1/Admin(config-cmap-http-lb)# match http content abc*123 offset 50
 

HTTP ロード バランシング用の cookie を定義します。「HTTP ロード バランシング用の cookie の定義」を参照してください。

host1/Admin(config-cmap-http-lb)# match http cookie TESTCOOKIE1 cookie-value 123456
 

ロード バランシング用の HTTP ヘッダーを定義します。「ロード バランシング用の HTTP ヘッダーの定義」を参照してください。

host1/Admin(config-cmap-http-lb)# match http header Host header-value .*cisco.com
 

HTTP ロード バランシング用の URL を定義します。「HTTP ロード バランシング用の URL の定義」を参照してください。

host1/Admin(config-cmap-http-lb)# match http url /WHATSNEW/LATEST.*
 

送信元 IP match 文を定義します。「送信元 IP アドレス一致基準の定義」を参照してください。

host1/Admin (config -cmap-http-lb )# match source-address 192.168.11.2 255.255.255.0

5. exit コマンドを使用して、コンフィギュレーション モードを再び開始します。

host1/Admin(config-cmap-http-lb)# exit
host1/Admin(config)#

6. SLB に対応するレイヤ 7 ポリシー マップを作成します。「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)#

7. ステップ 3 で作成したレイヤ 7 クラス マップとステップ 6 で作成したレイヤ 7 ポリシー マップを関連付けます。「レイヤ 7 クラス マップをレイヤ 7 ポリシー マップに関連付ける方法」を参照してください。

host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)#

8. ネットワーク トラフィックがクラス マップと一致した場合に、ACE に実行させるアクションとして、次のポリシー マップ アクションを 1 つまたは複数指定します。

ポリシー マップと一致したパケットの廃棄を ACE に指示します。「要求の廃棄」を参照してください。

host1/Admin(config-pmap-lb-c)# drop
 

ポリシー マップと一致したパケットをロード バランシングを行わずに転送するように ACE に指示します。「ロード バランシングを行わずに要求を転送する場合」を参照してください。

host1/Admin(config-pmap-lb-c)# forward
 

HTTP ヘッダーの挿入をイネーブルにします。「HTTP ヘッダー挿入の設定」を参照してください。

host1/Admin(config-pmap-lb-c)# insert-http Host header-value www.cisco.com
 

サーバ ファームに対するロード バランシングをイネーブルにします。「サーバ ファームへのロード バランシングのイネーブル化」を参照してください。

host1/Admin(config-pmap-lb-c)# serverfarm FARM2 backup FARM3
 

トラフィック クラス内のパケットの IP Differentiated Services Code Point(DSCP; DiffServ コード ポイント)を指定します。「スティッキ サーバ ファームの設定」を参照してください。

host1/Admin(config-pmap-lb-c)# set ip tos 8
 

SSL 開始側(SSL クライアントとして動作する ACE)を使用する場合は、SSL プロキシ サービスを指定します。「SSL プロキシ サービスの指定」を参照してください。SSL の詳細については、『 Cisco Application Control Engine Module SSL Configuration Guide 』を参照してください。

host1/Admin(config-pmap-lb-c)# ssl-proxy client PROXY_SERVICE1
 

スティッキ性(接続の持続性)を使用するには、ロード バランシング用のスティッキ サーバを指定します。「スティッキ サーバ ファームの設定」を参照してください。

host1/Admin(config-pmap-lb-c)# sticky-serverfarm STICKY_GROUP1

9. ロード バランシング用のレイヤ 7 ポリシー マップを使用するには、レイヤ 3 およびレイヤ 4 SLB ポリシー マップと関連付けておく必要があります。レイヤ 3 およびレイヤ 4 クラス マップおよびポリシー マップを作成し、さらにレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付けます。最後に、レイヤ 3 およびレイヤ 4 ポリシー マップをインターフェイスに関連付けます。次の各セクションを参照してください。

SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定

SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用

10. クラス マップ コンフィギュレーション、ポリシー マップ コンフィギュレーション、および統計情報を表示します(「ロード バランシング コンフィギュレーション情報および統計情報の表示」を参照)。

host1/Admin# show running-config class-map
host1/Admin# show running-config policy-map

11. (任意)設定変更をフラッシュ メモリに保存します。

host1/Admin# copy running-config startup-config

レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシー コンフィギュレーション クイック スタート

表 3-2 に、レイヤ 3 およびレイヤ 4 クラス マップ、レイヤ 3 およびレイヤ 4 ポリシー マップを設定する手順の概要を示します。ステップごとに、CLI コマンドおよび作業に必要な手順の参照を示します。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 3-2 以降のセクションを参照してください。

 

表 3-2 レイヤ 3 およびレイヤ 4 SLB ポリシー コンフィギュレーション クイック スタート

作業およびコマンドの例

1. 複数のコンテキストで動作している場合は、CLI プロンプトを観察し、適切なコンテキストで動作しているかどうかを確認してください。必要に応じて、適切なコンテキストに変更するか、または直接ログインします。

host1/Admin# changeto C1
host1/C1#
 

コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。

2. コンフィギュレーション モードを開始します。

host1/Admin# config
Enter configuration commands, one per line. End with CNTL/Z
host1/Admin (config)#

3. レイヤ 3 およびレイヤ 4 SLB クラス マップを作成します。「SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定」を参照してください。

host1/Admin(config)# class-map L4VIPCLASS
host1/Admin(config-cmap)#

4. VIP アドレス match 文を定義します。「VIP アドレス一致基準の定義」を参照してください。

host1/Admin(config-cmap)# match virtual-address 192.168.1.10 tcp port eq 80

5. コンフィギュレーション モードを再び開始します。

host1/Admin(config-cmap)# exit
host1/Admin (config)#

6. レイヤ 3 およびレイヤ 4 ポリシー マップを作成します。「SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照してください。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)#

7. ステップ 3 で作成したレイヤ 3 およびレイヤ 4 クラス マップとステップ 4 で作成したポリシー マップを関連付けます。「レイヤ 3 およびレイヤ 4 クラス マップをポリシー マップに関連付ける方法」を参照してください。

host1/Admin(config-pmap)# class L4VIPCLASS
host1/Admin(config-pmap-c)#

8. ネットワーク トラフィックがクラス マップと一致した場合に、ACE に実行させるアクションとして、次のポリシー マップ アクションを 1 つまたは複数指定します。

ACE が、仮想サーバの IP アドレスをホスト ルートとしてアドバタイズできるようにします。「仮想サーバ IP アドレスのアドバタイズのイネーブル化」を参照してください。

host1/Admin (config-pmap-c)# loadbalance vip advertise active
 

ICMP ECHO 要求に応答できるようにします。たとえば、ユーザが VIP に ICMP ECHO 要求を送信した場合、このコマンドは ICMP ECHO-REPLY の送信を VIP に指示します。「ICMP 要求に対する VIP の応答をイネーブルにする方法」を参照してください。

host1/Admin (config-pmap-c)# loadbalance vip icmp-reply
 

レイヤ 7 SLB ポリシー マップとレイヤ 3 およびレイヤ 4 ポリシー マップを関連付け、レイヤ 7 分類のエントリ ポイントを提供します。「レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける方法」を参照してください。

host1/Admin(config-pmap-c)# loadbalance policy L7SLBPOLICY
 

VIP の SLB 動作をイネーブルにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice

9. ポリシー マップをアクティブにして、インターフェイスに接続します。「インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用」を参照してください。

host1/Admin (config)# interface VLAN50
host1/Admin (config-if)# service-policy input L4SLBPOLICY
host1/Admin(config-if)# Ctrl-z

10. クラス マップ コンフィギュレーション、ポリシー マップ コンフィギュレーション、および統計情報を表示します(「ロード バランシング コンフィギュレーション情報および統計情報の表示」を参照)。

host1/Admin# show running-config class-map
host1/Admin# show running-config policy-map
host1/Admin# show service-policy name [ detail ]

11. (任意)設定変更をフラッシュ メモリに保存します。

host1/Admin# copy running-config startup-config

HTTP ヘッダーの挿入、削除、および書き換えの設定

ここでは、アクション リスト、およびリストを使用して HTTP ヘッダーを挿入、書き換え、および削除する方法について説明します。アクション リストは、レイヤ 7 HTTP ポリシー マップ内のレイヤ 7 HTTP クラス マップに関連付けるアクションの名前付きグループです。コンフィギュレーション モードで action-list type modify http コマンドを使用して、HTTP ヘッダーを変更するアクション リストを作成できます。このコマンドの構文は次のとおりです。

action-list type modify http name

name 引数には、アクション リストの一意の名前を入力します。この名前は、最大 64 文字の英数字を、引用符で囲まずに入力します。

たとえば、次のように入力します。

host1/Admin(config)# action-list type modify http HTTP_MODIFY_ACTLIST
host1/Admin(config-actlist-mod)#
 

設定からアクション リストを削除するには、次のように入力します。

host1/Admin(config)# no action-list type modify http HTTP_MODIFY_ACTLIST
 

) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。

レイヤ 7 クラス マップの match ステートメント

レイヤ 7 ポリシー マップのインライン match ステートメント

サーバ ファームのレイヤ 7 ハッシュ プレディクタ

スティッキ グループ内のレイヤ 7 スティッキ表現

レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現


 

ここでは、アクション リストに挿入できる HTTP アクションについて説明します。

HTTP ヘッダー挿入の設定

HTTP ヘッダーの書き換えの設定

HTTP ヘッダーの削除の設定

アクション リストを作成し、アクションと関連付けたら、アクション リストとレイヤ 7 ポリシー マップを関連付けます。詳細については、「アクション リストとレイヤ 7 ポリシー マップの関連付け」を参照してください。

SSL の HTTP リダイレクト URL の書き換えの詳細については、『 Cisco Application Control Engine Module SSL Configuration Guide 』を参照してください。

HTTP ヘッダー挿入の設定

ACE で NAT を使用してクライアントの送信元 IP アドレスを VIP に変換する場合、TCP および IP リターン トラフィックに対応するクライアントを特定する方法がサーバに必要です。NAT を使用して送信元 IP アドレスが変換されているクライアントを特定する目的で、ユーザによって選択された総称ヘッダーとストリング値をクライアント HTTP 要求に挿入することを ACE に指示できます。(NAT の詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください)。


) TCP サーバ再利用または持続性再バランスのどちらかがイネーブルの場合、ACE はあらゆるクライアント要求にヘッダーを挿入します。TCP サーバ再利用については、「TCP サーバ再利用の設定」を参照してください。持続性再バランスについては、「HTTP 持続性再バランスのイネーブル化」を参照してください。


クライアントからの HTTP 要求、サーバからの応答、またはその両方にヘッダー名および値を挿入するには、アクション リスト変更コンフィギュレーション モードで header insert コマンドを使用します。このコマンドの構文は次のとおりです。

header insert { request | response | both } header_name header-value expression

キーワード、オプション、および引数は、次のとおりです。

request - ACE がクライアントからの HTTP 要求パケットにだけ HTTP ヘッダーを挿入するよう指定します。

response - ACE がサーバからの HTTP 応答パケットにだけ HTTP ヘッダーを挿入するよう指定します。

both - ACE が HTTP 要求パケットと応答パケット両方に HTTP ヘッダーを挿入するよう指定します。

header_name - HTTP ヘッダーの 識別子。最大 255 文字の英数字を、引用符で囲まずに入力します。

header-value expression - 要求パケット、応答パケット、または両方に挿入する HTTP ヘッダーの値を指定します。スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。次の動的置換文字列を使用することもできます。

%is - HTTP ヘッダーに送信元 IP アドレスを挿入

%id - HTTP ヘッダーに宛先 IP アドレスを挿入

%ps - HTTP ヘッダーに送信元ポートを挿入

%pd - HTTP ヘッダーに宛先ポートを挿入

ACE は、データ ストリングの照合に正規表現(regex)を使用することをサポートします。 表 3-3 は、正規表現で使用できるサポート対象文字の一覧です。置換パターンで %1 および %2 を使用する動的置換にはカッコ式を使用します。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


 

表 3-3 ストリング式の照合に使用できる特殊文字

表記法
説明

.

任意の 1 文字

.*

ゼロ以上の任意の文字

\.

ピリオド(エスケープ)

[ charset ]

範囲内の任意の 1 文字と一致

[^charset]

範囲内の文字はどれも一致しません。その他の文字はすべて、その文字のままです。

()

式のグループ化

(expr1 | expr2)

式の論理和

(expr)*

0 または複数の式

(expr)+

1 または複数の式

expr{m,n}

式を m n 回繰り返します。 m および n の範囲は 1 ~ 255 です。

expr{m}

式を厳密に m 回だけ照合します。m の範囲は 1 ~ 255 です。

expr{m,}

式を m 回以上、照合します。m の範囲は 1 ~ 255 です。

\a

アラート(ASCII 7)

\b

バックスペース(ASCII 8)

\f

用紙送り(ASCII 12)

\n

改行(ASCII 10)

\r

復帰(ASCII 13)

\t

タブ(ASCII 9)

\v

垂直タブ(ASCII 11)

\0

ヌル(ASCII 0)

\\

バックスラッシュ

\x##

2 桁の 16 進表記で指定された任意の ASCII 文字

たとえば、クライアント要求とサーバ応答ヘッダーの両方に Host: source_ip:source_port を挿入するには、次のように入力します。

host1/Admin(config)# action-list type modify http HTTP_MODIFY_ACTLIST
host1/Admin(config-actlist-mod)# header insert both Host header-value %is:%ps
 

アクション リストとレイヤ 7 ロード バランシング ポリシー マップを関連付けるには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance http first-match L7_POLICY
host1/Admin(config-pmap-lb)# class L7_CLASS
host1/Admin(config-pmap-lb-c)# serverfarm sf1
host1/Admin(config-pmap-lb-c)# action HTTP_MODIFY_ACTLIST
 

アクション リストから header insert コマンドを削除するには、次のように入力します。

host1/Admin(config-actlist-mod)# no header insert both Host header-value %is:%ps

HTTP ヘッダーの書き換えの設定

クライアントからの要求パケット、サーバからの応答パケット、またはその両方の HTTP ヘッダーを書き換えるには、アクション リスト変更コンフィギュレーション モードで header rewrite コマンドを使用します。このコマンドの構文は次のとおりです。

header rewrite { request | response | both } header_name header-value expression replace pattern

キーワードおよび引数は、次のとおりです。

request - ACE がクライアントからの HTTP 要求パケットの HTTP ヘッダー ストリングだけを書き換えるよう指定します。

response - ACE がサーバからの HTTP 応答パケットの HTTP ヘッダー ストリングだけを書き換えるよう指定します。

both - ACE が HTTP 要求パケットと応答パケットの両方の HTTP ヘッダー ストリングを書き換えるよう指定します。

header_name - HTTP ヘッダーの 識別子。最大 255 文字の英数字を、引用符で囲まずに入力します。

header-value expression - 要求パケット、応答パケット、またはその両方で置き換える HTTP ヘッダーの値を指定します。1 ~ 255 文字の英数字を入力します。ACE は、データ ストリングの照合に regex を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。置換パターンで %1 および %2 を使用する動的置換にはカッコ式を使用します。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


replace pattern - ヘッダー値の正規表現の代わりに使用するパターン ストリングを指定します。ヘッダー値の最初と 2 番めのカッコ式を動的に置換するには、それぞれ %1 と %2 を使用します。

www.cisco.com を www.cisco.net に置き換えるには、次のように入力します。

host1/Admin(config)# action-list type modify http HTTP_MODIFY_ACTLIST
host1/Admin(config-actlist-mod)# header rewrite request Host header-value www\.(cisco)\.com replace www.%1.net
 

アクション リストとレイヤ 7 ロード バランシング ポリシー マップを関連付けるには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance http first-match L7_POLICY
host1/Admin(config-pmap-lb)# class L7_CLASS
host1/Admin(config-pmap-lb-c)# serverfarm sf1
host1/Admin(config-pmap-lb-c)# action HTTP_MODIFY_ACTLIST
 

アクション リストから header rewrite コマンドを削除するには、次のように入力します。

host1/Admin(config-actlist-mod)# no header rewrite request Host header-value www\.(cisco)\.com replace www.%1.net

HTTP ヘッダーの削除の設定

クライアントからの要求、サーバからの応答、またはその両方の HTTP ヘッダーを削除するには、アクション リスト変更コンフィギュレーション モードで header delete コマンドを使用します。このコマンドの構文は次のとおりです。

header delete { request | response | both } header_name

キーワードおよび引数は、次のとおりです。

request - ACE がクライアントからの HTTP 要求パケットのヘッダーだけを削除するよう指定します。

request - ACE がサーバからの HTTP 応答パケットのヘッダーだけを削除するよう指定します。

both - ACE が HTTP 要求パケットと応答パケットの両方のヘッダーを削除するよう指定します。

header_name - 削除する HTTP ヘッダーの 識別子。最大 255 文字の英数字を、引用符で囲まずに入力します。

たとえば、要求パケットだけから Host ヘッダーを削除するには、次のように入力します。

host1/Admin(config)# action-list type modify http HTTP_MODIFY_ACTLIST
host1/Admin(config-actlist-mod)# header delete request Host
 

アクション リストとレイヤ 7 ロード バランシング ポリシー マップを関連付けるには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance http first-match L7_POLICY
host1/Admin(config-pmap-lb)# class L7_CLASS
host1/Admin(config-pmap-lb-c)# serverfarm sf1
host1/Admin(config-pmap-lb-c)# action HTTP_MODIFY_ACTLIST
 

アクション リストから header delete コマンドを削除するには、次のように入力します。

host1/Admin(config-actlist-mod)# no header delete request Host
 

汎用 TCP および UDP データ解析用のレイヤ 7 クラス マップの設定

汎用 TCP および UDP データ解析を使用して、ACE が明示的にサポートしないプロトコルからのパケットで、正規表現(regex)照合を実行します。regex 照合はカスタム プロトコル設定に基づいています。この作業を実行するには、汎用 TCP または UDP データ解析用にレイヤ 7 クラス マップを作成し、TCP ストリームまたは UDP パケットのペイロードに基づいてポリシー マップ アクションを実行するよう ACE に指示します。

正規表現でメモリを大量に使用しないようにするには、汎用データ解析の設定時に次の注意事項に従ってください。

VIP ごとに一般的な規則を 1 つだけ使用します。

同じ VIP 上のすべての一般的な規則に同じオフセットを使用します。

アプリケーションで機能する、できる限り最小のオフセットを使用します。

可能な場合は、レイヤ 4 ペイロードのスティッキ性( 「スティッキ機能の設定」 を参照)と、レイヤ 4 ペイロードの照合を同時に導入するのを避けます。


persistence-rebalance コマンドは汎用プロトコル解析と互換性がありません。


コンフィギュレーション モードで class-map type generic コマンドを使用して、汎用 TCP または UDP データ解析用のクラス マップを作成できます。このコマンドの構文は次のとおりです。

class-map type generic match-all | match-any name

キーワードおよび引数は、次のとおりです。

generic - データ解析に非プロトコル固有の動作を指定します。

match-all | match-any - (任意)クラス マップに複数の一致基準が存在する場合に、ACE にレイヤ 3 およびレイヤ 4 ネットワーク トラフィックをどのように評価させるかを決定します。クラス マップは、 match コマンドが次の条件の 1 つと一致した場合に、一致と見なされます。

match-all - (デフォルト)ネットワーク トラフィックは、すべての一致基準を満たす必要があります(暗黙の論理積)。

match-any - ネットワーク トラフィックは、一致基準の 1 つを満たすだけで、ロード バランシング クラス マップと一致します(暗黙の論理和)。

name - クラス マップに割り当てる名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。名前は、クラス マップに使用するだけではなく、クラス マップとポリシー マップを関連付けるためにも使用します。

たとえば、次のように入力します。

host1/Admin(config)# class-map type generic match-any GENERIC_L7_CLASS
 

コンフィギュレーションから クラス マップを削除するには、次のように入力します。

host1/Admin(config)# no class-map type generic match-any GENERIC_L7_CLASS
 

汎用プロトコル解析用のクラス マップを作成したあと、次の 1 つまたは複数の文を設定します。

レイヤ 4 ペイロードの一致基準の定義

送信元 IP アドレス一致基準の定義

レイヤ 4 ペイロードの一致基準の定義

汎用データ解析は、TCP または UDP ペイロードのあるレイヤ 4 で開始します。これにより、レイヤ 5 のデータ(Lightweight Directory Access Protocol [LDAP] または DNS の場合)、またはレイヤ 7 のヘッダーやペイロード(たとえば、HTTP)を照合できます。クラス マップ汎用コンフィギュレーション モードで match layer4-payload コマンドを使用して、レイヤ 4 ペイロードの一致基準を定義できます。このコマンドの構文は次のとおりです。

[ line_number ] match layer4-payload [ offset number ] | regex expression


) 同じ match-all クラス マップで複数の match layer4-payload コマンドは設定できません。


キーワード、オプション、および引数は、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。シーケンス番号は、match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

offset number - (任意)レイヤ 4 ペイロード式検索ストリングが開始する、データの絶対オフセットを指定します。オフセットは TCP または UDP 本体の最初のバイトから開始します。0 ~ 999 の整数を入力します。デフォルト値は 0 です。

regex expression - TCP または UDP エンティティ本体に含まれるレイヤ 4 ペイロード式を指定します。ACE は、データ ストリングの照合に regex を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。置換パターンで %1 および %2 を使用する動的置換にはカッコ式を使用します。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。



) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。

レイヤ 7 クラス マップの match ステートメント

レイヤ 7 ポリシー マップのインライン match ステートメント

サーバ ファームのレイヤ 7 ハッシュ プレディクタ

スティッキ グループ内のレイヤ 7 スティッキ表現

レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現


 

たとえば、汎用レイヤ 4 データ解析のクラス マップを作成するには、次のように入力します。

host1/Admin(config)# class-map type generic match-any GENERIC_L7_CLASS
host1/Admin(config-cmap-generic)# 10 match layer4-payload offset 500 regex abc123
 

クラス マップから match 文を削除するには、次のように入力します。

host1/Admin(config-cmap-generic)# no 10
 

送信元 IP アドレス一致基準の定義

クライアントの送信元 IP アドレスに基づいてトラフィックをフィルタリングするようにクラス マップを設定するには、クラス マップ汎用コンフィギュレーション モードで match source-address コマンドを使用します。クラス マップの一致基準がこのコマンドだけの場合、レイヤ 3 およびレイヤ 4 クラス マップと見なします。

このコマンドの構文は次のとおりです。

[ line_number ] match source-address ip_address [ netmask ]

引数およびオプションは次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。ライン番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

ip_address - クライアントの送信元 IP アドレス。ドット付き 10 進表記で IP アドレスを入力します(例:192.168.11.2)。

netmask - (任意)IP アドレスのサブネット マスク。ドット付き 10 進表記でネットマスクを入力します(例:255.255.255.0)。デフォルト値は 255.255.255.255 です。


) 同じ match-all クラス マップで複数の match source-address コマンドは設定できません。


たとえば、送信元 IP アドレス 192.168.11.2 255.255.255.0 に対するクラス マップ照合を指定するには、次のように入力します。

host1/Admin(config)# class-map type generic match-any GENERIC_L4_CLASS
host1/Admin(config-cmap-generic)# 50 match source-address 192.168.11.2 255.255.255.0
 

クラス マップから送信元 IP アドレスの match 文を削除するには、次のように入力します。

host1/Admin(config-cmap-generic)# no 50

レイヤ 7 SLB クラス マップのネスト

クラス マップをネストすると、汎用解析に複雑な論理式を使用できます。ある汎用クラス マップを別の汎用クラス マップの一致基準として指定するには、クラス マップ汎用コンフィギュレーション モードで match class-map コマンドを使用します。


) ACE では、ネストされたクラス マップを別のクラス マップに含めることがないように、クラス マップのネストが 2 段階までに制限されます。


このコマンドの構文は次のとおりです。

[ line_number ] match class-map map_name

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。

map_name - 既存の汎用クラス マップの名前

match class-map コマンドを使用すると、同じクラス マップで match-any キーワードと match-all キーワードを組み合わせて使用できます。1 つのクラス マップで match-all 特性と match-any 特性を組み合わせるには、 match コマンド( match any または match all のいずれか)を 1 つ使用するクラス マップを作成し、その後、別の match タイプを使用する第 2 のクラス マップの match 文としてこのクラス マップを使用します。

たとえば、コマンド A、B、C、および D がそれぞれ別々の一致基準を表す場合に、A、B、または C および D(A または B または [C および D])と一致することによってクラス マップを満足させる、汎用プロトコル トラフィックを求めるとします。ネストされたクラス マップを使用しなかった場合、トラフィックがクラス マップを満足させるには、4 種類すべての一致基準(A、B、C、D)と一致しなければならないか、またはいずれかの一致基準(A、B、C、D)と一致しなければなりません。一致基準 C および D と一致する(基準 E) match-all キーワードを使用するクラス マップを 1 つ作成することによって、一致基準 A、B、および E を使用する match-any クラス マップを新しく作成できます。新しいトラフィック クラスには、必要な分類シーケンスである A または B または E が含まれます。これは、A または B または [C および D] と同じです。

たとえば、 match class-map コマンドを使用して、それぞれ match-any 特性と match-all 特性を持つ 2 つのクラス マップを結合して、1 つのクラス マップにするには、次のように入力します。

host1/Admin(config)# class-map type generic match-any GENERIC_L4_CLASS
host1/Admin(config-cmap-generic)# 50 match source-address 192.168.11.2 255.255.255.0
host1/Admin(config-cmap-generic)# exit
 
host1/Admin(config)# class-map type generic match-all GENERIC_L4_CLASS
host1/Admin(config-cmap-generic)# 10 match class-map GENERIC_L4_CLASS2
host1/Admin(config-cmap-generic)# 20 match source-address 192.168.11.2
host1/Admin(config-cmap-generic)# exit
 

汎用クラス マップからネストされたクラス マップを削除するには、次のように入力します。

host1/Admin(config-cmap-generic)# no 10

SLB に対応するレイヤ 7 クラス マップの設定

レイヤ 7 SLB クラス マップには、特定のレイヤ 7 ネットワーク トラフィックを分類する一致基準を指定します。ここでは、HTTP cookie、HTTP ヘッダー、HTTP URL、RADIUS アトリビュート、RDP、RTSP ヘッダーまたは URL、SIP ヘッダー、送信元 IP アドレス、または SSL 暗号に基づいてレイヤ 7 SLB 用クラス マップを作成する方法について説明します。

コンフィギュレーション モードで class-map type コマンドを使用すると、SLB 用のレイヤ 7 クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始できます。このコマンドの構文は次のとおりです。

class-map type {{ http | radius | rtsp | sip } loadbalance } [ match-all | match-any ] map_name

1 つのクラス マップに複数の match コマンドを設定して、一致基準を指定できます。たとえば、レイヤ 7 ロード バランシング クラス マップを設定して複数の URL、cookie、および HTTP ヘッダーをグループとして定義すると、そのグループをトラフィック ポリシーに関連付けることができます。 match-all および match-any キーワードで、クラス マップに複数の一致基準が存在する場合に、ACE に複数の match 文処理をどのように評価させるかを決定します。

キーワード、引数、およびオプションは、次のとおりです。

http - HTTP ロード バランシング クラス マップを指定します。これがデフォルトです。

radius - ロード バランシング用の Remote Access Dial-In User Service(RADIUS)プロトコルを指定します。

rtsp - ロード バランシング用の RTSP を指定します。

sip - ロード バランシング用の SIP を指定します。

loadbalance - ロード バランシング タイプのクラス マップを指定します。

match-all | match-any - (任意)クラス マップに複数の一致基準が存在する場合に、ACE にレイヤ 7 HTTP SLB 処理をどのように評価させるかを決定します。クラス マップは、match コマンドが次の条件の 1 つと一致した場合に、一致と見なされます。

match-all - (デフォルト)ネットワーク トラフィックは、レイヤ 7 ロード バランシング クラス マップと一致するために、すべての一致基準を満たす必要があります(暗黙の論理積)。 match-all キーワードを適用できるのは、タイプが異なるレイヤ 7 ロード バランシングの match 文だけです。たとえば、同じクラス マップの URL、HTTP ヘッダー、および URL cookie 文に match-all 条件を指定することは有効です。しかし、同じクラス マップに含まれる、同じ名前の複数の HTTP ヘッダーまたは複数の cookie、または複数の URL に match-all 条件を指定しても無効です。

match-any - ネットワーク トラフィックは、一致基準の 1 つを満たすだけで、HTTP ロード バランシング クラス マップと一致します(暗黙の論理和)。 match-any キーワードを適用できるのは、タイプが同じレイヤ 7 ロード バランシングの match 文だけです。たとえば、ACE では、同じクラス マップの URL、HTTP ヘッダー、および URL cookie 文に match-any 条件は指定できませんが、同じクラス マップに含まれている複数の URL、または名前が異なる複数の HTTP ヘッダーまたは複数の cookie に match-any 条件を指定することは可能です。

map_name - クラス マップに割り当てる Unique Identifier(UID; 固有識別情報)。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。クラス マップ名は、クラス マップに使用するだけではなく、クラス マップとポリシー マップを関連付けるためにも使用します。

L7SLBCLASS というレイヤ 7 ロード バランシング クラス マップを作成する場合の入力例を示します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)#
 

コンフィギュレーションからレイヤ 7 ロード バランシング クラス マップを削除する場合は、次のように入力します。

host1/Admin(config)# no class-map type http loadbalance match-any L7SLBCLASS
 

レイヤ 7 クラス マップに一致基準を指定する方法については、次のトピックを参照してください。

コンフィギュレーションの考慮事項

ロード バランシング用の HTTP コンテンツ照合の定義

HTTP ロード バランシング用の cookie の定義

ロード バランシング用の HTTP ヘッダーの定義

HTTP ロード バランシング用の URL の定義

RADIUS ロード バランシングのアトリビュートの定義

RTSP ロード バランシング用のヘッダーの定義

RTSP ロード バランシング用の URL の定義

SIP ロード バランシング用のヘッダーの定義

送信元 IP アドレス一致基準の定義

レイヤ 7 SLB クラス マップのネスト

コンフィギュレーションの考慮事項

SLB 用のクラス マップを作成する場合、制約事項は次のとおりです。

レイヤ 3 およびレイヤ 4 ポリシー マップごとに、最大 10 の cookie 名およびヘッダー名を関連付けることができます。10 という最大数を超えないかぎり、cookie 名とヘッダー名の数の配分は任意です。

レイヤ 3 およびレイヤ 4 ポリシー マップごとに、同じタイプの正規表現(regex)のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。

レイヤ 7 クラス マップの match ステートメント

レイヤ 7 ポリシー マップのインライン match ステートメント

サーバ ファームのレイヤ 7 ハッシュ プレディクタ

スティッキ グループ内のレイヤ 7 スティッキ表現

レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現

ACE では、ネストされたクラス マップを別のクラス マップに含めることがないように、クラス マップのネストが 2 段階までに制限されます。

クラス マップの最大数は、ACE ごとに 8192 です。

ロード バランシング用の HTTP コンテンツ照合の定義

ACE では、メッセージ本文(ヘッダーではない)の正規表現ストリングに基づき、特定の接続から受信した HTTP メッセージ本文に対して、正規表現照合を実行します。HTTP コンテンツに基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ コンフィギュレーション モードで match http content コマンドを使用します。このコマンドの構文は次のとおりです。

[ line_number ] match http content expression [ offset number ]

引数およびオプションは次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。ライン番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

expression - 照合する正規表現コンテンツ。1 ~ 255 文字の英数字でストリングを入力します。ACE は、データ ストリングの照合に正規表現を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


offset number - (任意)ACE がメッセージ本文の解析を開始するバイトを指定します。0 ~ 999 の整数を入力します。デフォルト値は 0 です。

たとえば、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7_HTTP_CLASS
host1/Admin(config-cmap-http-lb)# 10 match http content abc*123 offset 50
 

HTTP ロード バランシング用の cookie の定義

ACE では、cookie 式に基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。クラスごとに最大 10 の cookie 名およびヘッダー名を任意の組み合わせで設定できます。cookie の名前とストリングに基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ コンフィギュレーション モードで match http cookie コマンドを使用します。このコマンドの構文は次のとおりです。

[ line_number ] match http cookie { name | secondary name } cookie-value expression

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。シーケンス番号は、match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

name - 固有の cookie 名。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。


) cookie 名に下線(_)、ハイフン(-)、ピリオド(.)、セミコロン(;)など、特定の文字を使用する場合は、これらの文字に相当するパーセント符号化(% HEX HEX)文字に置き換えます。たとえば、Regex_MatchCookie という cookie 名を設定する場合は、下線(_)文字を相当するパーセント符号化文字である %5F に置き換え、CLI には cookie 名として Regex%5FMatchCookie を入力します。


secondary name - URL ストリング内の cookie を指定します。HTTP パラメータ マップでコマンドを使用すると、URL ストリング内の cookie のデリミタを指定できます。詳細については、「URL デリミタの定義」を参照してください。

cookie-value expression - 一意の cookie 値の正規表現を指定します。スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。ACE は、ストリング表現の照合に正規表現の使用をサポートします。ストリング式の照合に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


たとえば、testcookie1 という名前の cookie にレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 100 match http cookie testcookie1 cookie-value 123456
 

クラス マップから HTTP cookie match 文を削除するには、次のように入力します。

host1/Admin(config-cmap-http-lb)# no 100

ロード バランシング用の HTTP ヘッダーの定義

ACE では、HTTP ヘッダー式に基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。クラスごとに最大 10 の HTTP ヘッダー名および cookie 名を任意の組み合わせで設定できます。HTTP ヘッダーの名前と値に基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ HTTP ロード バランス コンフィギュレーション モードで match http header コマンドを使用します。

このコマンドの構文は次のとおりです。

[ line_number ] match http header name header-value expression

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。シーケンス番号は、match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

name - HTTP ヘッダーのフィールドの名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。標準 HTTP ヘッダー フィールド名または任意のユーザ定義のヘッダー フィールド名を含む、任意のヘッダー フィールド名を入力できます。標準 HTTP ヘッダー フィールド名の一覧については、 表 3-4 を参照してください。

header-value expression - HTTP ヘッダーの指定されたフィールドの値と比較する、ヘッダー値の正規表現ストリングを指定します。最大 255 文字の英数字を入力します。ACE は、ヘッダー照合に正規表現を使用することをサポートします。式はヘッダー マップに、 header-name: expression の形式で格納されます。スペースが含まれるストリング全体を引用符で囲むことによって、ヘッダー式にスペースを使用できます。 match-all クラス マップを使用する場合は、ヘッダー マップのすべてのヘッダーを照合する必要があります。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


 

表 3-4 標準 HTTP ヘッダー フィールド

フィールド名
説明

Accept

要求への応答で受け入れることのできる表現スキーム(コンテンツ タイプ メタ情報値)のリスト(項目間の区切りはセミコロン)

Accept-Charset

応答に受け入れることのできる文字セット。このフィールドによって、より広範囲の文字セットまたは特定目的の文字セットを理解できるクライアントは、これらの文字セットで文書を表現できるサーバに、その能力を知らせます。

Accept-Encoding

ユーザがサーバから受け入れることのできるコンテンツ符号化方式

Accept-Language

その文書の言語の ISO コード。この言語コードは、ISO 3316 言語コードと、国による差異を指定するオプションの ISO639 国コードです。

Authorization

ユーザ エージェントが通常、401 応答を受信したあとで、サーバに対して自ら認証することを指定します。

Cache-Control

要求/応答チェーンに伴うすべてのキャッシング メカニズムが従わなければならないディレクティブ。このディレクティブはキャッシュが要求または応答に悪影響を及ぼすのを防ぐための動作を指定します。

Connection

送信側が接続オプションを指定できるようにします。

Content-MD5

エンドツーエンド インテグリティ チェックを提供する entity-body の MD5 ダイジェスト。このヘッダー フィールドを生成できるのは、クライアントまたはオリジン サーバだけです。

Expect

クライアントが要求する動作をサーバに伝えるためにクライアントが使用します。

From

要求側ユーザ エージェントを制御する担当者の E メール アドレス

Host

要求されているリソースのインターネット ホストおよびポート番号(ユーザまたは参照リソースによって与えられたオリジナルの URI から取得)。Host フィールドの値は、オリジナル URL に示されるオリジン サーバ、またはゲートウェイの命名機関を表していなければなりません。

If-Match

条件付きの方式で使用します。リソースから以前に 1 つ以上のエンティティを取得したクライアントは、If-Match ヘッダー フィールド内に、関連付けられているエンティティ タグのリストを含めることによって、これらのいずれかのエンティティが最新の値であることを確認できます。この機能により、最小のトランザクション オーバーヘッドでキャッシュ情報を効率的にアップデートできます。この機能は、要求のアップデート時にリソースの不適切なバージョンによる改悪を防ぐためにも使用されます。特殊な例として、値「*」はリソースのあらゆる最新エンティティと一致します。

Pragma

Pragma ディレクティブを通じて、サーバはこのディレクティブが何に該当するかを理解します。構文は、HTTP の他の複数値フィールド( accept フィールドなど)と同じで、カンマ区切り方式のエントリ リストです。オプションのパラメータはセミコロンで区切られます。

Referer

要求内の URI の取得元リソースのアドレス(URI)

Transfer-Encoding

送信者と受信者の間で安全に伝送するために、どのタイプのトランスフォーメーションがメッセージ ボディに適用されたか(該当する場合)。

User-Agent

要求を発信しているソフトウェア プログラムなど、ユーザ エージェントに関する情報。この情報は統計、プロトコル違反の追跡、および応答をカスタマイズして特定のユーザ エージェント制限を回避しているユーザ エージェントの自動認識に使用されます。

Via

要求時にはユーザ エージェントおよびサーバ間、応答時には起点サーバおよびクライアント間の、中間プロトコルおよび受信側を指定するために、ゲートウェイおよびプロキシが使用します。

たとえば、Host という名前の HTTP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 100 match http header Host header-value .*cisco.com
 

クラス マップで正規表現を使用してワイルドカード検索のエミュレーションを行い、ヘッダー値式ストリングを照合するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 10 match http header Host header-value .*cisco.com
host1/Admin(config-cmap-http-lb)# 20 match http header Host header-value .*yahoo.com
 

Via という名前の HTTP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 30 match http header Via header-value 192.*
 

L7SLBCLASS クラス マップからすべての HTTP ヘッダー一致基準を削除するには、次のように入力します。

host1/Admin(config-cmap-http-lb)# no 10
host1/Admin(config-cmap-http-lb)# no 20
host1/Admin(config-cmap-http-lb)# no 30

HTTP ロード バランシング用の URL の定義

ACE では、HTTP URL ストリングに基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。URL 名および任意で HTTP 方式に基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ HTTP ロード バランス コンフィギュレーション モードで match http url コマンドを使用します。このコマンドの構文は次のとおりです。

[ line_number ] match http url expression [method name ]

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。 line_number ライン番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

expression - 照合する URL または URL の一部分。1 ~ 255 文字の英数字で URL ストリングを入力します。ACE では、URL にホスト名が含まれているかどうかに関係なく、HTTP 方式の後ろにある URL ストリングに対して照合を実行します。ACE は、URL ストリングの照合に正規表現を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) URL の照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


method name - (任意)照合する HTTP 方式を指定します。方式名として、最大 64 文字の英数字を引用符で囲まず、スペースを使用しないで入力します。方式は、標準 HTTP 1.1 方式名(OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、または CONNECT)の 1 つにすることも、または厳密に一致しなければならないテキスト ストリング(CORVETTE など)にすることもできます。

特定の URL にレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 10 match http url /whatsnew/latest.*
 

正規表現を使用してワイルドカード検索のエミュレーションを行い、あらゆる .gif または .html ファイルと一致するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 100 match http url .*.gif
host1/Admin(config-cmap-http-lb)# 200 match http url .*.html
 

L7SLBCLASS クラス マップから URL match 文を削除するには、 no およびライン番号を入力します。たとえば、ライン 100 を削除する場合は、次のように入力します。

host1/Admin(config-cmap-http-lb)# no 100

) ライン番号を使用しないで、オリジナル URL の match 文を入力した場合は、実行コンフィギュレーションからライン番号を取得できます。実行コンフィギュレーションを表示するには、show running-config コマンドを入力します。


RADIUS ロード バランシングのアトリビュートの定義

ACE では、calling-station-ID またはユーザ名の RADIUS アトリビュートに基づいてレイヤ 7 RADIUS ロード バランシングを実行します。レイヤ 7 クラス マップを設定したら(「SLB に対応するレイヤ 7 クラス マップの設定」 を参照)、クラス マップ RADIUS ロード バランス コンフィギュレーション モードで match radius attribute コマンドを使用して、レイヤ 7 RADIUS 一致基準を指定できます。このコマンドの構文は次のとおりです。

match radius attribute { calling-station-id | username } expression

キーワードおよび引数は、次のとおりです。

calling-station-id - 発信側端末の UID を指定します。

username - 接続を開始する RADIUS ユーザの名前を指定します。

expression - 照合する発信側端末 ID またはユーザ名。1 ~ 64 文字の英数字でストリングを入力します。ACE は、ストリングの照合に正規表現を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) match-all クラス マップでは、同じタイプの match を複数設定できず、match-any クラス マップでは異なるタイプの match を複数設定できません。


たとえば、発信側端末 ID に基づいて RADIUS 一致基準を設定するには、次のように入力します。

host1/Admin(config)# class-map type radius loadbalance match-any RADIUS_L7_CLASS
host1/Admin(config-cmap-radius-lb)# 10 match radius attribute calling-station-id 122*
 

RADIUS_L7_CLASS クラス マップから RADIUS アトリビュート match 文を削除するには、 no およびライン番号を入力します。たとえば、ライン 10 を削除する場合は、次のように入力します。

host1/Admin(config-cmap-radius-lb)# no 10

RTSP ロード バランシング用のヘッダーの定義

ACE では、RTSP ヘッダー式に基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。1 つのクラスで最大 10 の RTSP ヘッダー名を設定できます。


) ACE が RTSP セッション要求を受信すると、最初の要求メッセージに基づいてロード バランシングが決定されます。以後の要求と応答メッセージの交換はすべて同じサーバに転送されます。ヘッダー一致基準を設定する場合、ヘッダーがメディア プレーヤーによって最初の要求メッセージに含まれているか確認します。


RTSP ヘッダーの名前と値に基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ RTSP ロード バランス コンフィギュレーション モードで match rtsp header コマンドを使用します。

このコマンドの構文は次のとおりです。

[ line_number ] match rtsp header name header-value expression

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。シーケンス番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

name - RTSP ヘッダーのフィールドの名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。標準 RSTP ヘッダー フィールド名または任意のユーザ定義のヘッダー フィールド名を含む、任意のヘッダー フィールド名を入力できます。


) RTSP は HTTP/1.1 の構文と動作において類似しているので、RTSP サーバがサポートしている場合、表 3-4 で定義された任意の HTTP ヘッダーを使用できます。すべての RTSP ヘッダーの一覧については、RFC 2326 を参照してください。


header-value expression - RTSP ヘッダーの指定されたフィールドの値と比較する、ヘッダー値式のストリングを指定します。最大 255 文字の英数字を入力します。ACE は、ヘッダー照合に正規表現を使用することをサポートします。式はヘッダー マップに、 header-name: expression の形式で格納されます。スペースが含まれるストリング全体を引用符で囲むことによって、ヘッダー式にスペースを使用できます。 match-all クラス マップを使用する場合は、ヘッダー マップのすべてのヘッダーを照合する必要があります。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。

たとえば、Session という名前の RTSP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type rtsp loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-rtsp-lb)# 100 match rtsp header Session header-value abc123
 

クラス マップで正規表現を使用してワイルドカード検索のエミュレーションを行い、ヘッダー値式ストリングを照合するには、次のように入力します。

host1/Admin(config)# class-map type rtsp loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-rtsp-lb)# 10 match rtsp header Require header-value feature1
host1/Admin(config-cmap-rtsp-lb)# 20 match rtsp header Require header-value feature2
 

Via という名前の RTSP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type rtsp loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-rtsp-lb)# 30 match rtsp header Via header-value 192.*
 

L7SLBCLASS クラス マップからすべての RTSP ヘッダー一致基準を削除するには、次のように入力します。

host1/Admin(config-cmap-rtsp-lb)# no 10
host1/Admin(config-cmap-rtsp-lb)# no 20
host1/Admin(config-cmap-rtsp-lb)# no 30

RTSP ロード バランシング用の URL の定義

ACE では、RTSP URL ストリングに基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。URL 名および任意で RTSP 方式に基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ RTSP ロード バランス コンフィギュレーション モードで match rtsp url コマンドを使用します。このコマンドの構文は次のとおりです。

[ line_number ] match rtsp url expression

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。 line_number ライン番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

expression - 照合する URL または URL の一部分。1 ~ 255 文字の英数字で URL ストリングを入力します。ACE では、URL にホスト名が含まれているかどうかに関係なく、RTSP 方式の後ろにある URL ストリングに対して照合を実行します。ACE は、URL ストリングの照合に正規表現を使用することをサポートします。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。


) URL の照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。


特定の URL にレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type rtsp loadbalance L7SLBCLASS
host1/Admin(config-cmap-rtsp-lb)# 10 match rtsp url /whatsnew/latest.*
 

正規表現を使用してワイルドカード検索のエミュレーションを行い、あらゆる .wav または .mpg ファイルと一致するには、次のように入力します。

host1/Admin(config)# class-map type rtsp loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-rtsp-lb)# 100 match rtsp url .*.wmv
host1/Admin(config-cmap-rtsp-lb)# 200 match rtsp url .*.mpg

L7SLBCLASS クラス マップから URL match 文を削除するには、 no およびライン番号を入力します。たとえば、ライン 100 を削除する場合は、次のように入力します。

host1/Admin(config-cmap-rtsp-lb)# no 100
 

) ライン番号を使用しないで、オリジナル URL の match 文を入力した場合は、実行コンフィギュレーションからライン番号を取得できます。実行コンフィギュレーションを表示するには、show running-config コマンドを入力します。


SIP ロード バランシング用のヘッダーの定義

ACE では、SIP ヘッダー式に基づき、特定の接続から受信したパケット データに対して、正規表現照合を実行します。1 つのクラスで最大 9 つの SIP ヘッダー フィールド名を設定できます(ACE は必ず Call-ID を解析します)。


) ACE が SIP セッションを受信すると、最初の要求メッセージに基づいてロード バランスが決定されます。以後の要求と応答メッセージの交換(同じ Call-ID を持った)はすべて同じサーバに転送されます。その結果、ヘッダー一致基準を設定する場合、ヘッダーが最初の要求メッセージに含まれているか確認します。


SIP ヘッダーの名前と値に基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ SIP ロード バランス コンフィギュレーション モードで match sip header コマンドを使用します。

このコマンドの構文は次のとおりです。

[ line_number ] match sip header name header-value expression

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。シーケンス番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

name - SIP ヘッダーのフィールドの名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。標準 SIP ヘッダー フィールド名または任意のユーザ定義のヘッダー フィールド名を含む、任意のヘッダー フィールド名を入力できます。標準 SIP ヘッダー フィールド名の一覧については、 表 3-5 を参照してください。


) SIP は HTTP と類似しているので、SIP サーバがサポートしている場合、表 3-4 で定義された任意の HTTP ヘッダーを使用できます。すべての SIP ヘッダーの一覧については、RFC 3261 を参照してください。


header-value expression - SIP ヘッダーの指定されたフィールドの値と比較する、ヘッダー値式のストリングを指定します。最大 255 文字の英数字を入力します。ACE は、ヘッダー照合に正規表現を使用することをサポートします。式はヘッダー マップに、 header-name: expression の形式で格納されます。スペースが含まれるストリング全体を引用符で囲むことによって、ヘッダー式にスペースを使用できます。 match-all クラス マップを使用する場合は、ヘッダー マップのすべてのヘッダーを照合する必要があります。正規表現に使用できる、サポート対象文字の一覧については、 表 3-3 を参照してください。

 

表 3-5 標準 SIP ヘッダー フィールド

フィールド名
説明

Call-ID

コールの一連のメッセージをグループ化する UID

Contact

ユーザ エージェントへの接続に使用できる SIP URI

From

SIP 要求の発信側、送信元

To

SIP 要求の受信側、宛先

Via

トランザクションに使用する転送、応答の送信先

たとえば、Session という名前の SIP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type sip loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-sip-lb)# 100 match sip header Session header-value abc123

クラス マップで正規表現を使用してワイルドカード検索のエミュレーションを行い、ヘッダー値式ストリングを照合するには、次のように入力します。

host1/Admin(config)# class-map type sip loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-sip-lb)# 10 match sip header To header-value .*@cisco.com
host1/Admin(config-cmap-sip-lb)# 20 match sip header To header-value .*@linksys.com
 

Via という名前の SIP ヘッダーにレイヤ 7 クラス マップ ロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type sip loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-sip-lb)# 30 match sip header Via header-value 192.*
 

L7SLBCLASS クラス マップからすべての SIP ヘッダー一致基準を削除するには、次のように入力します。

host1/Admin(config-cmap-sip-lb)# no 10
host1/Admin(config-cmap-sip-lb)# no 20
host1/Admin(config-cmap-sip-lb)# no 30
 

送信元 IP アドレス一致基準の定義

クライアントの送信元 IP アドレスに基づいてレイヤ 7 SLB の決定が行われるようにクラス マップを設定するには、クラス マップ ロード バランス コンフィギュレーション モードで match source-address コマンドを使用します。クラス マップの一致基準がこのコマンドだけの場合、ACE はレイヤ 3 およびレイヤ 4 クラス マップと見なします。

このコマンドの構文は次のとおりです。

[ line_number ] match source-address ip_address [ netmask ]

引数およびオプションは次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。ライン番号は、 match 文のプライオリティを意味するものではありません。2 ~ 1024 の固有の整数を入力します。

ip_address - クライアントの送信元 IP アドレス。ドット付き 10 進表記で IP アドレスを入力します(例:192.168.11.2)。

netmask - (任意)IP アドレスのサブネット マスク。ドット付き 10 進表記でネットマスクを入力します(例:255.255.255.0)。デフォルト値は 255.255.255.255 です。

たとえば、送信元 IP アドレス 192.168.11.2 255.255.255.0 に対するクラス マップ照合を指定するには、次のように入力します。

host1/Admin(config)# class-map http type loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 50 match source-address 192.168.11.2 255.255.255.0
 

クラス マップから送信元 IP アドレスの match 文を削除するには、次のように入力します。

host1/Admin(config-cmap-http-lb)# no 50

レイヤ 7 SLB クラス マップのネスト

クラス マップをネストすると、レイヤ 7 SLB に複雑な論理式を使用できます。あるレイヤ 7 SLB クラス マップを別の レイヤ 7 クラス マップの一致基準として指定するには、クラス マップ ロード バランス コンフィギュレーション モードで match class-map コマンドを使用します。


) ACE では、ネストされたクラス マップを別のクラス マップに含めることがないように、クラス マップのネストが 2 段階までに制限されます。


このコマンドの構文は次のとおりです。

[ line_number ] match class-map map_name

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために 使用できるライン番号 。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。

map_name - 既存のレイヤ 7 ロード バランシング クラス マップの名前

match class-map コマンドを使用すると、同じクラス マップで match-any キーワードと match-all キーワードを組み合わせて使用できます。1 つのクラス マップで match-all 特性と match-any 特性を組み合わせるには、 match コマンド( match any または match all のいずれか)を 1 つ使用するクラス マップを作成し、その後、別の match タイプを使用する第 2 のクラス マップの match 文としてこのクラス マップを使用します。

たとえば、コマンド A、B、C、および D がそれぞれ別々の一致基準を表す場合に、A、B、または C および D(A または B または [C および D])と一致することによってクラス マップを満足させる、レイヤ 7 トラフィックを求めるとします。ネストされたクラス マップを使用しなかった場合、トラフィックがクラス マップを満足させるには、4 種類すべての一致基準(A、B、C、D)と一致しなければならないか、またはいずれかの一致基準(A、B、C、D)と一致しなければなりません。一致基準 C および D と一致する(基準 E) match-all キーワードを使用するクラス マップを 1 つ作成することによって、一致基準 A、B、および E を使用する match-any クラス マップを新しく作成できます。新しいトラフィック クラスには、必要な分類シーケンスである A または B または E が含まれます。これは、A または B または [C および D] と同じです。

たとえば、 match class-map コマンドを使用して、それぞれ match-any 特性と match-all 特性を持つ 2 つのクラス マップを結合して、1 つのクラス マップにするには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance match-any CLASS3
host1/Admin(config-cmap-http-lb)# 100 match http url .*.gif
host1/Admin(config-cmap-http-lb)# 200 match http url .*.html
 
host1/Admin(config-cmap-http-lb)# exit
 
host1/Admin(config)# class-map type http loadbalance match-all CLASS4
host1/Admin(config-cmap-http-lb)# 10 match class-map CLASS3
host1/Admin(config-cmap-http-lb)# 20 match source-address 192.168.11.2
host1/Admin(config-cmap-http-lb)# exit
 

レイヤ 7 クラス マップからネストされたクラス マップを削除するには、次のように入力します。

host1/Admin(config-cmap-http-lb)# no 10

SLB に対応するレイヤ 7 ポリシー マップの設定

レイヤ 7 SLB ポリシー マップを使用するには、先にポリシー マップを作成し、match 文とポリシー アクションを定義します。レイヤ 7 ポリシー マップは子ポリシーなので、さらにレイヤ 7 ポリシー マップを適切なレイヤ 3 およびレイヤ 4 ポリシー マップに関連付け、レイヤ 7 SLB トラフィック分類のエントリ ポイントを用意する必要があります。レイヤ 7 ポリシー マップはインターフェイスに直接適用できません。インターフェイス上でレイヤ 3 およびレイヤ 4 ポリシー マップをアクティブにするか、コンテキストに含まれるすべてのインターフェイスでグローバルにアクティブにするしかありません。

ACE におけるポリシー マップの役割については、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。


) クラス マップまたはインライン match の一致基準(SIP LB は除く)として、送信元 IP だけが設定されているポリシー マップ、またはクラス マップとしてデフォルト クラスが設定されていて、なおかつレイヤ 7 ポリシー アクションが設定されていないポリシー マップについて、ACE はすべてレイヤ 3 および レイヤ 4 ポリシーとして扱います。


コンフィギュレーション モードで policy-map type コマンドを使用すると、レイヤ 7 SLB ポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始できます。このコマンドの構文は次のとおりです。

policy-map type loadbalance [generic | http | radius | rdp | rtsp | sip] first-match map_name

キーワードおよび引数は、次のとおりです。

loadbalance - レイヤ 7 SLB の決定を定義するポリシー マップを指定します。

generic - (任意)ロード バランシング用の汎用プロトコル ポリシー マップを指定します。ACE が明示的にサポートしていないプロトコルをサポートするには、このキーワードを使用します。レイヤ 4 ペイロードの一致基準(「レイヤ 4 ペイロードの一致基準の定義」を参照)または UDP ファスト エージング機能(「UDP トラフィックのパケット単位のロード バランシングのイネーブル化」を参照)が設定されていない場合、ACE は汎用ポリシーをレイヤ 3 およびレイヤ 4 ポリシーとして扱います。


persistence-rebalance コマンドは汎用プロトコル解析と互換性がありません。


汎用プロトコル ポリシー マップを設定する場合、UDP トラフィックでパケット単位のロード バランシング(別名 UDP ファスト エージング機能)をイネーブルにすることもできます。この機能の詳細については、「UDP トラフィックのパケット単位のロード バランシングのイネーブル化」を参照してください。

http -(任意)ロード バランシング用の HTTP を指定します。これがデフォルトです。

radius -(任意)ロード バランシング用の RADIUS を指定します。

rdp -(任意)ロード バランシング用の Microsoft RDP を指定します。

rtsp -(任意)ロード バランシング用の RTSP を指定します。

sip -(任意)ロード バランシング用の SIP を指定します。

first-match - レイヤ 7 ロード バランシング ポリシー マップの実行を定義します。ACE が実行するのは、最初に一致した分類に指定されているアクションだけです。

map_name - ポリシー マップに割り当てる識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

たとえば、SIP ロード バランシング用にレイヤ 7 ポリシー マップを作成するには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance sip first-match SIP_L7_POLICY
host1/Admin(config-pmap-lb-sip)#
 

ACE からポリシー マップを削除するには、次のように入力します。

host1/Admin(config)# no policy-map type loadbalance sip first-match SIP_L7_POLICY
 

ここでは、シーケンス番号の使用方法、インライン match 文の定義方法、ポリシー マップ アクションの定義方法について説明します。

レイヤ 7 ポリシー マップの説明を追加する方法

レイヤ 7 ポリシー マップでのインライン match 文の定義

レイヤ 7 クラス マップをレイヤ 7 ポリシー マップに関連付ける方法

レイヤ 7 SLB ポリシー アクションの指定

レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

レイヤ 7 ポリシー マップの説明を追加する方法

description コマンドを使用すると、レイヤ 7 ポリシー マップに関する簡単な説明を指定できます。

description コマンドを指定するには、ポリシー マップ コンフィギュレーション モードにアクセスする必要があります。

このコマンドの構文は次のとおりです。

description text

text 引数を使用し、最大 240 文字の英数字からなるテキスト ストリングを引用符で囲まずに入力します。

たとえば、HTTP ヘッダーを挿入するためのポリシー マップであるという説明を追加する場合は、次のように入力します。

host1/Admin(config-pmap-lb)# description insert HTTP headers
 

ポリシー マップから説明を削除するには、次のように入力します。

host1/Admin(config-pmap-lb)# no description

レイヤ 7 ポリシー マップでのインライン match 文の定義

レイヤ 7 SLB ポリシー マップでは、ポリシー マップに、トラフィック クラスを指定しないで、インライン SLB 一致基準を 1 つだけ入力できます。インライン レイヤ 7 SLB ポリシー マップの match コマンドは、レイヤ 7 SLB クラス マップの match コマンドと同様に機能します。ただし、インライン match コマンドを使用する場合、アクションを指定できるのは、レイヤ 7 ポリシーの 1 つの match 文に対してだけです。


) 複数の match 文にアクションを指定する場合は、「汎用 TCP および UDP データ解析用のレイヤ 7 クラス マップの設定」 および 「SLB に対応するレイヤ 7 クラス マップの設定」 の説明に従ってクラス マップを使用してください。


インライン match コマンドの構文は次のとおりです。

match name1 match_statement [ insert-before name2 ]

引数およびオプションは次のとおりです。

name1 - インライン match コマンドに割り当てる名前。スペースを含まないテキスト ストリングを、引用符で囲まずに入力します。インライン match 文名の長さとインライン match 文名を対応付けるポリシー マップ名の長さの合計が最大限度である英数字 64 文字を超えてはなりません。たとえば、ポリシー マップ名が L7_POLICY(9 文字)の場合、このポリシーに関連付けるインライン match 文名は、英数字で 55 文字までにする必要があります(64 - 9 = 55)。

match_statement - 個々のレイヤ 7 SLB の一致基準

insert-before name2 - (任意)ポリシー マップ コンフィギュレーションの name2 引数で指定された既存のクラス マップまたは他の match 文の前に、現在の match 文を配置します。ACE がコンフィギュレーションの一部としてシーケンスの順序変更を保存することはありません。


) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。

レイヤ 7 クラス マップの match ステートメント

レイヤ 7 ポリシー マップのインライン match ステートメント

サーバ ファームのレイヤ 7 ハッシュ プレディクタ

スティッキ グループ内のレイヤ 7 スティッキ表現

レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現


 

レイヤ 7 SLB ポリシー マップで設定できるインライン match 文の詳細については、「汎用 TCP および UDP データ解析用のレイヤ 7 クラス マップの設定」および「SLB に対応するレイヤ 7 クラス マップの設定」を参照してください。


) 上記参照先で説明している line_number 引数を使用するのは、クラス マップの match 文の場合だけです。それ以外、レイヤ 7 クラス マップの match 文とレイヤ 7 ポリシー マップのインライン match 文の説明は同じです。


レイヤ 7 クラス マップをレイヤ 7 ポリシー マップに関連付ける方法

class コマンドを使用すると、既存のレイヤ 7 クラス マップをレイヤ 7 ポリシー マップに関連付けることができます。このコマンドの構文は次のとおりです。

class { name1 [ insert-before name2 ] | class-default }

キーワード、引数、およびオプションは、次のとおりです。

name1 - トラフィック ポリシーにトラフィックを関連付ける、class-map コマンドで設定した定義済みのトラフィック クラス名。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

insert-before name2 - (任意)ポリシー マップ コンフィギュレーションの name2 引数で指定された既存のクラス マップまたは match 文の前に、現在のクラス マップを配置します。ACE がコンフィギュレーションの一部としてシーケンスの順序変更を保存することはありません。

class-default - ACEが作成した予約済みの Well-known クラス マップを指定します。このクラスは削除も変更もできません。指定されたクラス マップで他の一致基準を満たせなかったすべてのトラフィックは、デフォルト トラフィック クラスに割り当てられます。指定された分類がどれもトラフィックと一致しなかった場合、ACE は class class-default コマンドで指定されたアクションを実行します。 class-default クラス マップには、暗黙の match any 文があり、あらゆるトラフィックとの一致が可能です。

たとえば、 insert-before オプションを使用して、ポリシー マップにおけるクラス マップの位置を定義するには、次のように入力します。

host1/Admin(config-pmap-lb)# class L7SLBCLASS insert-before http_class
host1/Admin(config-pmap-lb-c)#
 

レイヤ 7 ポリシー マップからクラス マップを削除するには、次のように入力します。

host1/Admin(config-pmap-lb)# no class L7SLBCLASS
 

class class-default コマンドの使用例を示します。

host1/Admin(config-pmap-lb)# class L7SLBCLASS insert-before http_class
host1/Admin(config-pmap-lb-c)# exit
host1/Admin(config-pmap-lb)# class class-default
host1/Admin(config-pmap-lb-c)#

レイヤ 7 SLB ポリシー アクションの指定

レイヤ 7 SLB クラス マップをレイヤ 7 SLB ポリシー マップに関連付けたあとで、またはインライン match コマンドを指定したあとで、ネットワーク トラフィックがクラス マップまたはインライン match コマンドと一致した場合に、ACE に実行させるアクションを指定する必要があります。レイヤ 7 SLB ポリシー アクションを指定するには、次のトピックで説明するコマンドを使用します。

アクション リストとレイヤ 7 ポリシー マップの関連付け

要求の廃棄

ロード バランシングを行わずに要求を転送する場合

HTTP ヘッダー挿入の設定

サーバ ファームへのロード バランシングのイネーブル化

スティッキ サーバ ファームの設定

パケットの IP DSCP の指定

SSL プロキシ サービスの指定

アクション リストとレイヤ 7 ポリシー マップの関連付け

アクション リストを使用して、複数の ACE のアクション(たとえば、HTTP ヘッダーの挿入、書き換え、または削除)をレイヤ 7 ポリシー マップの下の名前付きリストにまとめてグループ化します。アクション リストの設定の詳細については、「HTTP ヘッダーの挿入、削除、および書き換えの設定」 を参照してください。

アクション リストとレイヤ 7 ポリシー マップを関連付けるには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで action コマンドを使用します。このコマンドの構文は次のとおりです。

action name

name 引数は、既存アクション リストの 識別子 です。最大 64 文字の英数字を、引用符で囲まずに入力します。

たとえば、SSL URL 書き換えのアクション リストとポリシー マップを関連付けるには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4POLICY
host1/Admin(config-pmap)# class L4VIPCLASS
host1/Admin(config-pmap-c)# action SSL_ACTLIST
 

アクションとポリシー マップの関連付けを解除するには、次のように入力します。

host1/Admin(config-pmap-c)# no action SSL_ACTLIST
 

たとえば、HTTP ヘッダー書き換えのアクション リストを関連付けるには、次のように入力します。

host1/Admin(config-pmap-lb-c)# action HTTP_MODIFY_ACTLIST
 

アクションとポリシー マップの関連付けを解除するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no action HTTP_MODIFY_ACTLIST

要求の廃棄

特定のポリシー マップと一致するパケットの廃棄を ACE に指示するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで drop コマンドを使用します。このコマンドの構文は次のとおりです。

drop

たとえば、次のように入力します。

host1/Admin(config-pmap-lb-c)# drop
 

ポリシー マップと一致するパケットを受け入れるというデフォルトに ACE の動作をリセットするには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no drop

ロード バランシングを行わずに要求を転送する場合

特定のポリシー マップと一致する要求をロード バランシングを実行しないで転送するように、ACE に指示するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで forward コマンドを使用します。このコマンドの構文は次のとおりです。

forward

たとえば、次のように入力します。

host1/Admin(config-pmap-lb-c)# forward
 

ポリシー マップと一致するパケットのロード バランシングを実行するというデフォルトに ACE をリセットするには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no forward

HTTP ヘッダー挿入の設定

ACE で NAT を使用してクライアントの送信元 IP アドレスを VIP に変換する場合、TCP および IP リターン トラフィックに対応するクライアントを特定する方法がサーバに必要です。NAT を使用して送信元 IP アドレスが変換されているクライアントを特定する目的で、ユーザによって選択された総称ヘッダーとストリング値をクライアント HTTP 要求に挿入することを ACE に指示できます。NAT の詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。


) TCP サーバ再利用または持続性再バランスのどちらかがイネーブルの場合、ACE はあらゆるクライアント要求にヘッダーを挿入します。TCP サーバ再利用については、「TCP サーバ再利用の設定」を参照してください。持続性再バランスについては、「HTTP 持続性再バランスのイネーブル化」を参照してください。


HTTP 要求に総称ヘッダーおよび値を挿入するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで insert-http コマンドを使用します。クラスごとに複数の insert-http コマンドを入力できます。このコマンドの構文は次のとおりです。

insert-http name header-value expression

キーワードおよび引数は、次のとおりです。

name - クライアント HTTP 要求に挿入する HTTP ヘッダーの名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。最大文字長を超えないかぎり、任意のカスタム ヘッダー名を指定できます。ヘッダー名がクライアント要求ヘッダーにすでに存在しているかどうかに関係なく、 表 3-4 に記載されている定義済みのヘッダー名も入力できます。ACE は、クライアント要求にすでにあるヘッダー情報を上書きしません。

header-value expression - HTTP ヘッダーに挿入する、ヘッダーと値の式のストリングを指定します。最大 512 文字の英数字を入力します。512 バイトを超えるデータを HTTP ヘッダーに挿入するよう設定しても、ACE はヘッダーにデータを挿入しません。

次の動的置換文字列を使用することによって、特殊な header-value 式を指定することもできます。

%is - HTTP ヘッダーに送信元 IP アドレスを挿入

%id - HTTP ヘッダーに宛先 IP アドレスを挿入

%ps - HTTP ヘッダーに送信元ポートを挿入

%pd - HTTP ヘッダーに宛先ポートを挿入


) Microsoft Outlook Web Access(OWA)の場合は、ON の値を使用し、フィールド名を HTTP_FRONT_END_HTTPS として指定します。



) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。

レイヤ 7 クラス マップの match ステートメント

レイヤ 7 ポリシー マップのインライン match ステートメント

サーバ ファームのレイヤ 7 ハッシュ プレディクタ

スティッキ グループ内のレイヤ 7 スティッキ表現

レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現


 

たとえば、SSL コンフィギュレーションでは、ClientCert という総称フィールドを挿入し、ヘッダー値をクライアント認証またはその一部分にすることができます。

たとえば、ヘッダー値を www.cisco.com として、ヘッダー名 Host を HTTP クライアント要求ヘッダーに挿入する場合は、次のように入力します。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# insert-http Host header-value www.cisco.com
 

HTTP ヘッダーでは、ヘッダー名と値が次のように表示されます。

Host: www.cisco.com
 

ポリシー マップから HTTP ヘッダー名と値を削除する場合は、次のように入力します。

host1/Admin(config-pmap-lb-c)# no insert-http Host header-value www.cisco.com

サーバ ファームへのロード バランシングのイネーブル化

サーバ ファームへのクライアントのコンテンツ要求をロード バランシングするには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで serverfarm コマンドを使用します。サーバ ファームは、同じコンテンツを持ち、通常は同じ物理位置に置かれていて、なおかつネットワークで結ばれた実サーバからなるグループです。このコマンドの構文は次のとおりです。

serverfarm name1 [ backup name2 [ aggregate-state ] ]

キーワード、引数、およびオプションは、次のとおりです。

name1 - サーバ ファームの UID。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

backup name2 - (任意)プライマリ サーバ ファームのすべての実サーバが使用不能になった場合に備えて、バックアップ サーバ ファームとして既存のホスト(有効なコンテンツのある)またはリダイレクト(ソーリー)サーバ ファームを指定します。既存のプライマリ サーバ ファームごとに 1 つのバックアップ サーバ ファームを設定できます。プライマリ サーバ ファームで少なくとも 1 つのサーバが再び使用可能になると、ACE はすべての新しい接続をプライマリ サーバ ファームに送ります。ACE は、バックアップ サーバ ファームへの既存の接続を終了できます。部分的なサーバ ファーム フェールオーバーを設定することにより、プライマリ サーバ ファームがフェールオーバーして再び使用可能になる条件を微調整できます。部分的なサーバ ファーム フェールオーバーの詳細については、 「実サーバおよびサーバ ファームの設定」 「部分サーバ ファーム フェールオーバーの設定」を参照してください。バックアップ サーバ ファームとして指定する既存サーバ ファームの名前を入力します。最大 64 文字の英数字を使用し、引用符で囲まれていない、スペースを含まないテキスト ストリングを入力します。


) サーバ ファームのすべてのサーバに障害が発生し、バックアップ サーバ ファームを設定していなかった場合、ACE は接続要求に対する応答でクライアントにリセット(RST)を送信します。


aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。

レイヤ 7 ロード バランシング ポリシー マップのアクションとして、 serverfarm コマンドを指定する例を示します。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# serverfarm SFARM1 backup SFARM2
 

レイヤ 7 ロード バランシング ポリシー マップからサーバ ファーム アクションを削除するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no serverfarm FARM2

ソーリー サーバ ファームの設定

プライマリ サーバ ファームが使用不能な場合に、クライアント要求をソーリー サーバ ファームに送信することを ACE に指示できます。ソーリー サーバは、バックアップ サーバ ファーム内のリダイレクト サーバで、クライアントが要求した Web ページ、リソース、またはサービスが一時的に使用できないことを伝えるコンテンツがあります。プライマリ サーバ ファームで少なくとも 1 つのサーバが再び使用可能になると、ACE はクライアントをプライマリ サーバ ファームに戻します。部分的なサーバ ファーム フェールオーバーを設定することにより、プライマリ サーバ ファームがフェールオーバーして再び使用可能になる条件を微調整できます。部分的なサーバ ファーム フェールオーバーの詳細については、 「実サーバおよびサーバ ファームの設定」 「部分サーバ ファーム フェールオーバーの設定」を参照してください。

ソーリー サーバを設定するには、「サーバ ファームへのロード バランシングのイネーブル化」 で説明したようにポリシー マップ クラス コンフィギュレーション モードで serverfarm コマンドを使用し、既存のリダイレクト サーバ ファームをバックアップ サーバ ファームとして設定します。特に、クライアントの送信元 IP アドレスに基づいて、プライマリ サーバ ファームがダウンする前にそのファームの中でクライアントが接続していたサーバに、クライアントの接続先を戻す場合、 predictor hash address source コマンド をプライマリ サーバ ファームのロード バランシング方式として設定します。プライマリ サーバ ファームがダウンし、特定のサブネットからのすべての要求を特定のサイトにリダイレクトし、異なるサブネットからの要求を異なるサイトにリダイレクトする場合、 predictor hash address source コマンドをソーリー サーバ ファームのロード バランシング方式として使用します。いずれかのサーバ ファームのサイト上でロード バランシングを等しくするには、 roundrobin プレディクタ方式を使用します。それ以外の場合は、いずれかのサーバ ファームのアプリケーションで機能する、サポート対象のプレディクタ方式を設定できます。サーバ ファーム プレディクタの設定については、 「実サーバおよびサーバ ファームの設定」 を参照してください。

たとえば、プライマリ サーバ ファームおよびソーリー サーバ ファームを設定するには、次のコマンドを入力します。

host1/Admin(config)# rserver SERVER1
host1/Admin(config-rserver-host)# ip address 192.168.12.4
host1/Admin(config-rserver-host)# inservice
host1/Admin(config-rserver-host)# exit
host1/Admin(config)# rserver SERVER2
host1/Admin(config-rserver-host)# ip address 192.168.12.5
host1/Admin(config-rserver-host)# inservice
host1/Admin(config-rserver-host)# exit
host1/Admin(config)# rserver redirect SERVER3
host1/Admin(config-rserver-redir)# webhost-redirection www.cisco.com 301
host1/Admin(config-rserver-redir)# inservice
host1/Admin(config-rserver-redir)# exit
host1/Admin(config)# rserver redirect SERVER4
host1/Admin(config-rserver-redir)# webhost-redirection www.cisco.com 301
host1/Admin(config-rserver-redir)# inservice
host1/Admin(config-rserver-host)# exit
 
host1/Admin(config)# serverfarm SFARM1
host1/Admin(config-sfarm-host)# predictor roundrobin
host1/Admin(config-sfarm-host)# rserver SERVER1
host1/Admin(config-sfarm-host-rs)# inservice
host1/Admin(config-sfarm-host-rs)# exit
host1/Admin(config-sfarm-host)# rserver SERVER2
host1/Admin(config-sfarm-host-rs)# inservice
host1/Admin(config-sfarm-host-rs)# exit
host1/Admin(config-sfarm-host)# exit
 
host1/Admin(config)# serverfarm redirect SFARM2
host1/Admin(config-sfarm-redirect)# predictor roundrobin
host1/Admin(config-sfarm-redirect)# rserver SERVER3
host1/Admin(config-sfarm-redirect-rs)# inservice
host1/Admin(config-sfarm-redirect-rs)# exit
host1/Admin(config-sfarm-redirect)# rserver SERVER4
host1/Admin(config-sfarm-redirect-rs)# inservice
host1/Admin(config-sfarm-redirect-rs)# exit
host1/Admin(config-sfarm-redirect)# exit
 
host1/Admin(config)# class-map type http loadbalance match-any L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 100 match http header Host header-value .*cisco.com
host1/Admin(config-cmap-http-lb)# exit
 
host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# serverfarm SFARM1 backup SFARM2
 

スティッキ サーバ ファームの設定

レイヤ 7 ポリシー マップと一致する要求をスティッキ サーバ ファームにロード バランシングすることを指定するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで sticky-serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。

sticky-serverfarm name

name 引数は、既存スティッキ グループの識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。スティッキ グループについては、 「スティッキ機能の設定」 を参照してください。

たとえば、次のように入力します。

host1/Admin(config-pmap-lb-c)# sticky-serverfarm STICKY_GROUP1
 

ポリシー マップからスティッキ サーバ ファームを削除するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no sticky-serverfarm STICKY_GROUP1

パケットの IP DSCP の指定

ポリシー マップでパケットの IP DSCP を指定するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで set ip tos コマンドを使用します。このコマンドは、Type of Service(ToS; タイプ オブ サービス)バイトに IP DSCP ビットを設定することによって、パケットをマーキングします。IP DSCP ビットが設定されると、そのビット設定値で QoS(Quality of Service)サービスが動作可能です。

このコマンドの構文は次のとおりです。

set ip tos value

value 引数は IP DSCP 値です。0 ~ 255 の整数を入力します。ToS フィールドを変更しない指定がデフォルトです。

レイヤ 7 ロード バランシング ポリシー マップの QoS アクションとして、 set ip tos コマンドを指定する例を示します。L7SLBCLASS の一致基準を満たすすべてのパケットは、IP DSCP 値 8 でマーキングされます。IP DSCP 値 8 が設定されたパケットの扱いは、ネットワーク構成によって決まります。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# set ip tos 8

 

ToS バイトを変更しないというデフォルトに ACE をリセットするには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no set ip tos 8

SSL プロキシ サービスの指定

ACE はレイヤ 7 ポリシー マップの SSL プロキシ サービスを使用して、SSL サーバに対するアウトバウンド SSL 開始要求のロード バランシングを行います。ACE は、SSL サーバに暗号化された要求を送信する SSL クライアントとして動作します。SSL 開始の詳細については、『 Cisco Application Control Engine Module SSL Configuration Guide 』を参照してください。

ポリシー マップに SSL プロキシ サービスを指定するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで ssl-proxy コマンドを使用します。このコマンドの構文は次のとおりです。

ssl-proxy client name

name 引数は、既存 SSL プロキシ サービスの識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

たとえば、次のように入力します。

host1/Admin(config-pmap-lb-c)# ssl-proxy client PROXY_SERVICE1
 

ポリシー マップから SSL プロキシ サービスを削除するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no ssl-proxy client PROXY_SERVICE1

レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

レイヤ 7 SLB ポリシーをレイヤ 3 およびレイヤ 4 SLB ポリシーに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで service-policy type loadbalance コマンドを使用します。詳細については、「レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける方法」を参照してください。

汎用プロトコル パラメータ マップの設定

パラメータ マップを使用して、汎用プロトコル解析の関連するアクションを結合できます。ポリシー マップでこのパラメータ マップを参照するには、 appl-parameter generic advanced-options コマンドを使用します。「汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法」を参照してください。

SLB 接続に対応する汎用プロトコル アクションを設定するには、コンフィギュレーション モードで parameter-map type generic コマンドを使用します。このコマンドの構文は次のとおりです。

parameter-map type generic name

name 引数は、パラメータ マップに割り当てる識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

たとえば、次のように入力します。

host1/Admin(config)# parameter-map type generic GEN_PARAMETER_MAP

コンフィギュレーションから汎用パラメータ マップを削除するには、次のように入力します。

host1/Admin(config)# no parameter-map type generic GEN_PARAMETER_MAP
 

次に、コマンドを使用して汎用プロトコル パラメータ マップを定義する方法について説明します。

汎用プロトコルの大文字と小文字を区別する照合のディセーブル化

汎用プロトコルに関して解析する最大バイト数の設定

汎用プロトコルの大文字と小文字を区別する照合のディセーブル化

デフォルトでは、ACE CLI は大文字と小文字を区別します。汎用プロトコルに限定して、大文字と小文字を区別する照合をディセーブルにするには、汎用パラメータ マップ コンフィギュレーション モードで case-insensitive コマンドを使用します。case-insensitive の照合をイネーブルにした場合、大文字と小文字は同じと見なされます。

このコマンドの構文は次のとおりです。

case-insensitive

大文字と小文字の区別をディセーブルにする場合の入力例を示します。

host1/Admin(config-parammap-generi)# case-insensitive
 

ディセーブルになっていた、大文字と小文字を区別する照合を再びイネーブルにするには、次のように入力します。

host1/Admin(config-parammap-generi)# no case-insensitive

汎用プロトコルに関して解析する最大バイト数の設定

汎用プロトコルに関して解析する最大バイト数を設定するには、汎用パラメータ マップ コンフィギュレーション モードで set max-parse-length コマンドを使用します。このコマンドの構文は次のとおりです。

set max-parse-length bytes

bytes 引数は、解析する最大バイト数です。1 ~ 65535 の整数を入力します。デフォルトは 2048 バイトです。

たとえば、最大解析長を 8192 に設定するには、次のように入力します。

host1/Admin(config-parammap-generi)# set max-parse-length 8192
 

最大解析長をデフォルトの 2048 バイトにリセットするには、次のように入力します。

host1/Admin(config-parammap-generi)# no set max-parse-length

HTTP パラメータ マップの設定

パラメータ マップを使用すると、レイヤ 3 およびレイヤ 4 ポリシー マップの関連する HTTP アクションを結合できます。ポリシー マップでこのパラメータ マップを参照するには、 appl-parameter http advanced-options コマンドを使用します。「汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法」を参照してください。

SLB 接続に対応する拡張 HTTP 動作を設定するには、コンフィギュレーション モードで parameter-map type http コマンドを使用します。このコマンドの構文は次のとおりです。

parameter-map type http name

name 引数は、パラメータ マップに割り当てる識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

たとえば、次のように入力します。

host1/Admin(config)# parameter-map type http HTTP_PARAMETER_MAP
 

コンフィギュレーションから HTTP パラメータ マップを削除するには、次のように入力します。

host1/Admin(config)# no parameter-map type http HTTP_PARAMETER_MAP
 

次に、コマンドを使用して拡張 HTTP パラメータ マップを定義する方法について説明します。

HTTP の大文字と小文字を区別する照合のディセーブル化

すべての HTTP 要求および HTTP 応答でヘッダーを変更するための ACE の設定

URL デリミタの定義

コンテンツに関して解析する最大バイト数の設定

cookie、HTTP ヘッダー、および URL に関して解析する最大バイト数の設定

URL または cookie が最大解析長を超えている場合の ACE 動作の設定

HTTP 持続性再バランスのイネーブル化

TCP サーバ再利用の設定

HTTP の大文字と小文字を区別する照合のディセーブル化

デフォルトでは、ACE CLI は大文字と小文字を区別します。HTTP に限定して、大文字と小文字を区別する照合をディセーブルにするには、HTTP パラメータ マップ コンフィギュレーション モードで case-insensitive コマンドを使用します。case-insensitive の照合をイネーブルにした場合、大文字と小文字は同じと見なされます。大文字と小文字の区別をディセーブルにした場合、適用されるものは次のとおりです。

HTTP ヘッダー名および値

HTTP cookie 名および値

URL ストリング

HTTP ディープ インスペクション(詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください)

このコマンドの構文は次のとおりです。

case-insensitive

大文字と小文字の区別をディセーブルにする場合の入力例を示します。

host1/Admin(config-parammap-http)# case-insensitive
 

ディセーブルになっていた、大文字と小文字を区別する照合を再びイネーブルにするには、次のように入力します。

host1/Admin(config-parammap-http)# no case-insensitive

すべての HTTP 要求および HTTP 応答でヘッダーを変更するための ACE の設定

デフォルトでは、 persistence-rebalance コマンドがディセーブルの場合、HTTP ヘッダーを変更(挿入、削除、または書き換え)するように ACE を設定すると、ACE によってヘッダーが変更されるのは最初の HTTP 要求または HTTP 応答だけです。 persistence-rebalance コマンドを使用すると、要求や応答が発生するたびに ACE によってヘッダーが変更されるようになりますが、同時に、新しい実サーバとなる可能性のあるサーバへの新しい要求があるたびに、それをロード バランシングするよう ACE に指定することにもなります。 persistence-rebalance コマンドの詳細については、「HTTP 持続性再バランスのイネーブル化」を参照してください。ヘッダーの挿入、削除、および書き換えの詳細については、「HTTP ヘッダーの挿入、削除、および書き換えの設定」を参照してください。

HTTP 要求または HTTP 応答があるたびにそのヘッダーを変更(挿入、削除、または書き換え)するように ACE を設定する一方で、新しい HTTP 要求が発生するたびに persistence-rebalance コマンドによって実行されるロード バランシングの影響を受けないようにするには、HTTP パラメータ マップ コンフィギュレーション モードで header modify per-request コマンドを使用します。このコマンドは、 persistence-rebalance がディセーブルの場合にだけ機能します。このコマンドの構文は、次のとおりです。

header modify per-request

ssl url rewrite location コマンドがイネーブルの場合は、 header modify per-request コマンドを使用すると、ACE により、すべての HTTP 応答で URL ロケーション ヘッダーも書き換えられるようになります。SSL URL の書き換えの詳細については、『 Cisco Application Control Engine Module SSL Configuration Guide 』を参照してください。

たとえば、HTTP 要求または HTTP 応答があるたびにそのヘッダーを変更するように ACE を設定するには、次のコマンドを入力します。

host1/Admin(config-parammap-http)# header modify per-request

最初の HTTP 要求または HTTP 応答だけでヘッダーを変更するデフォルトの動作に ACE を戻すには、次のコマンドを入力します。

host1/Admin(config-parammap-http)# no header modify per-request

URL デリミタの定義

URL ストリング内の cookie を区切るために使用できる、ASCII 文字デリミタのリストを定義するには、HTTP パラメータ マップ コンフィギュレーション モードで set secondary-cookie-delimiters コマンドを使用します。このコマンドの構文は次のとおりです。

set secondary-cookie-delimiters text

text 引数で、デリミタのリストを特定します。最大 4 文字を引用符で囲まず、スペースを使用しないで入力します。リストにデリミタを指定する順序は重要ではありません。デフォルトのデリミタ リストは /&#+ です。

cookie および cookie のデリミタは、GET 要求ラインに表示されます。次の GET 要求ラインの例では、名前と値のペアの間にあるアンパサンド(&)が 2 番めの cookie デリミタです。疑問符(?)は URL クエリーの開始であり、設定できません。

GET /default.cgi?user=me&hello=world&id=2 HTTP/1.1
 

2 番めの cookie デリミタとして !@#$ を指定する場合は、次のように入力します。

host1/Admin(config-parammap-http)# set secondary-cookie-delimiters !@#$
 

デリミタ リストをデフォルトの /&#+ にリセットする場合は、次のように入力します。

host1/Admin(config-parammap-http)# no set secondary-cookie-delimiters !@#$

コンテンツに関して解析する最大バイト数の設定

デフォルトでは、コンテンツをチェックするために ACE で解析する最大バイト数は 4096 です。コンテンツ ストリングの長さがこのデフォルト値を超えていると、ACE はそのパケットを廃棄し、クライアントのブラウザに RST(reset)を送信します。ACE で解析できるバイト数を増やすには、HTTP パラメータ マップ コンフィギュレーション モードで set content-maxparse-length コマンドを使用します。このコマンドの構文は次のとおりです。

set content-maxparse-length bytes

bytes 引数は、解析するコンテンツ ストリングの合計長の最大バイト数です。1 ~ 65535 の整数を入力します。デフォルトは 4096 バイトです。

たとえば、コンテンツの最大解析長を 8192 バイトに設定する場合は、次のように入力します。

host1/Admin(config-parammap-http)# set content-maxparse-length 8192
 

HTTP コンテンツの最大解析長をデフォルトの 4096 バイトにリセットする場合は、次のように入力します。

host1/Admin(config-parammap-http)# no set content-maxparse-length

cookie、HTTP ヘッダー、および URL に関して解析する最大バイト数の設定

デフォルトでは、cookie、HTTP ヘッダーまたは URL のチェックのために ACE が解析するバイト数は最大 4096 です。cookie、HTTP ヘッダーまたは URL がこのデフォルト値を超えると、ACE はそのパケットを廃棄し、クライアントのブラウザに RST(reset)を送信します。ACE に解析させるバイト数を増やすには、HTTP パラメータ マップ コンフィギュレーション モードで set header-maxparse-length コマンドを使用します。このコマンドの構文は次のとおりです。

set header-maxparse-length bytes

bytes 引数は、解析するすべての cookie、HTTP ヘッダー、および URL の合計長の最大バイト数です。1 ~ 65535 の整数を入力します。デフォルトは 4096 バイトです。

HTTP ヘッダーの最大解析長を 8192 に設定する場合は、次のように入力します。

host1/Admin(config-parammap-http)# set header-maxparse-length 8192
 

HTTP ヘッダーの最大解析長をデフォルトの 4096 バイトにリセットする場合は、次のように入力します。

host1/Admin(config-parammap-http)# no set header-maxparse-length

URL または cookie が最大解析長を超えている場合の ACE 動作の設定

最大解析長を超えている cookie、HTTP ヘッダー、および URL を ACE が処理する方法を設定するには、HTTP パラメータ マップ コンフィギュレーション モードで length-exceed コマンドを使用します。このコマンドの構文は次のとおりです。

length-exceed { continue | drop }

キーワードは次のとおりです。

continue - ロード バランシングの継続方法を指定します。このキーワードを指定すると、すべての cookie、HTTP ヘッダー、および URL の合計長が最大解析長の値を超えている場合に、 persistence-rebalance コマンドがディセーブルになります。最大解析長を設定する詳細については、「cookie、HTTP ヘッダー、および URL に関して解析する最大バイト数の設定」を参照してください。

drop - (デフォルト)ロード バランシングを中止し、パケットを廃棄する方法を指定します。

たとえば、次のように入力します。

host1/Admin(config-parammap-http)# length-exceed continue
 

URL または cookie が最大解析長を超えていた場合に、ロード バランシングを中止してパケットを廃棄するというデフォルトに ACE をリセットするには、次のように入力します。

host1/Admin(config-parammap-http)# no length-exceed continue

HTTP 持続性再バランスのイネーブル化

持続性は接続のキープアライブと呼ばれることもあります。持続性再バランスをイネーブルにしておくと、連続する GET 要求がロード バランシング ポリシーの同じレイヤ 7 クラスを選択するロード バランシングをもたらす場合に、ACE は最後の GET 要求に使用される実サーバに要求を送信します。この動作によって、ACE は要求ごとにロード バランスを実行し、GET 要求ごとにサーバ側接続を作成し直すことがなくなるので、オーバーヘッドが軽減され、パフォーマンスが向上します。

持続性再バランスのもう 1 つの効果は、ヘッダー挿入および cookie 挿入がイネーブルの場合に、それらの挿入が最初の要求だけではなく、あらゆる要求に対して行われることです。ヘッダー挿入については、この章の「HTTP ヘッダー挿入の設定」を参照してください。cookie 挿入については、 「スティッキ機能の設定」 「cookie 挿入のイネーブル化」を参照してください。

デフォルトでは持続性再バランスがディセーブルになっています。持続性再バランスがイネーブルで、接続が確立したあと、ACE は以降のすべての要求を同じ宛先に送信します。ロード バランシングを最初に決定したあとは、ロード バランシングが関与する場面はありません。持続性再バランス機能をイネーブルにするには、HTTP パラメータ マップ コンフィギュレーション モードで persistence-rebalance コマンドを使用します。

このコマンドの構文は次のとおりです。

persistence-rebalance


) NTLM Microsoft 認証プロトコルを指定して実サーバをイネーブルにする場合は、持続性再バランスをディセーブルのままにしておくことを推奨します。NTLM は、Microsoft のリモート アクセス プロトコルを使用して認証を実行する場合に使用されるセキュリティ手段です。NTLM を指定して実サーバをイネーブルにすると、実サーバへのあらゆる接続で認証が必要になります。通常、各クライアント ユーザに、ユーザ名とパスワードの入力を求めるポップアップ ウィンドウが表示されます。接続が認証されると、それ以後、同じ接続上の要求はすべてチャレンジを受けません。ただし、サーバ ロード バランシング機能がイネーブルであり、持続性再バランスが設定されている場合、以後の要求が別の実サーバに送られ、新たな認証ハンドシェークが発生することがあります。


parameter-map type http コマンドを指定して URL cookie デリミタ ストリングを設定し、URL および cookie に関して解析する最大バイト数を設定し、さらに HTTP 持続性機能をイネーブルにする例を示します。

host1/Admin(config)# parameter-map type http http_parameter_map
host1/Admin(config-parammap-http)# secondary-cookie-delimiters !@#$
host1/Admin(config-parammap-http)# header-maxparse-length 8192 length-exceed continue
host1/Admin(config-parammap-http)# persistence-rebalance
 

持続性をデフォルトの設定であるディセーブルにリセットする場合は、次のように入力します。

host1/Admin(config-parammap-http)# no persistence-rebalance

TCP サーバ再利用の設定

TCP サーバ再利用を使用すると、接続を持続させ、複数のクライアント接続に再利用させることによって、ACE はオープン接続の数を減らすことができます。ACE は、TCP オプションに基づいて TCP 接続のプールを維持します。新しいクライアント接続と以前のサーバ接続が同じ TCP オプションを共有している場合、新しいクライアント接続はプール内の接続を再利用できます。ACE による TCP オプションの扱い方を設定する方法については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。

この機能を正しく動作させるために、TCP サーバ再利用に関する次の推奨事項および制約事項に従ってください。

ACE の Maximum Segment Size(MSS; 最大セグメント サイズ)をサーバ MSS と同じにする必要があります。

実サーバに接続するインターフェイス上で Port Address Translation(PAT; ポート アドレス変換)を設定します。PAT によって、クライアントがサーバ接続の使用を中止し、その後、別のクライアントがその接続を再利用する場合のコリジョンが防止されます。PAT を使用しなかった場合、最初のクライアントが最初のサーバ接続を再利用しようとしても、利用できません。PAT 設定の詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。

TCP サーバ上で設定されているのと同じ TCP オプションを ACE 上で設定します。

各サーバ ファームが同質(サーバ ファーム内のすべての実サーバでコンフィギュレーションが同じ)であることを確認します。


) TCP を再利用する場合は必ず、PAT を設定します。TCP の再利用と NAT だけを設定すると、予期せぬ結果する場合があります。


TCP サーバ再利用のもう 1 つの効果は、ヘッダー挿入および cookie 挿入がイネーブルの場合に、それらの挿入が最初の要求だけではなく、あらゆる要求に対して行われることです。ヘッダー挿入については、この章の「HTTP ヘッダー挿入の設定」を参照してください。cookie 挿入については、 「スティッキ機能の設定」 「cookie 挿入のイネーブル化」を参照してください。

TCP サーバ再利用を設定するには、HTTP パラメータ マップ コンフィギュレーション モードで server-conn reuse コマンドを使用します。このコマンドの構文は次のとおりです。

server-conn reuse

TCP サーバ再利用をイネーブルにするには、次のように入力します。

host1/Admin(config-parammap-http)# server-conn reuse
 

TCP サーバ再利用をディセーブルにするには、次のように入力します。

host1/Admin(config-parammap-http)# no server-conn reuse
 

RTSP パラメータ マップの設定

パラメータ マップを使用すると、レイヤ 3 およびレイヤ 4 ポリシー マップの関連する RTSP アクションを結合できます。ポリシー マップでこのパラメータ マップを参照するには、 appl-parameter rtsp advanced-options コマンドを使用します。「汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法」を参照してください。

SLB 接続に対応する拡張 RTSP 動作を設定するには、コンフィギュレーション モードで parameter-map type rtsp コマンドを使用します。このコマンドの構文は次のとおりです。

parameter-map type rtsp name

name 引数は、パラメータ マップに割り当てる識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

たとえば、次のように入力します。

host1/Admin(config)# parameter-map type rtsp RTSP_PARAMETER_MAP
 

コンフィギュレーションから RTSP パラメータ マップを削除するには、次のように入力します。

host1/Admin(config)# no parameter-map type rtsp RTSP_PARAMETER_MAP
 

次に、コマンドを使用して拡張 RTSP パラメータ マップを定義する方法について説明します。

RTSP の大文字と小文字を区別する照合のディセーブル化

RTSP ヘッダーに関して解析する最大バイト数の設定

RTSP の大文字と小文字を区別する照合のディセーブル化

デフォルトでは、ACE CLI は大文字と小文字を区別します。RTSP で大文字と小文字を区別する照合をディセーブルにするには、RTSP パラメータ マップ コンフィギュレーション モードで case-insensitive コマンドを使用します。case-insensitive の照合をイネーブルにした場合、大文字と小文字は同じと見なされます。大文字と小文字の区別をディセーブルにした場合、適用されるものは次のとおりです。

RTSP ヘッダー名および値

RTSP URL ストリング

RTSP インスペクション(詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください)

構文は次のとおりです。

case-insensitive

大文字と小文字の区別をディセーブルにする場合の入力例を示します。

host1/Admin(config-parammap-rtsp)# case-insensitive
 

ディセーブルになっていた、大文字と小文字を区別する照合を再びイネーブルにするには、次のように入力します。

host1/Admin(config-parammap-rtsp)# no case-insensitive
 

RTSP ヘッダーに関して解析する最大バイト数の設定

RTSP ヘッダーに関して解析する最大バイト数を設定するには、RTSP パラメータ マップ コンフィギュレーション モードで set header-maxparse-length コマンドを使用します。このコマンドの構文は次のとおりです。

set header-maxparse-length bytes

bytes 引数は、解析するすべての RTSP ヘッダーの合計長の最大バイト数です。1 ~ 65535 の整数を入力します。デフォルトは 2048 バイトです。

たとえば、RTSP ヘッダーの最大解析長を 16384 に設定するには、次のように入力します。

host1/Admin(config-parammap-rtsp)# set header-maxparse-length 16384
 

RTSP ヘッダーの最大解析長をデフォルトの 2048 バイトにリセットするには、次のように入力します。

host1/Admin(config-parammap-rtsp)# no set header-maxparse-length

SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定

レイヤ 3 およびレイヤ 4 クラス マップには、ACE を通過できるネットワーク トラフィックを分類するための一致基準を指定します。ACE はこれらのレイヤ 3 およびレイヤ 4 トラフィック クラスを使用して、SLB を実行します。レイヤ 3 およびレイヤ 4 トラフィック分類のために、クラス マップの一致基準には ACE の VIP アドレス、プロトコル、およびポートを指定します。1 つのクラス マップで複数のコマンドを設定すると、一致基準をグループとして指定して、トラフィック ポリシーに関連付けることができます。

ACE を通過するネットワーク トラフィックを分類するためのレイヤ 3 およびレイヤ 4 クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始するには、コンフィギュレーション モードで class-map コマンド を使用します。このコマンドの構文は次のとおりです。

class-map [ match-all | match-any ] map_name

引数およびオプションは次のとおりです。

match-all | match-any - (任意)クラス マップに複数の一致基準が存在する場合に、ACE にレイヤ 3 およびレイヤ 4 ネットワーク トラフィックをどのように評価させるかを決定します。クラス マップは、 match コマンドが次の条件の 1 つと一致した場合に、一致と見なされます。

match-all - (デフォルト)ネットワーク トラフィックは、すべての一致基準を満たす必要があります(暗黙の論理積)。

match-any - ネットワーク トラフィックは、一致基準の 1 つを満たすだけで、ロード バランシング クラス マップと一致します(暗黙の論理和)。

map_name - クラス マップに割り当てる名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。クラス名は、クラス マップに使用するだけではなく、ポリシー マップでクラス用のポリシーを設定するためにも使用します。

たとえば、L4VIPCLASS という名前で、ネットワーク トラフィックがすべての一致基準を満たさなければならない( match-all はデフォルト)ことを指定したクラス マップを作成する場合は、次のように入力します。

host1/Admin(config)# class-map L4VIPCLASS
 

コンフィギュレーションから クラス マップを削除するには、次のように入力します。

host1/Admin(config)# no class-map L4VIPCLASS
 

SLB 用のレイヤ 3 およびレイヤ 4 クラス マップを作成したあとで、次に説明するコマンドを使用して、クラス マップの説明と VIP の一致基準を設定します。

クラス マップの説明の定義

VIP アドレス一致基準の定義

クラス マップの説明の定義

レイヤ 3 およびレイヤ 4 クラス マップに関する簡単な説明を指定するには、クラス マップ コンフィギュレーション モードで description コマンドを使用します。このコマンドの構文は次のとおりです。

description text

text 引数には、最大 240 文字の英数字からなるテキスト ストリングを引用符で囲まず、スペースを使用しないで入力します。

たとえば、サーバへのネットワーク トラフィックをフィルタリングするクラス マップであるという説明を指定するには、次のように入力します。

host1/Admin(config)# class-map match-any L4VIPCLASS
host1/Admin(config-cmap)# description filter server traffic
 

クラス マップから説明を削除するには、次のように入力します。

host1/Admin(config-cmap)# no description

VIP アドレス一致基準の定義

SLB の一致基準として VIP アドレス、プロトコル、およびポートからなる 3 タプル フローを定義するには、クラス マップ コンフィギュレーション モードで match virtual-address コマンドを使用します。複数の一致基準文を設定して、SLB 用の VIP を定義できます。このコマンドの構文は次のとおりです。

[ line_number ] match virtual-address vip_address {[ mask ] | any | { tcp | udp { any | eq port_number | range port1 port2 }} | protocol_number }

キーワード、引数、およびオプションは、次のとおりです。

line_number - (任意)個々の match コマンドを編集または削除するために使用するライン番号。たとえば、 no line_number を入力すると、ライン全体を入力しなくても、長い match コマンドを削除できます。2 ~ 255 の整数を入力します。

vip_address - ACE の仮想サーバの VIP。ドット付き 10 進表記で指定します(192.168.1.2)。VIP はカスタマーが所有するパブリック アドレスです。

mask - (任意)ネットワーク全体に接続できるようにするための、ACE の VIP アドレスのマスク。ドット付き 10 進表記で指定します(255.255.255.0)。

any - IP プロトコル値を表すワイルドカード値を指定します。

tcp | udp - プロトコル、TCP、または UDP を指定します。

any - TCP または UDP ポート番号を表すワイルドカード値を指定します。 eq 値または range 値のどちらかの位置に any を使用すると、あらゆる着信ポートからのパケットが一致します。

eq port_number - TCP または UDP ポート番号が指定された値と一致しなければならないことを指定します。0 ~ 65535 の整数を入力します。0 を指定すると、ACE ではすべてのポートが対象となります。 表 3-6 の Well-known TCP ポートのキーワード名、または 表 3-7 の Well-known UDP ポートのキーワード名を入力することもできます。

 

表 3-6 Well-known TCP ポートの番号およびキーワード

キーワード
ポート番号
説明

domain

53

Domain Name System(DNS; ドメイン ネーム システム)

ftp

21

FTP(ファイル転送プロトコル)

ftp-data

20

FTP データ接続

http

80

HTTP

https

443

HTTPS(HTTP over TLS または SSL)

irc

194

Internet Relay Chat(IRC; インターネット リレー チャット)

matip-a

350

Mapping of Airline Traffic over Internet Protocol(MATIP)Type A

nntp

119

NNTP(Network News Transport Protocol)

pop2

109

POP v2

pop3

110

POP v3

rdp

3389

RDP

rtsp

554

Real Time Streaming Protocol(RTSP)

sip

5060

Session Initiation Protocol(SIP)

skinny

2000

Skinny Client Control Protocol(SCCP)

smtp

25

Simple Mail Transfer Protocol(SMTP; シンプル メール転送プロトコル)

telnet

23

Telnet

www

80

WWW

xot

1998

X.25 over TCP


) ACE は、ポート 80 で httpwww の両方の文字キーワードをサポートするほか、ポート番号 80 そのものもサポートします。文字キーワードまたはポート 80 を設定するかどうかに関係なく、「www」の文字は実行コンフィギュレーションに表示されます。


 

表 3-7 Well-known UDP ポートの番号およびキーワード

キーワード
ポート番号
説明

domain

53

DNS

radius-acct

1813

RADIUS(アカウンティング)

radius-auth

1812

RADIUS(サーバ)

sip

5060

Session Initiation Protocol(SIP)

wsp

9200

コネクションレス型 Wireless Session Protocol(WSP)

wsp-wtls

9202

セキュア コネクションレス型 WSP

wsp-wtp

9201

接続型 WSP

wsp-wtp-wtls

9203

セキュア接続型 WSP

range port1 port2 - TCP または UDP ポートに使用するポート範囲を指定します。有効なポート番号の範囲は 0 ~ 65535 です。0 を指定すると、ACE ではすべてのポートを照合します。

protocol_number - IP プロトコル番号。IP プロトコル番号を表す 1 ~ 254 の整数を入力します。


) ACE は必ず、最初の一致に基づいて、レイヤ 4 multi-match ポリシーに設定されたクラスと着信トラフィックを照合しようとします。複数のクラス マップに同じ VIP アドレス一致基準を設定し、最初のクラス マップでプロトコルを any として設定する場合、ACE は、ポリシー マップ内の非固有クラス マップのあとの固有性の強いクラス マップ(指定されたプロトコルおよびポートを持つクラス マップ)と着信トラフィックを照合しません。たとえば、最初のクラス マップに match virtual-address 192.168.12.15 any 、2 番めのクラス マップに match virtual-address 192.168.12.15 tcp eq https を設定し、これらのクラスをポリシー マップにこの順で関連付ける場合、ACE が受信した HTTPS トラフィックは目的のクラスと一致しません。したがって、ACE は不適切なサーバへのトラフィックをロード バランシングするので、ブラウザで The Page Cannot Be Displayed エラーを受信します。必ず、固有性の強いクラスを最初に設定します。そうしないと、予期せぬ結果が発生する場合があります。個別のレイヤ 4 ポリシー マップに 2 つのクラスを設定する場合、サービス ポリシーを使用するインターフェイス上で正しい順序でポリシーを適用してください。


次の例では、クラス マップ L4VIPCLASS が VIP アドレス 192.168.1.10 および TCP ポート番号 80 を宛先とするトラフィックと一致することを指定します。:

host1/Admin(config)# class-map L4VIPCLASS
host1/Admin(config-cmap)# match virtual-address 192.168.1.10 tcp port eq 80
 

クラス マップから VIP match 文を削除するには、次のように入力します。

host1/Admin(config-cmap)# no match virtual-address 192.168.1.10 tcp port eq 80

SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定

レイヤ 3 およびレイヤ 4 SLB トラフィック分類のために、VIP 関連のアクションを指定した SLB ポリシー マップを作成します。ポリシー マップは、トラフィック クラスで定義された分類と一致するトラフィックに実行する一連のアクションに、定義済みのトラフィック クラス(クラス マップ)を関連付けます。レイヤ 3 およびレイヤ 4 ネットワーク トラフィック レベルでは、ネットワーク トラフィック機能ごとにポリシー マップが 1 つずつあります。レイヤ 3 およびレイヤ 4 ポリシー マップは、相応にタイプが決定され、 service-policy コマンドによって、単一インターフェイスに適用されるか、またはコンテキストのすべてのインターフェイスにグローバルに適用されます。

ACE が特定のポリシーに対応するアクションを適用する順序は、ポリシー内部のクラスに設定されているアクションとは無関係です。ACE は、ポリシー マップのアクションおよび機能によって規定された暗黙の機能検索順序に従います。したがって、ユーザが設定したクラス マップの順序が検索順序に作用するとは限りません。たとえば、ポリシー マップで 1 つまたは複数のセキュリティ ACL を設定した場合、特定のフローに SLB などの処理を実行しようとしても、ACL が ACE を通過するそのフローを許可しない可能性があります。ACE が使用する検索順序の詳細については、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。

SLB ポリシー マップを作成するには、コンフィギュレーション モードで policy-map コマンドを使用します。このコマンドの構文は次のとおりです。

policy-map multi-match map_name

キーワード、引数、およびオプションは、次のとおりです。

multi-match - レイヤ 3 およびレイヤ 4 ネットワーク トラフィックに関連する複数のアクションを同じポリシー マップに含め、ACE が特定の分類(SLB、NAT、AAA など)に該当するすべてのアクションを実行できるようにします。

map_name - ポリシー マップの UID。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

レイヤ 3 およびレイヤ 4 ネットワーク トラフィック ポリシー マップを作成するには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)#
 

コンフィギュレーションからポリシー マップを削除するには、次のように入力します。

host1/Admin(config)# no policy-map multi-match L4SLBPOLICY
 

ポリシー マップに同じタイプ(機能)のアクションのインスタンスが複数設定されている場合、ACE はそのタイプに関して最初に検出したアクションを実行します。

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

レイヤ 3 およびレイヤ 4 ポリシー マップの説明の定義

レイヤ 3 およびレイヤ 4 クラス マップをポリシー マップに関連付ける方法

レイヤ 3 およびレイヤ 4 SLB ポリシー アクションの指定

レイヤ 3 およびレイヤ 4 ポリシー マップの説明の定義

description コマンドを使用すると、レイヤ 3 およびレイヤ 4 ポリシー マップに関する簡単な説明を指定できます。

description コマンドを指定するには、ポリシー マップ コンフィギュレーション モードにアクセスする必要があります。

このコマンドの構文は次のとおりです。

description text

text 引数を使用し、最大 240 文字の英数字からなるテキスト ストリングを引用符で囲まずに入力します。

ポリシー マップが VIP へのネットワーク トラフィックをフィルタリングするためのものであることを指定する場合は、次のように入力します。

host1/Admin(config-pmap)# description filter traffic matching a VIP
 

クラス マップから説明を削除するには、次のように入力します。

host1/Admin(config-pmap)# no description

レイヤ 3 およびレイヤ 4 クラス マップをポリシー マップに関連付ける方法

レイヤ 3 およびレイヤ 4 SLB クラス マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付けるには、ポリシー マップ コンフィギュレーション モードで class コマンドを使用します。このコマンドの構文は次のとおりです。

class { name1 [ insert-before name2 ] | class-default }

キーワード、引数、およびオプションは、次のとおりです。

name1 - class-map コマンドで設定された、定義済みトラフィック クラスの名前。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

class-default - ACEが作成した予約済みの Well-known クラス マップを指定します。このクラスは削除も変更もできません。指定されたクラス マップで他の一致基準を満たせなかったすべてのトラフィックは、デフォルト トラフィック クラスに割り当てられます。指定された分類がどれもトラフィックと一致しなかった場合、ACE は class class-default コマンドで指定されたアクションを実行します。 class-default クラス マップには、暗黙の match any 文があり、あらゆるトラフィックとの一致が可能です。

insert-before name2 - (任意)ポリシー マップ コンフィギュレーションの name2 引数で指定された既存のクラス マップの前に、現在のクラス マップを配置します。ACE は、実行コンフィギュレーションにコマンドを保存しませんが、ポリシー マップにクラス マップが設定された順序は維持します。

たとえば、 insert-before オプションを使用して、ポリシー マップにおける 2 つのクラス マップの順序を定義するには、次のように入力します。

host1/Admin(config-pmap)# class L4VIPCLASS insert-before FILTERHTML
 

レイヤ 3 およびレイヤ 4 ポリシー マップからクラス マップを削除するには、次のように入力します。

host1/Admin(config-pmap)# no class L4VIPCLASS

レイヤ 3 およびレイヤ 4 SLB ポリシー アクションの指定

レイヤ 3 およびレイヤ 4 クラス マップを SLB ポリシー マップに関連付けたあとで、ネットワーク トラフィックがクラス マップの 1 つまたは複数の文と一致した場合に、ACE に実行させるアクションを指定する必要があります。レイヤ 3 およびレイヤ 4 ポリシー アクションを指定するには、次のトピックで説明するコマンドを使用します。

レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける方法

汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

接続パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

仮想サーバ IP アドレスのアドバタイズのイネーブル化

ICMP 要求に対する VIP の応答をイネーブルにする方法

UDP トラフィックのパケット単位のロード バランシングのイネーブル化

VIP のイネーブル化

レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける方法

ACE は、すべてのレイヤ 7 ポリシー マップを子ポリシーとして扱うので、必ず、レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付ける必要があります。レイヤ 7 ポリシー マップではなく、レイヤ 3 およびレイヤ 4 ポリシー マップは、インターフェイスに適用することも、コンテキスト内限定ですべてのインターフェイスにグローバルに適用することもできます。レイヤ 7 ロード バランシング ポリシー マップ作成の詳細については、「SLB に対応するレイヤ 7 ポリシー マップの設定」 を参照してください。

レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance コマンドを使用します。

このコマンドの構文は次のとおりです。

loadbalance policy name

policy name キーワードおよび引数は、既存レイヤ 7 SLB ポリシー マップの識別情報です。名前として、最大 64 文字の英数字を引用符で囲まずに、スペースを含めないで入力します。

たとえば、レイヤ 3 およびレイヤ 4 の L4SLBPOLICY というポリシー マップの中で、レイヤ 7 の L7SLBPOLICY というポリシー マップを参照するには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# serverfarm FARM2
 
host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class L4SLBCLASS
host1/Admin(config-pmap-c)# loadbalance policy L7SLBPOLICY
 

レイヤ 3 および レイヤ 4 SLB ポリシーに対するレイヤ 7 SLB ポリシーの関連付けを解消するには、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance policy L7LBPOLICY

汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

汎用、HTTP、または RTSP パラメータ マップを設定するには、関連アクションを定義するパラメータ マップを作成します。「汎用プロトコル パラメータ マップの設定」「HTTP パラメータ マップの設定」、または「RTSP パラメータ マップの設定」を参照してください。

パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで appl-parameter http advanced-options コマンドを使用します。

このコマンドの構文は次のとおりです。

appl-parameter { generic | http | rtsp } advanced-options name

キーワードおよび引数は、次のとおりです。

generic - 汎用プロトコル パラメータ マップを指定します。

http - HTTP パラメータ マップを指定します。

rtsp - RTSP パラメータ マップを指定します。

name - 既存の汎用、HTTP、または RTSP パラメータ マップの 識別子。パラメータ マップは、関連するトラフィックのアクションをひとまとめに集約します。

たとえば、SLB ポリシー マップに対応するアクションとして、 appl-parameter http advanced-options コマンドを指定するには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class FILTERHTTP
host1/Admin(config-pmap-c)# appl-parameter http advanced-options HTTP_PARAM_MAP1
 

SLB ポリシー マップに対する、アクションとしての HTTP パラメータ マップの関連付けを解消するには、次のように入力します。

host1/Admin(config-pmap-c)# no appl-parameter http advanced-options HTTP_PARAM_MAP1

接続パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法

接続パラメータ マップを作成して、関連アクションを定義することによって、TCP/IP 正規化および接続パラメータを設定できます。『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。

接続パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで connection advanced-options コマンドを使用します。このコマンドの構文は次のとおりです。

connection advanced-options name

name 引数には、既存パラメータ マップの名前として、最大 64 文字の英数字を引用符で囲まずに、スペースを含めないで入力します。

たとえば、次のように入力します。

host1/Admin(config-pmap-c)# connection advanced-options TCP_PARAM_MAP
 

ポリシー マップに対する TCP パラメータ マップの関連付けを解消するには、次のように入力します。

host1/Admin(config-pmap-c)# no connection advanced-options TCP_PARAM_MAP

仮想サーバ IP アドレスのアドバタイズのイネーブル化

ACE が仮想サーバの IP アドレスをホスト ルートとしてアドバタイズするには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance vip advertise コマンドを使用します。この機能は、Route Health Injection(RHI)とともに使用され、ACE はネットワーク全体に VIP アドレスのアベイラビリティをアドバタイズできます。

このコマンドの構文は次のとおりです。

loadbalance vip advertise [ active ] | [ metric number ]

キーワード、引数、およびオプションは、次のとおりです。

active - (任意)ACE は、サーバ ファーム内に 1 つ以上のアクティブな実サーバが存在する場合にだけ、VIP の IP アドレスをホスト ルートとしてアドバタイズできます。 active オプションを指定しない場合、ACE はこの VIP に関連付けられたアクティブ実サーバがあるかないかに関係なく、必ず VIP をアドバタイズします。

metric number - (任意)ルーティング テーブルに入力する必要があるルートの距離メトリックを指定します。1 ~ 254 の整数を入力します。デフォルト値は 77 です。


) ルートの距離メトリック値を入力する前に、loadbalance vip advertise コマンドを使用して VIP のアドバタイズをイネーブルにする必要があります。そうしないと、ACE はエラー メッセージを戻します。



loadbalance vip advertise metric コマンドを設定してから no loadbalance vip advertise [active] コマンドを入力すると、ACE は メトリック値をデフォルトの 77 にリセットします。


たとえば、SLB ポリシー マップに対応するアクションとして、 loadbalance vip advertise コマンドを指定するには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class FILTERHTTP
host1/Admin(config-pmap-c)# loadbalance vip advertise active
 

SLB ポリシー マップのアクションとしてホスト ルートのアドバタイズを中止し、 loadbalance vip advertise metric コマンドの値(設定されている場合)をデフォルトの 77 にリセットするには、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance vip advertise active
 

ルートの距離メトリックを指定するには、次のように入力します。

host1/Admin(config-pmap-c)# loadbalance vip advertise metric 30
 

アドバタイズされた VIP から距離メトリックを削除するには、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance vip advertise metric 30

ICMP 要求に対する VIP の応答をイネーブルにする方法

ICMP ECHO 要求に対する VIP の応答をイネーブルにするには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance vip icmp-reply コマンドを使用します。たとえば、ユーザが VIP に ICMP ECHO 要求を送信した場合、このコマンドは ICMP ECHO-REPLY の送信を VIP に指示します。このコマンドの構文は次のとおりです。

loadbalance vip icmp-reply [ active [ primary-inservice ] ]

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

active - 設定された VIP がアクティブな場合に限り、ICMP 要求に応答するように ACE に指示します。VIP がアクティブではなく、なおかつ active オプションが指定されていた場合、ACE は ICMP 要求を廃棄して、要求をタイムアウトさせます。

primary-inservice - バックアップ サーバ ファームのステートに関係なく、プライマリ サーバ ファームのステートがアップである場合に限り、ICMP ping に応答するように ACE に指示します。このオプションがイネーブルで、プライマリ サーバ ファームのステートがダウンである場合、ACE は ICMP 要求を廃棄して、要求をタイムアウトさせます。


loadbalance vip icmp-reply コマンドは ACE 上の VIP への ping を制御します。このコマンドは VIP の ICMP Access Control List(ACL; アクセス コントロール リスト)エントリを暗黙にダウンロードします。このコマンドを ACE に設定しても、ICMP トラフィックを拒否するよう設定された ACL は、VIP への ping を実行するクライアントの機能に影響を及ぼしません。


このコマンドの active オプションを設定した場合は、コンフィギュレーションを完結させるために、必ず、Telnet プローブを設定してサーバ ファームに関連付けてください。プローブはサーバ ファーム内のすべての実サーバの状態を監視し、サーバ ポートがアクティブな場合に限り、ICMP ECHO REPLY で VIP が応答するようにします。サーバ ポートが停止している場合、または到達不能な場合、プローブが失敗し、VIP は ECHO 要求への応答を中止します。プローブ設定の詳細については、 「ヘルス モニタリングの設定」 を参照してください。


) セキュリティ上の理由から、ACE はモジュール経由で、ACE の一方の側にある VLAN(仮想 LAN)上のインターフェイスから、モジュールの反対側の異なる VLAN 上のインターフェイスへの ping を許可しません。たとえば、VIP がサーバ VLAN とは異なる VLAN 上にある場合、サーバから VIP に対して ping を実行できません。


たとえば、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class FILTERHTTP
host1/Admin(config-pmap-c)# loadbalance vip icmp-reply active
 

loadbalance vip icmp-reply コマンド、プライマリ サーバ ファーム、およびバックアップ サーバ ファームの現在の状態を表示するには、show service-policy policy-name detail コマンドを使用します。詳細については、「サービス ポリシー統計情報の表示」を参照してください。

UDP トラフィックのパケット単位のロード バランシングのイネーブル化

デフォルトでは、ACE は同じタプルを使用して、既存の接続上の同じ実サーバに対する UDP パケットをロード バランシングできます。応答がクライアントに戻されたあとただちに接続を終了し、UDP トラフィックのパケット単位のロード バランシングをイネーブルにするには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance vip udp-fast-age コマンドを使用します。このコマンドの構文は次のとおりです。

loadbalance vip udp-fast-age

レイヤ 4 ポリシーの VIP クラスの下にこのコマンドを設定する必要があります。このコマンドを使用すると、ACE はプレディクタ アルゴリズムに従って、サーバ ファーム内の新しい実サーバへの新しい要求をすべてロード バランシングします。クライアントから再送信されたすべての UDP パケットは同じ実サーバに転送されます。このコマンドを適用できるのは、UDP フローだけです。このコマンドは断片化パケットでも動作します。ACE は再設定を行ってから応答を転送し、接続レコードを削除します。


loadbalance vip udp-fast-age コマンドを使用できるのは、汎用レイヤ 7 ポリシーだけです。汎用レイヤ 7 ポリシーの設定に関する詳細については、「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。


たとえば、次のように入力します。

host1/Admin(config-pmap-c)# loadbalance vip udp-fast-age
 

デフォルト動作にリセットするには、 no loadbalance vip udp-fast-age コマンドを使用します。たとえば、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance vip udp-fast-age

loadbalance vip udp-fast-age コマンドを使用する実行コンフィギュレーションの例を示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
parameter-map type connection TIMEOUT
set timeout inactivity 120
 
class-map match-any GENERIC_VIP
2 match virtual-address 10.6.252.19 any
 
policy-map type loadbalance generic first-match GENERIC_LB1
class class-default
serverfarm SF1
 
policy-map multi-match LB
class GENERIC_VIP
loadbalance vip udp-fast-age
loadbalance vip inservice
loadbalance policy GENERIC_LB1
connection advanced-options TIMEOUT
 
interface vlan 10
ip address 10.6.252.12 255.255.255.0
access-group input TEST
service-policy input LB
no shutdown
 

VIP のイネーブル化

VIP の SLB 動作をイネーブルにするには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance vip inservice コマンドを使用します。このコマンドの構文は次のとおりです。

loadbalance vip inservice

SLB ポリシー マップに対応するアクションとして、 loadbalance vip inservice コマンドを指定する例を示します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class FILTERHTTP
host1/Admin(config-pmap-c)# loadbalance vip inservice
 

VIP をディセーブルにするには、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance vip inservice

インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用

service-policy コマンドを使用すると、以下を実行できます。

作成済みポリシー マップを適用します。

特定の VLAN インターフェイスに、または同じコンテキスト内のすべての VLAN インターフェイスにグローバルに、トラフィック ポリシーを接続します。

service-policy コマンドは、インターフェイス コンフィギュレーション モードとコンフィギュレーション モードのどちらでも使用できます。コンフィギュレーション モードでポリシー マップを指定すると、コンテキストに関連付けられているすべての VLAN インターフェイスにポリシーが適用されます。

このコマンドの構文は次のとおりです。

service-policy input policy_name

キーワード、引数、およびオプションは、次のとおりです。

input - インターフェイスの入力方向にトラフィック ポリシーを接続することを指定します。トラフィック ポリシーでは、そのインターフェイスが受信したすべてのトラフィックを評価します。

policy_name - 作成済みの policy -map コマンドで設定された、定義済みポリシー マップの名前。名前には最大 64 文字の英数字を使用できます。

サービス ポリシーを作成するときには、次の注意事項に従ってください。

コンテキストにグローバルに適用されるポリシー マップは、そのコンテキストに関連付けられたすべてのインターフェイスに内部的に適用されます。

ポリシーを適用できるのは、入力方向に限られます。

インターフェイス上でアクティブになったポリシーは、重なり合う分類およびアクションに指定されているグローバル ポリシーを上書きします。

ACE では、個々のインターフェイスでアクティブにできるのは、特定機能タイプの 1 つのポリシーだけです。

インターフェイスごとに、最大 128 のサービス ポリシーを適用できます。

インターフェイス上で複数の VIP を設定する場合、着信トラフィックの一致基準は、そのインターフェイス上で service-policy 文を設定した順番に従います。インターフェイス上で設定した各サービス ポリシーは、インターフェイスにレイヤ 3 およびレイヤ 4 multi-match ポリシー マップを適用します。各 multi-match ポリシー マップには、そのポリシー マップに関連付けられたクラス マップで定義されている機能を 1 つまたは複数含めることができます。

サービス ポリシーにはライン番号がないので、インターフェイス上でサービス ポリシーを設定する順番がきわめて重要になります。その理由は、次のような暗黙の機能検索順序が ACE にあるからです。

1. アクセス コントロール(パケットの許可または拒否)

2. 管理トラフィック

3. TCP 正規化および接続パラメータ

4. サーバ ロード バランシング

5. アプリケーション プロトコル インスペクション

6. 送信元 NAT

7. 宛先 NAT

インターフェイスに複数のサービス ポリシーを適用した場合、ACE はリストの末尾に最後のサービス ポリシーを追加します。インターフェイス上のサービス ポリシーの順序を変更する必要がある場合は、最初にサービス ポリシーを削除してから、適切な順序で戻す必要があります。このプロセスは、ネットワークの中断を伴います。

サービス ポリシーの順序を変更するもう 1 つの方法として、同じ multi-match ポリシー マップで複数のクラス マップを設定できます。この場合、クラス マップの順序を定義できます。このプロセスは、ネットワークの中断を伴いません。既存ポリシーに新しいクラス マップを追加する場合は、 insert-before コマンドを使用して、新しいクラス マップを所定の順序に配置します。

ポリシー マップで 2 つのクラス マップを設定する例を示します。この場合、VIP-ACCESS-MANAGER-80 の方が固有性の強いクラス マップです。ACE が確実に、固有性の強い分類にトラフィックを一致させるように、LB-TRAFFIC ポリシー マップ内で VIP-ACCESS-MANAGER-80 クラス マップを先に設定します。この例およびその次の例で示すのは、コンフィギュレーションのレイヤ 3 およびレイヤ 4 トラフィック分類の部分だけです。

class-map match-all VIP-ACCESS-MANAGER-ANY
2 match virtual-address 10.238.45.200 tcp eq any
class-map match-all VIP-ACCESS-MANAGER-80
2 match virtual-address 10.238.45.200 tcp eq www
policy-map multi-match LB-TRAFFIC
class VIP-ACCESS-MANAGER-80
loadbalance vip inservice
loadbalance policy POLICY-ACCESS-MANAGER-80
loadbalance vip icmp-reply active
class VIP-ACCESS-MANAGER-ANY
loadbalance vip inservice
loadbalance policy POLICY-ACCESS-MANAGER-ANY
loadbalance vip icmp-reply active
 
interface vlan 758
description CLIENT-SIDE-VLAN
bridge-group 100
access-group input ALL
service-policy input LB-TRAFFIC
no shutdown
 

クラス マップごとに 1 つずつ、合計 2 つのポリシー マップを使用して、前の例と同じ結果を得る例を示します。この例では、サービス ポリシーを使用するインターフェイス下で、固有性が強い方のポリシー マップを先に設定します。

 
policy-map multi-match LB-TRAFFIC-80
class VIP-ACCESS-MANAGER-80
loadbalance vip inservice
loadbalance policy POLICY-ACCESS-MANAGER-80
loadbalance vip icmp-reply active
 
policy-map multi-match LB-TRAFFIC-ANY
class VIP-ACCESS-MANAGER-ANY
loadbalance vip inservice
loadbalance policy POLICY-ACCESS-MANAGER-ANY
loadbalance vip icmp-reply active
 
interface vlan 758
description CLIENT-SIDE-VLAN
bridge-group 100
access-group input ALL
service-policy input LB-TRAFFIC-80
service-policy input LB-TRAFFIC-ANY
no shutdown
 

インターフェイス VLANを指定し、VLAN にレイヤ 3 およびレイヤ 4 SLB ポリシー マップを適用する例を示します。

host1/Admin(config)# interface vlan50
host1/Admin(config-if)# mtu 1500
host1/Admin(config-if)# ip address 172.20.1.100 255.255.0.0
host1/Admin(config-if)# service-policy input L4SLBPOLICY
 

コンテキスト内のすべてのインターフェイスにレイヤ 3 およびレイヤ 4 SLB ポリシー マップを適用するには、次のように入力します。

host1/Admin(config)# service-policy input L4SLBPOLICY
 

インターフェイスからトラフィック ポリシーを切り離すには、次のように入力します。

host1/Admin(config-if)# no service-policy input L4SLBPOLICY
 

コンテキストからトラフィック ポリシーをグローバルに切り離すには、次のように入力します。

host1/Admin(config)# no service-policy input L4SLBPOLICY
 

サービス ポリシーを適用した最後の VLAN インターフェイスから個別に、または同じコンテキスト内のすべての VLAN インターフェイスからグローバルにトラフィック ポリシーを切り離すと、ACE は関連するサービス ポリシー統計情報を自動的にリセットします。ACE はこのアクションを実行することによって、次回、トラフィック ポリシーが特定の VLAN インターフェイスに接続されたとき、または同じコンテキスト内のすべての VLAN インターフェイスにグローバルに接続されたときに、サービス ポリシー統計情報の新しい開始点を提供します。

UDP ブースタの設定

非常に高速の UDP 接続を必要とするネットワーク アプリケーションを使用している場合、UDP ブースタ機能を設定します。レイヤ 4 のこの機能は、統計ロード バランシング アルゴリズムが適切であるアプリケーションに適しています。この機能の最も一般的な用途は DNS ロード バランシングですが、超高速 UDP 接続を必要な場合はいつでも使用できます。

この機能を使用して超高速接続を達成するために、ACE は新しい UDP 要求をロード バランシングします。適切なインターフェイスにヒットする以後の UDP パケットと、以前のロード バランシング結果を照合しようとします。以前のロード バランシング結果と一致した以後のパケットには、ロード バランシングされたパケットとは異なる送信元 IP アドレスがあります。ACE は通常、サーバ ファームに設定されたロード バランシング プレディクタを使用して、UDP 損失をロード バランシングします。

ACE は特定用途接続テーブルのハッシュ ヒットを追跡します。ハッシュ範囲は 1 ~ 16384(16 K)です。テーブル全体には、65,536(64 K)のエントリが含まれ、エントリごとに 1 つのクライアントと 1 つのサーバに基づいています。2 つのネットワーク プロセッサにはそれぞれに独立したテーブルがあります。

クライアント側のインターフェイス ヒットの場合、ACE は VIP を関連するサーバ IP アドレスに NAT し、送信元 IP アドレスを保存します。サーバからのリターン トラフィックの場合、ACE は サーバ IP アドレスを VIP に NAT し、宛先アドレスを保存します。

送信元および宛先ポートが同じである(送信元および宛先ポート番号が 53 である DNS アプリケーションでは一般的)要求の場合、ACE は暗黙の PAT を使用して送信元ポートを変換します。ACE は送信元ポート ハッシュ用にポート範囲 1 ~ 1023 を予約します。したがって、着信 UDP トラフィックでは、送信元ポートと宛先ポートが同じであるか、送信元ポートが 1023 より大きい必要があります。そのようなポートになっていないと、この機能は正しく機能しません。


) NAT を使用して UDP ブースタを設定しないでください。また、パケット単位の UDP ロード バランシング(別名 UDP ファスト エージング)などのどのようなレイヤ 7 の機能も、UDP ブースタの設定では使用しないでください。そうしないと、予期せぬ結果が発生する場合があります。パケット単位の UDP ロード バランシングの詳細については、「UDP トラフィックのパケット単位のロード バランシングのイネーブル化」を参照してください。NAT の詳細については、『Cisco Application Control Engine Module Security Configuration Guide』を参照してください。


UDP ブースタ機能を設定するには、インターフェイス コンフィギュレーション モードで udp コマンドを使用します。このコマンドの構文は次のとおりです。

udp { ip-source-hash | ip-destination-hash }

キーワードは次のとおりです。

ip-source-hash - 接続を照合する前に、送信元ハッシュ VLAN インターフェイスにヒットする UDP パケットの送信元 IP アドレスをハッシュするよう、ACE に指示します。このキーワードをクライアント側のインターフェイスに設定します。

ip-destination-hash - 接続を照合する前に宛先ハッシュ VLAN インターフェイスにヒットする UDP パケットの宛先 IP アドレスをハッシュするよう、ACE に指示します。このキーワードをサーバ側のインターフェイスに設定します。


) この機能を使用するには、適切なインターフェイス上で両方のキーワードを設定し、ACE 上に標準ロード バランシングを設定する必要があります。UDP ブースタの機能を設定するときは、反対方向のトラフィック(たとえば、実サーバ側から開始した UDP 接続)がすべて ACE で廃棄される点に注意が必要です。

ロード バランシングの設定の詳細については、このマニュアルの該当する章を参照してください。


たとえば、この機能をクライアント側の VLAN インターフェイス 101 およびサーバ側の VLAN インターフェイス 201 に設定するには、次のように入力します。

host1/Admin(config)# interface vlan 101
host1/Admin(config-if)# udp ip-source-hash
host1/Admin(config-if)# exit
host1/Admin(config)# interface vlan 201
host1/Admin(config-if)# udp ip-destination-hash
 

前述のインターフェイスから UDP ブースタ機能を削除するには、次のように入力します。

host1/Admin(config)# interface vlan 101
host1/Admin(config-if)# no udp ip-source-hash
host1/Admin(config-if)# exit
host1/Admin(config)# interface vlan 201
host1/Admin(config-if)# no udp ip-destination-hash
 

送信元ポートと宛先ポートが等しい場合にハッシュを実行するための ACE の設定

デフォルトでは、TCP または UDP パケットの送信元ポートおよび宛先ポートが等しい場合、Classification and Distribution Engine(CDE)は送信元 IP アドレスと宛先 IP アドレスを使用して、ハッシュ関数を実行します。送信元ポートと宛先ポートが等しくない場合、CDE はポートだけを使用します。

TCP または UDP パケットが等しい場合に送信元ポートおよび宛先ポートを使用してハッシュ関数を実行するよう CDE を設定するには、 hw-module cde-same-port-hash コマンドを使用します。このコマンドを設定する場合、送信元ポートが変更されないように、ACE はパケットの暗黙の PAT をディセーブルにします。このコマンドを使用できるのは、管理コンテキストだけです。

このコマンドが設定され、これらのポートが等しい場合、CDE はデフォルト方式とわずかに異なるハッシュ方式を使用します。

たとえば、次のように入力します。

switch/Admin(config)# hw-module cde-same-port-hash
 

デフォルト動作にリセットするには、次のように入力します。

switch/Admin(config)# no hw-module cde-same-port-hash

RDP ロード バランシングの設定

Microsoft RDP では、ターミナル サーバで稼動する Windows ベースのアプリケーションのネットワーク接続上で、リモート ディスプレイ機能および入力機能を提供します。RDP がサポートする重要な機能の 1 つはローミング接続の切断と呼ばれます。ローミング接続の切断では、ターミナル サーバ セッションをログオフすることなく、セッションの接続を手動で解除できます。同じデバイスまたは異なるデバイスのいずれかを使用してあとでシステムにログインする場合、切断されたセッションに自動的に再接続します。ネットワークまたはクライアントの障害によってセッションが予期せずに終了した場合でも、ログオフではなく切断されます。

ロード バランシング設定では、ACE は、サーバ ファームに設定されたロード バランシング方式に従って、サーバ ファーム内のターミナル サーバ上の着信セッション接続を分散します。Session Directory(SD)は、ユーザ名でインデックス化されたユーザ セッションのリストを維持し、切断したセッションが常駐するターミナル サーバに再接続し、そのセッションを再開できます。サーバ ファームのターミナル サーバでユーザを認証する場合、SD はユーザ名で問い合わされます。ユーザ名を持つセッションがターミナル サーバの 1 つに存在する場合、SD はそのターミナル サーバにユーザをリダイレクトします。この機能により、意図的に、またはネットワーク障害によって、アプリケーションが稼動しているセッションを切断してから、あとで同じアプリケーションが稼動する同じセッションに再接続できます。SD は、ログイン情報を持ったルーティング トークンとトークンに組み込まれたサーバ IP アドレスをクライアントに送信します。

ルーティング トークンを解析し、トークン内部に組み込まれた IP アドレスを使用してターミナル サーバに対するクライアント セッションをロード バランシングするには、ACE は RDP パケット内を調査する必要があります。ACE は、RDP パケット内のルーティング トークンの有無に基づき、ロード バランシング決定を行います。トークンが存在する場合、ACE はトークンに組み込まれたアドレスとポートがあるサーバにパケットを転送します。トークンが存在しない場合、ACE はレイヤ 3 およびレイヤ 4 ロード バランシング設定を使用して実サーバを決定します。


) ACE はルーティング トークンに基づき、RDP ロード バランシングをサポートします。ACE への要求でルーティング トークンを送信しない場合、ACE は、設定されたプレディクタを使用してサーバ ファーム内の使用可能なサーバの 1 つに対するクライアント要求をロード バランシングします。


ここでは、RDP ロード バランシング用の ACE の設定について説明します。

実サーバおよびサーバ ファームの設定

レイヤ 7 RDP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RDP ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RDP ポリシーの適用

RDP ロード バランシングの設定例

実サーバおよびサーバ ファームの設定

実サーバおよびサーバ ファームの設定の詳細については、 「実サーバおよびサーバ ファームの設定」 を参照してください。

レイヤ 7 RDP ロード バランシング ポリシーの設定

レイヤ 7 RDP ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 レイヤ 7 RDP ロード バランシング ポリシー マップを作成します。

(config)# policy-map type loadbalance rdp first-match RDP_L7_POLICY
host1/Admin(config-pmap-lb-rdp)#
 

ステップ 2 そのポリシー マップとデフォルト クラス マップを関連付けます。レイヤ 7 RDP ポリシー マップに関連付けることができるのは、デフォルトのクラス マップだけです。

host1/Admin(config-pmap-lb-rdp)# class class-default
host1/Admin(config-pmap-lb-rdp-C)#
 

ステップ 3 サーバ ファームとポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-rdp-C)# serverfarm sf1
 


 

レイヤ 7 ロード バランシング ポリシーの設定の詳細については、「SLB に対応するレイヤ 7 クラス マップの設定」および「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。

レイヤ 3 およびレイヤ 4 RDP ポリシーの設定

レイヤ 3 およびレイヤ 4 RDP ポリシーを設定するには、次の手順を実行します。


ステップ 1 RDP 用にレイヤ 3 およびレイヤ 4 クラス マップを作成し、VIP match 文を指定します。match 文の rdp キーワードを使用すると、ポートをデフォルトの RDP ポート 3389 に設定します。ポート番号を直接入力することもできます。

host1/Admin(config)# class-map match-any RDP_L4_CLASS
host1/Admin(config-cmap)# match virtual-address 192.168.12.15 tcp port eq rdp
 

ステップ 2 レイヤ 3 およびレイヤ 4 RDP ポリシー マップを作成し、レイヤ 3 およびレイヤ 4 RDP クラス マップと関連付けます。

host1/Admin(config)# policy-map multi-match RDP_L4_POLICY
host1/Admin(config-pmap)# class RDP_L4_CLASS
host1/Admin(config-pmap-c)#
 

ステップ 3 VIP をインサービスにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice
 

ステップ 4 「レイヤ 7 RDP ロード バランシング ポリシーの設定」で作成したレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。

host1/Admin(config-pmap-c)# loadbalance policy RDP_L7_POLICY
 


 

レイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの設定の詳細については、「SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定」および「SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照してください。

インターフェイスへのレイヤ 3 およびレイヤ 4 RDP ポリシーの適用

インターフェイスへのレイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの適用の詳細については、「インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用」を参照してください。

RDP ロード バランシングの設定例

次に、RDP ロード バランシングの実行コンフィギュレーションの例を示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
class-map match-any RDP_L4_CLASS
2 match virtual-address 10.6.252.19 tcp eq rdp
 
policy-map type loadbalance rdp first-match RDP_L7_POLICY
class class-default
serverfarm SF1
 
policy-map multi-match RDP_L4_POLICY
class RDP_L4_CLASS
loadbalance vip inservice
loadbalance RDP_L7_POLICY
 
interface vlan 10
ip address 10.6.252.12 255.255.255.0
access-group input ACL1
service-policy input RDP_L4_POLICY
no shutdown
 

RADIUS ロード バランシングの設定

ACE は RADIUS プロトコルを使用してクライアント要求をロード バランシングします。ACE は以下を使用して、アカウンティングおよびサーバ アクセスの RADIUS クライアント要求を処理します。

最初のパケットを処理するサーバを決定するレイヤ 3 およびレイヤ 4 ロード バランシング

同じクライアントから同じサーバへの以降のパケットを、そのパケットの特定の RADIUS フィールドに基づいてロード バランシングするスティッキ性

ACE が再送信要求を受信した場合、オリジナル要求の送信先である同じサーバに要求を送信します。モジュールは、送信元および宛先のアドレスおよびポートと、RADIUS ヘッダーで「識別情報」と呼ばれるヘッダー フィールドを使用して再送信を特定します。

ACE がクライアント データ フレームを、RADIUS 要求の送信先である同じ RADIUS サーバに確実に転送するには、catch-all VIP および RADIUS スティッキ グループに、レイヤ 3 およびレイヤ 4 ロード バランシング ポリシーをアクションとして設定する必要があります。Access-Accept または Accounting-Request メッセージで IP アドレス(Framed IP)を受信すると、ACE はデータ フレームを適切なサーバに転送します。

ロード バランシングされたサービス ゲートウェイ環境では、ACE は定義された発信側端末 ID またはユーザ名範囲を特定のサーバ ファームにマッピングすることで、データセンターのパーティション化されたサブスクライバ データベースをサポートします。この機能により、各サーバ ファームに稼動するサブスクライバの制限セットを設定できるように、サブスクライバ データベースをパーティション化できます。サブスクライバ アトリビュートに対する一致基準に RADIUS クラス マップを設定することで、サブスクライバ アトリビュートを指定できます。

ACE は RADIUS アカウンティングのオン/オフ メッセージをロード バランシングしません。代わりに、RADIUS ロード バランシング ポリシーに設定されたサーバ ファームの実サーバごとに、これらのメッセージを複製します。

ここでは、RADIUS ロード バランシングの設定について説明します。

実サーバおよびサーバ ファームの設定

RADIUS スティッキ グループの設定

レイヤ 7 RADIUS ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RADIUS ロード バランシング ポリシーの設定

非 RADIUS データ転送用のトラフィック ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RADIUS ポリシーの適用

RADIUS ロード バランシングの設定例

実サーバおよびサーバ ファームの設定

実サーバおよびサーバ ファームの設定の詳細については、 「実サーバおよびサーバ ファームの設定」 を参照してください。

RADIUS スティッキ グループの設定

次の基準のいずれかに基づいて、RADIUS スティッキ グループを設定できます。

Framed IP だけ

Framed IP および発信側端末 ID

Framed IP およびユーザ名

RADIUS スティッキ グループを設定するには、次の手順を実行します。


ステップ 1 RADIUS スティッキ グループを作成します。

host1/admin(config)# sticky radius framed-ip calling-station-id RADIUS_GROUP
host1/admin(config-sticky-radius)#
 

RADIUS スティッキ グループにより、ACE は同じユーザ セッションに属する以後のメッセージ(ユーザ名、呼び出し ID、または IP アドレス(Framed IP)によって特定)を、そのユーザ セッションの最初のメッセージと同じサーバに確実に送信します。複数のセッションが同じクライアントから発信できます。

ステップ 2 サーバ ファームとスティッキ グループを関連付けます。

host1/admin(config-sticky-radius)# serverfarm sf2
 


 

RADIUS スティッキ性の設定の詳細については、 「スティッキ機能の設定」 を参照してください。

レイヤ 7 RADIUS ロード バランシング ポリシーの設定

レイヤ 7 RADIUS ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 レイヤ 7 ロード バランシング クラス マップを作成します。

host1/Admin(config)# class-map type radius loadbalance match-any RADIUS_L7_CLASS
host1/Admin(config-cmap-radius-lb)#
 

最初の 2 つのステップを省略し、代わりにデフォルトのクラス マップ(class-default)を使用することもできます。デフォルトのクラス マップを使用する場合、RADIUS 発信側端末 ID やユーザ名の一致基準は指定できません。


) match-all クラス マップでは、同じタイプの match を複数設定できません。match-any クラス マップでは、異なるタイプの match を複数設定できません。


ステップ 2 クラス マップに一致基準を定義します。

host1/Admin(config-cmap-radius-lb)# match radius attribute calling-station-id 122
host1/Admin(config-cmap-radius-lb)# match radius attribute username JSMITH
 

ステップ 3 レイヤ 7 RADIUS ロード バランシング ポリシー マップを作成します。

host1/Admin(config)# policy-map type loadbalance radius first-match RADIUS_L7_POLICY
host1/Admin(config-pmap-lb-radius)#
 

ステップ 4 ステップ 1 で作成したクラス マップとステップ 3 で作成したポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-radius)# class RADIUS_L7_CLASS
host1/Admin(config-pmap-lb-radius-c)#
 

ステップ 5 スティッキ グループとポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-radius-C)# sticky-serverfarm RADIUS_GROUP

 


 


) レイヤ 7 ポリシーに、スティッキ サーバ ファームではなく、単一の(非スティッキ)サーバ ファームを指定できます。その場合に使用可能な機能は、同じ実サーバへの再送信の転送と、すべての実サーバへのアカウンティング オンまたはオフの複製だけです。


レイヤ 7 ロード バランシング ポリシーの設定の詳細については、「SLB に対応するレイヤ 7 クラス マップの設定」および「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。

レイヤ 3 およびレイヤ 4 RADIUS ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RADIUS ポリシーを設定するには、次の手順を実行します。


ステップ 1 RADIUS ロード バランシングにレイヤ 3 およびレイヤ 4 クラス マップを設定し、VIP match 文を指定します。match 文の radius-auth キーワードを使用すると、ポートはデフォルトの RADIUS ポート 1812 に設定されます。 radius-acct キーワードを使用すると、ポートはデフォルトの RADIUS ポート 1813 に設定されます。ポート番号を直接入力することもできます。

host1/Admin(config)# class-map match-any RADIUS_L4_CLASS
host1/Admin(config-cmap)# match virtual-address 192.168.12.15 udp eq radius-auth
host1/Admin(config-cmap)# match virtual-address 192.168.12.15 udp eq radius-acct
 

次のように、ポート範囲に 1 つの match 文を使用することもできます。

host1/Admin(config-cmap)# match virtual-address 192.168.12.15 udp range 1812 1813
 

ステップ 2 レイヤ 3 およびレイヤ 4 RADIUS ポリシー マップを設定し、ステップ 1 で作成したレイヤ 3 およびレイヤ 4 RADIUS クラス マップとこのポリシー マップを関連付けます。

host1/Admin(config)# policy-map multi-match RADIUS_L4_POLICY
host1/Admin(config-pmap)# class RADIUS_L4_CLASS
host1/Admin(config-pmap-c)#
 

ステップ 3 VIP をインサービスにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice
 

ステップ 4 「レイヤ 7 RADIUS ロード バランシング ポリシーの設定」で作成したレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。

host1/Admin(config-pmap-c)# loadbalance policy RADIUS_L7_POLICY
 


 

レイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの設定の詳細については、「SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定」および「SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照してください。

RADIUS ロード バランシングの詳細については、「RADIUS ロード バランシングの設定例」を参照してください。

非 RADIUS データ転送用のトラフィック ポリシーの設定

クライアントからの非 RADIUS データ パケットを、同じクライアントからの RADIUS パケットを ACE から送信したときの宛先であるサーバに転送するようACE を設定できます。この機能は、Cisco Services Selection Gateway(SSG)を装備したモバイル ワイヤレス実装で使用されます。エンド ユーザ トラフィックは、ロード バランサをパススルーし、IP アドレス(Framed IP)によって識別されたユーザを認証し、アカウンティングする同じ実サーバ(SSG)に転送される必要があります。

ACE がフレーム化 IP スティッキ性を使用して非 RADIUS パケットを転送する必要がある場合、パケットの送信元 IP アドレスを使用してスティッキ データベース内のフレーム化 IP アドレスを検索します。検索が正常に終了すると、ACE はパケットを適切な実サーバの IP アドレスにネクストホップとして送信します(パケットの宛先 IP アドレスは変更されません)。検索が失敗すると、ACE はパケットをルーティングします。


) この手順には、catch-all VIP(IP アドレスおよびネットマスク 0.0.0.0 0.0.0.0)の使用が含まれます。このタイプの VIP は慎重に使用してください。できれば、ACE が転送する必要がある実際のトラフィックにできるだけ近い VIP アドレスおよびネットマスクを使用してください。


次の手順では、データ転送プロセスに関連したコンフィギュレーションの部分を設定するのに必要なステップについて説明します。前述の設定手順とともに、次の手順を使用します。


ステップ 1 catch-all VIP のあるレイヤ 4 クラス マップを作成します。

host1/Admin(config)# class-map match-any LAYER4_CLASS
host1/Admin(config-cmap)# 4 match virtual-address 0.0.0.0 0.0.0.0 any
host1/Admin(config-cmap)# exit
 

ステップ 2 レイヤ 7 ロード バランシング ポリシー マップを 1 つ作成します。

host1/Admin(config)# policy-map type loadbalance first-match DATA_FORWARD_L7POLICY
host1/Admin(config-pmap-lb)#
 

ステップ 3 デフォルトのクラス マップとレイヤ 7 ポリシー マップを関連付け、非 RADIUS 着信トラフィックを照合します。デフォルトのクラス マップは、このポリシー マップで設定できる唯一のクラス マップです。

host1/Admin(config-pmap-lb)# class class-default
host1/Admin(config-pmap-lb-c)#
 

ステップ 4 「RADIUS スティッキ グループの設定」 で作成した RADIUS スティッキ グループとレイヤ 7 ポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-c)# sticky-serverfarm RADIUS_GROUP
 

ステップ 5 レイヤ 4 クラス マップと、「レイヤ 3 およびレイヤ 4 RADIUS ロード バランシング ポリシーの設定」 で作成したレイヤ 4 multimatch ポリシー マップを関連付けます。

host1/Admin(config)# policy-map multi-match RADIUS_L4_POLICY
host1/Admin(config-pmap)# class LAYER4_CLASS
 

ステップ 6 ステップ 1 で設定した catch-all VIP をイネーブルにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice
 

ステップ 7 ステップ 2 で作成したレイヤ 7 ロード バランシング ポリシーとレイヤ 4 multimatch ポリシーを関連付けます。

host1/Admin(config-pmap-c)# loadbalance policy DATA_FORWARD_L7POLICY
 


 

データ転送 RADIUS トラフィック ポリシーの設定全体の例については、「エンド ユーザ データ転送ポリシー」を参照してください。

インターフェイスへのレイヤ 3 およびレイヤ 4 RADIUS ポリシーの適用

インターフェイスへのレイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの適用の詳細については、「インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用」 を参照してください。

RADIUS ロード バランシングの設定例

次に、レイヤ 7 RADIUS クラス マップを使用した場合と使用しない場合の RADIUS ロード バランシングの設定例を示します。

レイヤ 7 RADIUS クラス マップを使用しない場合

レイヤ 7 RADIUS クラス マップを使用した場合

エンド ユーザ データ転送ポリシー

レイヤ 7 RADIUS クラス マップを使用しない場合

次に、レイヤ 7 RADIUS クラス マップを使用しない場合の RADIUS ロード バランシングの実行コンフィギュレーションの例を示します。RADIUS ロード バランシング設定に厳密に関連している設定部分は太字で示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
sticky radius framed-ip calling-station-id RADIUS_GROUP
serverfarm SF2
class-map match-any RADIUS_L4_CLASS
2 match virtual-address 12.1.1.11 udp range 1812 1813
 
policy-map type loadbalance radius first-match RADIUS_L7_POLICY
class class-default
sticky-serverfarm RADIUS_GROUP
 
policy-map multi-match RADIUS_L4_POLICY
class RADIUS_L4_CLASS
loadbalance vip inservice
loadbalance RADIUS_L7_POLICY
 
interface vlan 10
ip address 192.168.12.13 255.255.255.0
service-policy input RADIUS_DATA_L4_POLICY
no shutdown

レイヤ 7 RADIUS クラス マップを使用した場合

次に、レイヤ 7 RADIUS クラス マップを使用した場合の RADIUS ロード バランシングの実行コンフィギュレーションの例を示します。RADIUS ロード バランシング設定に厳密に関連している設定部分は太字で示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
sticky radius framed-ip calling-station-id RADIUS_GROUP1
serverfarm SF1
 
sticky radius framed-ip calling-station-id RADIUS_GROUP2
serverfarm SF2
 
class-map match-any RADIUS_L4_CLASS
2 match virtual-address 192.168.12.15 udp range 1812 1813
 
class-map type radius loadbalance match-any RADIUS_L7_CLASS1
2 match radius attribute calling-station-id 122*
3 match radius attribute calling-station-id 133*
 
class-map type radius loadbalance match-any RADIUS_L7_CLASS2
2 match radius attribute calling-station-id 144*
 
policy-map type loadbalance radius first-match RADIUS_L7_POLICY
class RADIUS_L7_CLASS1
sticky-serverfarm RADIUS_GROUP1
class RADIUS_L7_CLASS2
sticky-serverfarm RADIUS_GROUP2
 
policy-map multi-match RADIUS_L4_POLICY
class RADIUS_L4_CLASS
loadbalance vip inservice
loadbalance RADIUS_L7_POLICY
 
interface vlan 10
ip address 192.168.12.12 255.255.255.0
service-policy input RADIUS_L4_POLICY
no shutdown

エンド ユーザ データ転送ポリシー

次に、ACE が最初の RADIUS パケットを送信した先と同じ RADIUS サーバに非 RADIUS データ パケットを送信するよう ACE に指示するのに必要なコマンドの例を示します。データ転送ポリシーに厳密に関連している設定部分は太字で示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
sticky radius framed-ip RADIUS_GROUP1
serverfarm SF1
 
class-map type radius loadbalance match-any RADIUS_L7_CLASS
2 match radius attribute calling-station-id 133*
 
class-map match-any RADIUS_L4_CLASS
3 match virtual-address 192.168.12.15 udp range 1812 1813
 
class-map match-any LAYER4_CLASS
4 match virtual-address 0.0.0.0 0.0.0.0 any
 
policy-map type loadbalance radius first-match RADIUS_L7_POLICY
class RADIUS_L7_CLASS
sticky-serverfarm RADIUS_GROUP1
 
policy-map type loadbalance first-match DATA_FORWARD_L7POLICY
class class-default
sticky-serverfarm RADIUS_GROUP1
 
policy-map multi-match RADIUS_L4_POLICY
class RADIUS_L4_CLASS
loadbalance vip inservice
loadbalance policy RADIUS_L7_POLICY
loadbalance vip icmp-reply
loadbalance vip advertise
class LAYER4_CLASS
loadbalance vip inservice
loadbalance policy LAYER7_POLICY
 
interface vlan 10
ip address 192.168.12.12 255.255.255.0
service-policy input RADIUS_L4_POLICY
no shutdown

RTSP ロード バランシングの設定

RTSP は、次のようなアプリケーションによって、サーバからクライアントへのオーディオ、ビデオ、およびシミュレーション データのストリーミングに使用します。

Cisco IP/TV

Apple QuickTime 4

RealAudio

RealNetworks

RealPlayer

ACE は RTSP over TCP をサポートします。ACE は、設定された VIP および RTSP ポートで、レイヤ 3 およびレイヤ 4 RTSP ロード バランシングの決定を行います。レイヤ 7 ロード バランシングの場合、ACE は RTSP URL または RTSP ヘッダーを使用します。RTSP URL の形式は rtsp://cisco.com/video です。

RTSP セッションには、同じまたは異なる接続上で複数の要求および応答メッセージの交換が含まれます。たとえば、メディア プレーヤーがメディア ファイルを再生しようとすると、次のメッセージ交換が実行されます。

OPTIONS はサポート対象の機能を、サーバに問い合わせます(一部のメディア プレーヤーはこれをスキップします)。

DESCRIBE はメディア リソースの説明を取得します。

SETUP はメディアに使用する転送メカニズムを指定します。

PLAY は SETUP で指定されたメカニズムを通じて、ストリーミングされたデータの送信を開始するようサーバに通知します。

PAUSE により、ストリーム配信を一時的に中断します。

TEARDOWN はストリーム配信を停止し、リソースを解放します。

ACE が新しい RTSP セッションの最初の要求メッセージ(通常は OPTIONS または DESCRIBE)を受信すると、設定されたポリシーに基づいてロード バランシングの決定を行い、選択したサーバにメッセージを転送します。ACE はこのセッションの以後のメッセージをすべて同じサーバに転送します。RTSP メッセージはテキスト ベースで HTTP と類似しています。

RTSP スティッキは Session ヘッダーを使用してクライアントをサーバに固定します。Session ヘッダーには、SETUP 応答のサーバによって割り当てられたセッション ID が含まれます。サーバが SETUP 要求に応答すると、ACE は、スティッキ データベースにサーバからのセッション ID を持つエントリを作成します。以後のメッセージ交換はすべて同じ Session ヘッダーを含みます。


) 同じセッションのすべての RTSP 要求が単一の接続に到達する場合、設定のスティッキ部分は任意となります。


設定のインスペクション部分は任意となります。ただし、Real-Time Transport Protocol(RTP)の個別の接続を移動する RTSP データ トラフィックをサポートするには、RTSP インスペクションを設定する必要があります。インスペクションを設定すると、ACE は検査を実行し、RTSP パケットを修正します(パケットの必要な書き換えや制限されたポートのオープンを含む)。RTSP インスペクションの詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。

ここでは、RTSP ロード バランシングの設定について説明します。

実サーバおよびサーバ ファームの設定

RTSP スティッキ グループの設定

レイヤ 7 RTSP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RTSP ロード バランシング ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 RTSP ポリシーの適用

RTSP ロード バランシング設定の例

実サーバおよびサーバ ファームの設定

実サーバおよびサーバ ファームの設定の詳細については、 「実サーバおよびサーバ ファームの設定」 を参照してください。

RTSP スティッキ グループの設定

ここでは、RTSP スティッキ性の設定方法を説明します。これは任意の手順であり、RTSP ロード バランシングに必須ではありません。

RTSP スティッキ グループを設定するには、次の手順を実行します。


ステップ 1 RTSP スティッキ グループを作成します。RTSP スティッキ グループにより、ACE は同じセッションの以後の要求を、そのセッションの最初のメッセージとして同じサーバに確実に送信します。


) 同じ URL のすべての RTSP 要求が単一の接続に到達する場合、設定のスティッキ部分は任意となります。


host1/admin(config)# sticky rtsp-header Session RTSP_GROUP
host1/admin(config-sticky-rtsp)#
 

ステップ 2 サーバ ファームとスティッキ グループを関連付けます。

host1/admin(config-sticky-rtsp)# serverfarm SF4
 


 

スティッキ性の設定の詳細については、 「スティッキ機能の設定」 を参照してください。

レイヤ 7 RTSP ロード バランシング ポリシーの設定

レイヤ 7 RTSP ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 レイヤ 7 RTSP ロード バランシング クラス マップを作成します。

host1/Admin(config)# class-map type rtsp loadbalance match-any RTSP_L7_CLASS
host1/Admin(config-cmap-rtsp-lb)#
 

ステップ 2 クラス マップに一致基準を定義します。

host1/Admin(config-cmap-rtsp-lb)# match rtsp url rtsp://cisco.com/movie
host1/Admin(config-cmap-rtsp-lb)# match rtsp header Accept header-value application/sdp
host1/Admin(config-cmap-rtsp-lb)# match source-address 192.168.12.15 255.255.255.0
 

ステップ 3 レイヤ 7 RTSP ロード バランシング ポリシー マップを作成します。

host1/Admin(config)# policy-map type loadbalance rtsp first-match RTSP_L7_POLICY
host1/Admin(config-pmap-lb-rtsp)#
 

ステップ 4 ステップ 1 で作成したクラス マップ(またはデフォルトのクラス)とステップ 3 で作成したポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-rtsp)# class RTSP_L7_CLASS
host1/Admin(config-pmap-lb-rtsp-c)#
 

ステップ 5 スティッキ グループとポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-rtsp-C)# sticky-serverfarm RTSP_GROUP
 


 

レイヤ 7 ロード バランシング ポリシーの設定の詳細については、「SLB に対応するレイヤ 7 クラス マップの設定」および「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。

レイヤ 3 およびレイヤ 4 RTSP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 RTSP ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 RTSP ロード バランシングにレイヤ 3 およびレイヤ 4 クラス マップを設定し、VIP match 文を指定します。match 文の rtsp キーワードを使用すると、ポートはデフォルトの RTSP ポートに設定されます。

host1/Admin(config)# class-map match-all RTSP_L4_CLASS
host1/Admin(config-cmap)# match virtual-address 192.168.12.15 tcp eq rtsp
 

ステップ 2 レイヤ 3 およびレイヤ 4 RTSP ポリシー マップを設定し、ステップ 1 で作成したレイヤ 3 およびレイヤ 4 RTSP クラス マップとこのポリシー マップを関連付けます。

host1/Admin(config)# policy-map multi-match RTSP_L4_POLICY
host1/Admin(config-pmap)# class RTSP_L4_CLASS
host1/Admin(config-pmap-c)#
 

ステップ 3 VIP をインサービスにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice
 

ステップ 4 「レイヤ 7 RADIUS ロード バランシング ポリシーの設定」で作成したレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。

host1/Admin(config-pmap-c)# loadbalance policy RTSP_L7_POLICY
 


 

レイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの設定の詳細については、「SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定」および「SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照してください。

インターフェイスへのレイヤ 3 およびレイヤ 4 RTSP ポリシーの適用

インターフェイスへのレイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの適用の詳細については、「インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用」を参照してください。

RTSP ロード バランシング設定の例

次に、RTSP の設定例を示します。スティッキ グループおよび RTSP インスペクション部分は任意です。クライアントが 1 つのセッションで複数の要求に異なる接続を使用する場合、スティッキ グループを設定する必要があります。個別の接続を移動するデータ トラフィックに RTP を使用する場合、適切なピンホールを開くにはインスペクションが必要です。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF4
rserver RS1
inservice
rserver RS2
inservice
 
sticky rtsp-header Session RTSP_GROUP
serverfarm SF4
 
class-map type rtsp loadbalance match-any RTSP_L7_CLASS
match rtsp url rtsp://cisco.com/movie
match rtsp header Accept header-value application/sdp
 
class-map match-all RTSP_L4_CLASS
match virtual-address 192.168.12.15 tcp eq rtsp
 
policy-map type loadbalance rtsp first-match RTSP_L7_POLICY
class RTSP_L7_CLASS
sticky-serverfarm RTSP_GROUP
 
policy-map multi-match RTSP_L4_POLICY
class RTSP_L4_CLASS
loadbalance vip inservice
loadbalance policy RTSP_L7_POLICY
inspect rtsp
 
interface vlan 10
ip address 192.168.12.12 255.255.255.0
service-policy input RTSP_L4_POLICY
no shutdown

SIP ロード バランシングの設定

SIP は、ユーザ デバイスとメディア サーバの間のシグナリング メカニズムとして機能します。SIP は、エンド デバイス(ユーザ エージェント クライアント)が SIP サーバとインタラクティブな通信セッションを開始するピアツーピア プロトコルです。このセッションには、インターネット マルチメディア会議、インターネット電話コール(VoIP)、およびマルチメディア配信を含むことができます。クライアント デバイスの例として、ハードウェア、ソフトウェア、携帯用 IP 電話、Personal Digital Assistant(PDA)があります。ACE は SIP over TCP または UDP をサポートします。

セッション Call-ID は、固有のコール識別情報で、クライアントから SIP プロキシ サーバに送信されたテキスト ベースの SIP メッセージ内に常駐します(たとえば、クライアントと ACE の間に設置された Cisco Softswitch)。プロキシ サーバは ACE への複数の同時コールに同じ接続を再使用できます。ACE は、異なる Call-ID を持つ各コールを個別にロード バランシングしますが、同時にバックエンド接続はオープンのままにします。この動作は、ACE が新しいロード バランシング決定を行ったあと、既存の接続を閉じる HTTP 持続性再バランスとは異なります。持続性再バランスの詳細については、「HTTP 持続性再バランスのイネーブル化」を参照してください。

SIP セッション中、クライアントとサーバは多数のメッセージを交換します。図 3-2 を参照してください。

図 3-2 SIP コール セットアップおよびコール ダイアログの例

 

ACE がクライアントから新しい SIP セッションの最初の要求メッセージ(通常は INVITE)を受信すると、設定されたポリシーに基づいてロード バランシングの決定を行い、選択したサーバにメッセージを転送します。ACE は、このセッションで同じ Call-ID を持つ以後のメッセージをすべて同じサーバに転送します。

Call-ID スティッキ性により、異なる TCP または UDP 接続からの特定の Call-ID のメッセージは正しいサーバに到達します。Call-ID によるスティッキ性は、Call-ID を使用して現在の SIP セッションを識別し、メッセージ内容に基づいて決定を行うステートフル コール サービスにとって特に重要です。


) 同じ Call-ID のすべての SIP 要求が単一の接続に到達する場合、設定のスティッキ部分は任意となります。


SIP スティッキ性が設定されていて、ACE がクライアントからサーバへの SIP メッセージのヘッダーで Call-ID を検出した場合、ACE は Call-ID に基づいてキー(ハッシュ値)を生成します。ACE はこのキーを使用して、スティッキ テーブル内のエントリを検索します。エントリが存在する場合、ACE はテーブル エントリが示すスティッキ サーバにクライアントを送信します。エントリが存在しない場合、ACE は新しいスティッキ エントリを作成し、キーに SIP Call-ID 値をハッシュし、エントリにそのキーを保存します。

ほとんどの場合、SIP ロード バランシングを機能させるため、少なくとも基本的な SIP インスペクションをイネーブルにする必要があります(インスペクション ポリシーなしで inspect sip コマンドを設定)。SIP インスペクションは SIP パケットを修正します(パケットの必要な書き換えや制限されたポートのオープンを含む)。これらのアクションによって、SIP トラフィックは確実に ACE によって適切にルーティングされます。SIP インスペクションの詳細については、『 Cisco Application Control Engine Module Security Configuration Guide 』を参照してください。

ここでは、SIP ロード バランシングの設定について説明します。

実サーバおよびサーバ ファームの設定

SIP スティッキ グループの設定

レイヤ 7 SIP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 SIP ロード バランシング ポリシーの設定

インターフェイスへのレイヤ 3 およびレイヤ 4 SIP ポリシーの適用

SIP ロード バランシングの設定例

実サーバおよびサーバ ファームの設定

実サーバおよびサーバ ファームの設定の詳細については、 「実サーバおよびサーバ ファームの設定」 を参照してください。

SIP スティッキ グループの設定

ここでは、SIP スティッキ性の設定方法を説明します。これは任意の手順であり、SIP ロード バランシングには必須ではありません。

SIP スティッキ グループを設定するには、次の手順を実行します。


ステップ 1 SIP スティッキ グループを作成します。

host1/admin(config)# sticky sip-header Call-ID SIP_GROUP
host1/admin(config-sticky-sip)#
 

SIP スティッキ グループにより、ACE は同じクライアントからの以後のパケットを、そのクライアントからの最初のパケットと同じサーバに確実に送信します。


) 同じ Call-ID のすべての SIP 要求が単一の接続に到達する場合、設定のスティッキ部分は任意となります。


ステップ 2 サーバ ファームとスティッキ グループを関連付けます。

host1/admin(config-sticky-sip)# serverfarm sf3
 


 

SIP スティッキ性の設定の詳細については、 「スティッキ機能の設定」 を参照してください。

レイヤ 7 SIP ロード バランシング ポリシーの設定

レイヤ 7 SIP ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 レイヤ 7 SIP ロード バランシング クラス マップを作成します。

host1/Admin(config)# class-map type sip loadbalance match-any SIP_L7_CLASS
host1/Admin(config-cmap-sip-lb)#
 

最初の 2 つのステップを省略し、代わりにデフォルトのクラス マップ(class-default)を使用することもできます。デフォルトのクラス マップを使用する場合、他の SIP ヘッダーの一致基準は指定できません。代わりに、ACE は class class-default コマンドで指定されたアクションを実行します。

class-default クラス マップには、暗黙の match any 文があり、あらゆるトラフィックとの一致が可能です。さらに、ACE により、同じ Call-ID を持つメッセージは同じサーバに確実にロード バランシングされます。設定の詳細については、「一致基準を使用しない SIP ロード バランシング」を参照してください。

ステップ 2 クラス マップに一致基準を定義します。

host1/Admin(config-cmap-sip-lb)# match sip header To header-value .*@cisco.com
 

ステップ 3 レイヤ 7 SIP ロード バランシング ポリシー マップを作成します。

host1/Admin(config)# policy-map type loadbalance sip first-match SIP_L7_POLICY
host1/Admin(config-pmap-lb-sip)#
 

ステップ 4 ステップ 1 で作成したクラス マップ(またはデフォルトのクラス)とステップ 3 で作成したポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-sip)# class SIP_L7_CLASS
host1/Admin(config-pmap-lb-sip-c)#
 

ステップ 5 スティッキ グループとポリシー マップを関連付けます。

host1/Admin(config-pmap-lb-sip-C)# sticky-serverfarm SIP_GROUP
 


 

レイヤ 7 ロード バランシング ポリシーの設定の詳細については、「SLB に対応するレイヤ 7 クラス マップの設定」および「SLB に対応するレイヤ 7 ポリシー マップの設定」を参照してください。

レイヤ 3 およびレイヤ 4 SIP ロード バランシング ポリシーの設定

レイヤ 3 およびレイヤ 4 SIP ロード バランシング ポリシーを設定するには、次の手順を実行します。


ステップ 1 SIP ロード バランシングにレイヤ 3 およびレイヤ 4 クラス マップを設定し、VIP match 文を指定します。match 文の sip キーワードを使用すると、ポートはデフォルトの SIP ポート 5060 に設定されます。

host1/Admin(config)# class-map match-all SIP_L4_CLASS
host1/Admin(config-cmap)# match virtual-address 192.168.12.15 udp eq sip
 

ステップ 2 レイヤ 3 およびレイヤ 4 SIP ポリシー マップを設定し、ステップ 1 で作成したレイヤ 3 およびレイヤ 4 SIP クラス マップとこのポリシー マップを関連付けます。

host1/Admin(config)# policy-map multi-match SIP_L4_POLICY
host1/Admin(config-pmap)# class SIP_L4_CLASS
host1/Admin(config-pmap-c)#
 

ステップ 3 VIP をインサービスにします。

host1/Admin(config-pmap-c)# loadbalance vip inservice
 

ステップ 4 「レイヤ 7 RADIUS ロード バランシング ポリシーの設定」で作成したレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。

host1/Admin(config-pmap-c)# loadbalance policy SIP_L7_POLICY
 


 

レイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの設定の詳細については、「SLB 用レイヤ 3 およびレイヤ 4 SLB クラス マップの設定」および「SLB 用レイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照してください。

インターフェイスへのレイヤ 3 およびレイヤ 4 SIP ポリシーの適用

インターフェイスへのレイヤ 3 およびレイヤ 4 ロード バランシング ポリシーの適用の詳細については、「インターフェイスへのレイヤ 3 およびレイヤ 4 ポリシーの適用」を参照してください。

SIP ロード バランシングの設定例

次に、SIP の設定例を示します。

一致基準を使用しない SIP ロード バランシング

SIP ヘッダーおよび SIP インスペクションに基づいた SIP ロード バランシング

スティッキ グループおよび SIP インスペクションは任意です。class-map 一致基準を設定しない場合、ACE は class class-default コマンドで指定されたアクションを実行します。class-default クラス マップには、暗黙の match any 文があり、あらゆるトラフィックとの一致が可能です。さらに、ACE により、同じ Call-ID を持つメッセージは同じサーバに確実にロード バランシングされます。

一致基準を使用しない SIP ロード バランシング

次に、一致基準を使用しない SIP ロード バランシングの実行コンフィギュレーションの例を示します。SIP ロード バランシング設定に厳密に関連している設定部分は太字で示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
serverfarm host SF1
rserver RS1
inservice
rserver RS2
inservice
 
sticky sip-header Call-ID SIP_GROUP
serverfarm SF3
 
class-map match-all SIP_L4_CLASS
match virtual-address 192.168.12.15 udp eq sip
 
policy-map type loadbalance sip first-match SIP_L7_POLICY
class class-default
sticky-serverfarm SIP_GROUP
policy-map multi-match SIP_L4_POLICY
class SIP_L4_CLASS
loadbalance vip inservice
loadbalance policy SIP_L7_POLICY
inspect sip
 
interface vlan 10
ip address 192.168.12.12 255.255.255.0
service-policy input SIP_L4_POLICY
no shutdown

SIP ヘッダーおよび SIP インスペクションに基づいた SIP ロード バランシング

次に、SIP ヘッダーおよび SIP インスペクションに関する SIP ロード バランシングの実行コンフィギュレーションの例を示します。SIP ロード バランシング設定に厳密に関連している設定部分は太字で示します。

access-list ACL1 line 10 extended permit ip any any
 
rserver host RS1
ip address 10.6.252.245
inservice
rserver host RS2
ip address 10.6.252.246
inservice
 
serverfarm host SF3
rserver RS1
inservice
rserver RS2
inservice
 
sticky sip-header Call-ID SIP_GROUP
serverfarm SF3
 
class-map type sip loadbalance match-any SIP_L7_CLASS
match sip header Call_ID header-value sip:
 
class-map match-all SIP_L4_CLASS
match virtual-address 192.168.12.15 tcp eq sip
 
policy-map type loadbalance sip first-match SIP_L7_POLICY
class SIP_L7_CLASS
sticky-serverfarm SIP_GROUP
 
policy-map multi-match SIP_L4_POLICY
class SIP_L4_CLASS
loadbalance vip inservice
loadbalance policy SIP_L7_POLICY
inspect sip
 
interface vlan 10
ip address 192.168.12.12 255.255.255.0
service-policy input SIP_L4_POLICY
no shutdown

サーバ ロード バランシング ポリシー コンフィギュレーションの例

SLB 用のトラフィック ポリシーを定義する複数のクラス マップおよびポリシー マップが含まれた、実行コンフィギュレーションの例を示します。例では、クラス マップおよびポリシー マップのコンフィギュレーションを太字で示します。

次のコンフィギュレーションでは、接続用のサーバ ファームを選択したときに、複数のロード バランシング プレディクタの 1 つに基づいて、接続が実サーバに送られます。leastconns プレディクタ方式は、オープンしている接続が最も少ないサーバに、接続をロード バランシングします。

access-list ACL1 line 10 extended permit ip any any
 
probe tcp TCP
interval 5
faildetect 2
passdetect interval 10
open 3
 
parameter-map type http PERSIST-REBALANCE
persistence-rebalance
parameter-map type connection PRED-CONNS-UDP_CONN
set timeout inactivity 300
serverfarm host PRED-CONNS
predictor leastconns
rserver SERVER1
inservice
rserver SERVER2
inservice
rserver SERVER3
inservice
rserver SERVER4
inservice
rserver SERVER5
inservice
rserver SERVER6
inservice
rserver SERVER7
inservice
rserver SERVER8
inservice
serverfarm host PRED-CONNS-UDP
failaction purge
predictor leastconns
rserver SERVER1
inservice
rserver SERVER2
inservice
rserver SERVER3
probe ICMP
inservice
rserver SERVER5
inservice
rserver SERVER6
inservice
rserver SERVER7
inservice
serverfarm host PREDICTOR
probe TCP
rserver SERVER1
inservice
rserver SERVER2
inservice
rserver SERVER6
inservice
rserver SERVER7
inservice
 
sticky http-cookie COOKIE_TEST STKY-GRP-43
cookie offset 1 length 999
timeout 30
replicate sticky
serverfarm PREDICTOR
 
class-map match-all L4PRED-CONNS-UDP-VIP_128:2222_CLASS
2 match virtual-address 192.168.120.128 udp eq 0
class-map match-all L4PRED-CONNS-VIP_128:80_CLASS
2 match virtual-address 192.168.120.128 tcp eq www
class-map match-all L4PREDICTOR_117:80_CLASS
2 match virtual-address 192.168.120.117 tcp eq www
policy-map type loadbalance first-match L7PLBSF_PRED-CONNS_POLICY
class class-default
serverfarm PRED-CONNS
policy-map type loadbalance first-match L7PLBSF_PRED-CONNS-UDP_POLICY
class class-default
serverfarm PRED-CONNS-UDP
policy-map type loadbalance first-match L7PLBSF_PREDICTOR_POLICY
class class-default
sticky-serverfarm STKY-GRP-43
policy-map multi-match L4SH-Gold-VIPs_POLICY
class L4PREDICTOR_117:80_CLASS
loadbalance vip inservice
loadbalance policy L7PLBSF_PREDICTOR_POLICY
loadbalance vip icmp-reply active
nat dynamic 1 vlan 120
appl-parameter http advanced-options PERSIST-REBALANCE
class L4PRED-CONNS-VIP_128:80_CLASS
loadbalance vip inservice
loadbalance policy L7PLBSF_PRED-CONNS_POLICY
loadbalance vip icmp-reply active
nat dynamic 1 vlan 120
appl-parameter http advanced-options PERSIST-REBALANCE
class L4PRED-CONNS-UDP-VIP_128:2222_CLASS
loadbalance vip inservice
loadbalance policy L7PLBSF_PRED-CONNS-UDP_POLICY
loadbalance vip icmp-reply active
nat dynamic 1 vlan 120
appl-parameter http advanced-options PERSIST-REBALANCE
connection advanced-options PRED-CONNS-UDP_CONN
 
interface vlan 120
description Upstream VLAN_120 - Clients and VIPs
ip address 192.168.120.1 255.255.255.0
fragment chain 20
fragment min-mtu 68
access-group input ACL1
nat-pool 1 192.168.120.70 192.168.120.70 netmask 255.255.255.0 pat
service-policy input L4SH-Gold-VIPs_POLICY
no shutdown
ip route 10.1.0.0 255.255.255.0 192.168.120.254

ロード バランシング コンフィギュレーション情報および統計情報の表示

ここで説明するコマンドを使用すると、レイヤ 3 およびレイヤ 4、さらにレイヤ 7 のクラス マップおよびポリシー マップについて、コンフィギュレーション情報および統計情報を表示できます。ここでは、次の内容について説明します。

クラス マップ コンフィギュレーション情報の表示

ポリシー マップ コンフィギュレーション情報の表示

パラメータ マップ コンフィギュレーション情報の表示

ロード バランシング統計情報の表示

HTTP パラメータ マップ統計情報の表示

サービス ポリシー統計情報の表示

HTTP 統計情報の表示

クラス マップ コンフィギュレーション情報の表示

クラス マップ コンフィギュレーション情報を表示するには、EXEC モードで show running-config class-map コマンドを使用します。アクセスしたコンテキストで設定されているすべてのクラス マップの名前、さらに各クラス マップで設定されている match 文が表示されます。このコマンドの構文は次のとおりです。

show running-config class-map

ポリシー マップ コンフィギュレーション情報の表示

ポリシー マップ コンフィギュレーション情報を表示するには、EXEC モードで show running-config policy-map コマンドを使用します。アクセスしたコンテキストで設定されているすべてのポリシー マップの名前、さらに各クラス マップで設定されているクラス マップおよびアクションが表示されます。このコマンドの構文は次のとおりです。

show running-config policy-map

パラメータ マップ コンフィギュレーション情報の表示

パラメータ マップのリストおよびそれぞれのコンフィギュレーション情報を表示するには、EXEC モードで show running-config parameter-map コマンドを使用します。このコマンドの構文は次のとおりです。

show running-config parameter-map

ロード バランシング統計情報の表示

ロード バランシング統計情報を表示するには、EXEC モードで show stats loadbalance コマンドを使用します。このコマンドの構文は次のとおりです。

show stats loadbalance [ radius | rdp ]

キーワードおよびオプションは次のとおりです。

radius - (任意)現在のコンテキストに関連付けられた RADIUS ロード バランシングの統計情報を表示します。

rdp - (任意)現在のコンテキストに関連付けられた RDP ロード バランシングの統計情報を表示します。

たとえば、次のように入力します。

host1/Admin# show stats loadbalance
 

表 3-8 で、HTTP パラメータ マップに関する show stats loadbalance コマンドの出力に含まれる、各フィールドについて説明します。

 

表 3-8 show stats loadbalance コマンド出力のフィールド

フィールド
説明

Total Version Mismatch

ロード バランシングの決定時に VIP コンフィギュレーションが変更されました。ACE は接続を拒否しました。

Total Layer4 Decisions

ACE がレイヤ 4 でロード バランシングを決定した合計回数

Total Layer4 Rejections

ACE が拒否したレイヤ 4 接続の合計数

Total Layer7 Decisions

ACE がレイヤ 7 でロード バランシングを決定した合計回数

Total Layer7 Rejections

ACE が拒否したレイヤ 7 接続の合計数

Total Layer4 LB Policy Misses

設定されているレイヤ 4 ロード バランシング ポリシーと一致しなかった接続要求の合計数

Total Layer7 LB Policy Misses

設定されているレイヤ 7 ロード バランシング ポリシーと一致しなかった接続要求の合計数

Total Times Rserver Was Unavailable

ACE がサーバ ファームの実サーバに対して要求のロード バランシングを試み、実サーバが稼動していなかったか、またはその他の理由で使用できなかった合計回数

Total ACL denied

ACL によって拒否された接続要求の合計数

Total IDMap Lookup Failures

冗長性のため、ID Map テーブルの実サーバまたはサーバ ファームのピア ACE ID マッピングに対する、ローカル ACE の検出に ACE が失敗した合計数。ローカル ACE で検索する正しいリモート ID をピア ACE が送信しなかったためにローカル ACE がマッピングを実行できなかった場合や、ID Map テーブルが作成されなかった場合に、障害が発生する可能性があります。

表 3-9 に、 show stats loadbalance radius コマンド出力のフィールドの説明を示します。

 

表 3-9 show stats loadbalance radius コマンド出力のフィールド

フィールド
説明

Total Requests Received

受信した RADIUS クライアント(NAS)要求の合計数

Total Responses Received

受信した RADIUS サーバ応答の合計数

Total Retry Packets Received

受信した再送信 RAIDUS 要求の合計数

Total Header Parse Results Received

ロード バランシング モジュールで解析し、受信した RADIUS ヘッダーの合計数

Total Body Parse Results Received

ロード バランシング モジュールで解析し、受信した RADIUS アトリビュートの合計数

Total Data Parse Results Received

ロード バランシング モジュールで解析し、受信した RADIUS パケット(要求と応答)の合計数

Total Packets Sent Out

インバウンド インターフェイスとアウトバウンド インターフェイスの両方で ACE から送信した RADIUS パケットの合計数

Total Sessions Allocated

割り当てた RADIUS セッションの合計数

Total Sessions Deleted

削除した RADIUS セッションの合計数

Total Username Sticky Added

User-Name アトリビュートに基づいて追加したスティッキ エントリの合計数

Total Calling-station Sticky Added

Calling-Station-Id アトリビュートに基づいて追加したスティッキ エントリの合計数

Total Framed-ip Sticky Added

Framed-IP-Address アトリビュートに基づいて追加したスティッキ エントリの合計数

Total End-user Packet Sticky Success

RADIUS AAA 処理で事前に作成した FIP スティッキ エントリにヒットしたエンドユーザ パケットの合計数

Total End-user Packet Sticky Failure

RADIUS AAA 処理で事前に作成した FIP スティッキ エントリにヒットしなかったエンドユーザ パケットの合計数

Total Acct-On/Off Requests Received

受信した RADIUS アカウンティング On/Off 要求の合計数

Total Acct-On/Off Responses Received

受信した RADIUS アカウンティング On/Off 応答の合計数

Total Acct-On/Off with No Rules

対応する有効なポリシーが見つからなかった RADIUS アカウンティング On/Off 要求の合計数

Total Acct-On/Off Req Processing Done

ACE で正常に処理した RADIUS アカウンティング On/Off 要求の合計数

Total NULL Packet Received Errors

受信した無効な(データがない)RADIUS パケットの合計数

Total Parse Errors

有効な RADIUS ヘッダーがない状態で受信した RADIUS パケットの合計数

Total Proxy Mapper Errors

プロキシ マッパー エントリの作成に失敗した件数。プロキシ マッパー エントリは、ポイントツーマルチポイント プロトコルで使用できるように、複数のアウトバウンド接続で各インバウンド接続をマッピングします。

Total Sticky Addition Failures

RADIUS に基づくスティッキ エントリの作成に失敗した件数

Total memory allocation failures

任意のメイン RADIUS 構造で使用するための割り当てに失敗した件数

Total stale packet errors

新しい RADIUS パケットの受信によって最新ではなくなった RADIUS パケットの合計数

表 3-10 に、 show stats loadbalance rdp コマンド出力のフィールドの説明を示します。

 

表 3-10 show stats loadbalance rdp コマンド出力のフィールド

フィールド
説明

Total Data Parse Results Received

ロード バランシング モジュールで受信した RDP 解析結果の合計数

Total Packets Load Balanced

ロード バランシングした RDP パケットの合計数

Total Packets with Routing Token

ルーティング トークン付きで受信した RDP パケットの合計数

Total Packets with Token Matching No Rserver

ルーティング トークンに適合する設定済み実サーバが存在しない RDP パケットの合計数

HTTP パラメータ マップ統計情報の表示

HTTP パラメータ マップの統計情報を表示するには、EXEC モードで show parameter-map コマンドを使用します。このコマンドの構文は次のとおりです。

show parameter-map name

name 引数は、HTTP パラメータ マップの識別子です。最大 64 文字の英数字を、引用符で囲まずに入力します。

たとえば、HTTP_PARAMMAP という HTTP パラメータ マップの統計情報を表示する場合は、次のように入力します。

host1/Admin# show parameter-map HTTP_PARAMMAP
 

表 3-11 で、HTTP パラメータ マップに関する show parameter-map コマンドの出力に含まれる、各フィールドについて説明します。

 

表 3-11 show parameter-map コマンド出力のフィールド

フィールド
説明

Parameter-map

HTTP パラメータ マップを表す UID

タイプ

HTTP

Server-side connection reuse

TCP サーバ再利用機能の状態。イネーブルまたはディセーブルです。

Case-
insensitive parsing

case-insensitive コマンドの状態。イネーブルまたはディセーブルです。

Persistence-
rebalance

persistence-rebalance コマンドの状態。イネーブルまたはディセーブルです。

Header-
maxparse-
length

header-maxparse-length コマンドの設定値またはデフォルト値

Content-
maxparse-
length

content-maxparse-length コマンドの設定値またはデフォルト値

Parse length-
exceed action

length-exceed コマンドに設定されているアクション。continue または drop です。

Urlcookie-
delimiters

設定されている URL cookie デリミタ

サービス ポリシー統計情報の表示

コンテキスト内でグローバルにイネーブルのサービス ポリシーについて、または特定のインターフェイス上のサービス ポリシーについて、統計情報を表示するには、 show service-policy コマンドを使用します。このコマンドの構文は次のとおりです。

show service-policy [ policy_name ] [ detail ]

キーワード、引数、およびオプションは、次のとおりです。

policy_name - (任意)指定された既存ポリシー マップの統計情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。

detail - (任意)インターフェイスに適用された指定のポリシー マップについて、詳細な統計情報を表示します。


) ACE は、該当する接続がクローズされると、show service-policy コマンドが表示するカウンタを更新します。


表 3-12 で、 show service-policy detail コマンド出力のフィールドについて説明します。

 

表 3-12 show service-policy detail コマンド出力のフィールド

フィールド
説明

Status

サービス ポリシーの現在の動作状態。ACTIVE または INACTIVE です。

Description

ユーザが入力したポリシー マップに関する説明

Interface

ポリシー マップが適用されたインターフェイスの VLAN ID

Service Policy

ポリシー マップの UID

Class

サービス ポリシーに関連付けられているクラス マップの名前

Loadbalance

L7 Policy

サービス ポリシーに関連付けられている L7 ポリシー マップの名前

VIP Route Metric

loadbalance vip advertise コマンドで指定されたように、ルートの距離メトリックを指定します。ACE はルーティング テーブルに指定する値を書き込みます。有効値は 1 ~ 254 の整数です。

VIP Route Advertise

loadbalance vip advertise コマンドの動作状態。ENABLED または DISABLED です。このコマンドは、RHI とともに使用され、ACE はネットワーク全体に VIP アドレスのアベイラビリティをアドバタイズできます。

VIP ICMP Reply

loadbalance vip icmp-reply コマンドの動作状態。有効な状態は、ENABLED、DISABLED、ENABLED-WHEN-ACTIVE、または ENABLED-WHEN-PRIMARY-SF-UP です。

VIP State

仮想サーバの動作状態。INSERVICE または OUTOFSERVICE です。

Curr Conns

VIP へのアクティブな接続の数

Dropped Conns

ACE が廃棄した接続の数

Client Pkt Count

クライアントから受信したパケットの数

Server Pkt Count

サーバから受信したパケットの数

Hit Count

この VIP との接続が確立された回数

Client Byte Count

クライアントから受信したバイト数

Server Byte Count

サーバから受信したバイト数

L4 Policy Stats

Total Req/
Resp

ポリシー マップに関する要求および応答の合計数

Total Allowed

受信して許可されたパケットの合計数

Total Dropped

受信して廃棄されたパケットの合計数

Total Logged

記録されたエラーの合計数

L7 loadbalance policy

レイヤ 7 ポリシー マップの 識別情報

Class-map

関連付けられたクラス マップの 識別情報

LB action

レイヤ 7 ポリシー マップで指定されている次のようなアクション

Primary server farm - プライマリ サーバ ファームの ID

State - プライマリ サーバの現在の状態。UP または DOWN です。

Backup server farm - バックアップ サーバ ファームの 識別情報

State - プライマリ サーバの現在の状態。UP または DOWN です。

Primary Server Farm

プライマリ サーバ ファームの 識別情報

NAT Dynamic Pool

NAT ダイナミック プールおよび関連した VLAN の ID

Curr Conns

プライマリ サーバ ファームへの現在の接続数

Hit Count

プライマリ サーバ ファームへの累計接続数

Dropped Conns

ACE が廃棄した、プライマリ サーバ ファームへの接続試行回数

Backup Server Farm

バックアップ サーバ ファームの識別情報

NAT Dynamic Pool

NAT ダイナミック プールおよび関連した VLAN の ID

Curr Conns

バックアップ サーバ ファームへの現在の接続数

Hit Count

バックアップ サーバ ファームへの累計接続数

Dropped Conns

ACE が廃棄した、バックアップ サーバ ファームへの接続試行回数

Hit count

このポリシーを使用して接続が確立された回数

Dropped conns

このポリシーと関連付けられていて、廃棄された接続の数

HTTP 統計情報の表示

ヘッダー挿入およびサーバ再利用の統計情報を含めて、HTTP の統計情報を表示するには、EXEC モードで show stats http コマンドを使用します。このコマンドの構文は次のとおりです。

show stats http

たとえば、次のように入力します。

host1/Admin# show stats http
 
+------------------------------------------+
+-------------- HTTP statistics -----------+
+------------------------------------------+
LB parse result msgs sent : 0 , TCP data msgs sent : 0
Inspect parse result msgs : 0 , SSL data msgs sent : 0
sent
TCP fin/rst msgs sent : 0 , Bounced fin/rst msgs sent: 0
SSL fin/rst msgs sent : 0 , Unproxy msgs sent : 0
Drain msgs sent : 0 , Particles read : 0
Reuse msgs sent : 0 , HTTP requests : 0
Reproxied requests : 0 , Headers removed : 0
Headers inserted : 0 , HTTP redirects : 0
HTTP chunks : 0 , Pipelined requests : 0
HTTP unproxy conns : 0 , Pipeline flushes : 0
Whitespace appends : 0 , Second pass parsing : 0
Response entries recycled : 0 , Analysis errors : 0
Header insert errors : 0 , Max parselen errors : 0
Static parse errors : 0 , Resource errors : 0
Invalid path errors : 0 , Bad HTTP version errors : 0
Headers rewritten : 0 , Header rewrite errors : 0
 

SLB 統計情報の消去

ここでは、ロード バランシングに関する統計情報を消去する目的で使用できるコマンドについて説明します。具体的な内容は次のとおりです。

ロード バランシング統計情報の消去

サービス ポリシー統計情報の消去

HTTP 統計情報の消去

ロード バランシング統計情報の消去

現在のコンテキストに含まれるすべてのロード バランシング統計情報を消去するには、EXEC モードで clear stats loadbalance コマンドを使用します。このコマンドの構文は次のとおりです。

clear stats loadbalance [ radius | rdp ]

キーワードおよびオプションは次のとおりです。

radius - (任意)RADIUS ロード バランシングの統計情報を消去します。

rdp - (任意)RDP ロード バランシングの統計情報を消去します。

たとえば、次のように入力します。

host1/Admin# clear stats loadbalance

) 冗長性を設定している場合は、アクティブとスタンバイ両方の ACE で、ロード バランシング統計情報を明示的に消去する必要があります。アクティブ モジュール上の統計情報を消去しても、スタンバイ モジュールの統計情報は古い値のまま残ります。


サービス ポリシー統計情報の消去

サービス ポリシーの統計情報を消去するには、 clear service-policy コマンドを使用します。このコマンドの構文は次のとおりです。

clear service-policy policy_name

policy_name 引数には、現在使用中の(インターフェイスに適用した)既存ポリシー マップを表す識別情報を入力します。

たとえば、現在使用中の ポリシー マップ L4SLBPOLICY の統計情報を消去 するには、次のように入力します。

host1/Admin# clear service-policy L4SLBPOLICY
 

) 冗長性を設定している場合は、アクティブとスタンバイ両方の ACE で、サービス ポリシー統計情報を明示的に消去する必要があります。アクティブ モジュール上の統計情報を消去しても、スタンバイ モジュールの統計情報は古い値のまま残ります。


HTTP 統計情報の消去

現在のコンテキストに含まれるすべての HTTP 統計情報を消去するには、EXEC モードで clear stats http コマンドを使用します。このコマンドの構文は次のとおりです。

clear stats http

たとえば、次のように入力します。

host1/Admin# clear stats http
 

) 冗長性を設定している場合は、アクティブとスタンバイ両方の ACE で、HTTP 統計情報を明示的に消去する必要があります。アクティブ モジュール上の統計情報を消去しても、スタンバイ モジュールの統計情報は古い値のまま残ります。


次の作業

実サーバのヘルス プローブを設定する場合は、 「ヘルス モニタリングの設定」 に進んでください。スティック性(接続の持続性)を設定する場合は、 「スティッキ機能の設定」 を参照してください。ファイアウォール負荷分散を設定する場合は、 「ファイアウォール負荷分散の設定」 を参照してください。