Cisco 4700 Series Application Control Engine Appliance サーバ ロード バランシング コンフィギュレーション ガイド Software Version A3(1.0)
サーバ ロード バランシングに 関するトラフィック ポリシー の設定
サーバ ロード バランシングに関するトラフィック ポリシーの設定
発行日;2012/01/10 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 4MB) | フィードバック

目次

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

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 の定義

HTTP ロード バランシング用の SSL 暗号ベースの暗号化レベルの定義

正規表現照合や HTTP 圧縮を実行する際に特定の拡張子/MIME タイプのファイルを除外する

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 要求または応答のヘッダーを修正するように ACE を設定する

URL デリミタの定義

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

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

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 ポリシー マップに関連付ける方法

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 ブースターの設定

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

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#
 

この表の以降の例では、特に記載がない限り、管理コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco 4700 Series Application Control Engine Appliance 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.*
 

特定の SSL 暗号または暗号強度に基づいて、ロード バランシングの決定を行います。「HTTP ロード バランシング用の SSL 暗号ベースの暗号化レベルの定義」を参照してください。

host1/Admin(config-cmap-http-lb)# match cipher equal-to RSA_WITH_RC4_128_CBC_SHA
 

送信元 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 に対して、ポリシー マップと一致するパケットを圧縮し、クライアントのブラウザが deflate と gzip の圧縮方式を両方ともサポートする場合に、そのどちらかの圧縮方式を使用するように指示します。「パケットの圧縮」を参照してください。


compress コマンド オプションは、HTTP タイプのクラス マップをポリシー マップに関連付けた場合にのみ表示されます。


ポリシー マップと一致したパケットの廃棄を 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 4700 Series Application Control Engine Appliance 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 4700 Series Application Control Engine Appliance 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 つまたは複数指定します。

VIP が 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
 

汎用、HTTP、または RTSP パラメータ マップを、レイヤ 3 およびレイヤ 4 ポリシー マップに関連付けて、ACE が使用するパラメータを定義します。「汎用、HTTP、または RTSP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法」を参照してください。

host1/Admin(config-pmap-c)# appl-parameter http advanced-options HTTP_PARAM_MAP1
 

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 4700 Series Application Control Engine Appliance SSL Configuration Guide 』を参照してください。

HTTP ヘッダー挿入の設定

ACE で NAT を使用してクライアントの送信元 IP アドレスを VIP に変換する場合、TCP および IP リターン トラフィックに対応するクライアントを特定する方法がサーバに必要です。NAT を使用して送信元 IP アドレスが変換されているクライアントを特定する目的で、ユーザによって選択された総称ヘッダーとストリング値をクライアント HTTP 要求に挿入することを ACE に指示できます(NAT の詳細については、『 Cisco 4700 Series Application Control Engine Appliance 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 の範囲は 0 ~ 255 です。

expr{m}

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

expr{m,}

式を m 回以上、照合します。m の範囲は 0 ~ 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 ペイロードのスティッキ性( 第5章「スティッキ機能の設定」 を参照)と、レイヤ 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、SSL 暗号の暗号化レベル、RADIUS アトリビュート、RDP、RTSP ヘッダーまたは URL、SIP ヘッダー、あるいは送信元 IP アドレスに基づいて、レイヤ 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 -- ロード バランシング用の 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 の定義

正規表現照合や HTTP 圧縮を実行する際に特定の拡張子/MIME タイプのファイルを除外する

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 コマンドを入力します。


HTTP ロード バランシング用の SSL 暗号ベースの暗号化レベルの定義

ACE では、接続を開始する際に使用される特定の SSL 暗号または暗号強度に基づいて、ロード バランシングの決定を行うことができます。この機能によって ACE は、SSL の終了処理の際に ACE とネゴシエートされる SSL 暗号化レベルに基づき、クライアント トラフィックを別々のサーバ ファームにロード バランシングします。たとえば、クライアントが 40 または 56 ビットの暗号化をネゴシエートする場合は、サーバ ファーム A にロード バランシングして、クライアントが 128 ビットの暗号化をネゴシエートする場合は、サーバ ファーム B にロード バランシングするといった具合です。ネゴシエートされた SSL 暗号化レベルに基づいてロード バランシングを定義するには、クラス マップ HTTP ロード バランス コンフィギュレーション モードで match cipher コマンドを使用します。

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

[ line_number ] match cipher { equal-to cipher | less-than cipher_strength }

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

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

equal-to cipher -- SSL 暗号を指定します。 cipher の指定可能な値は次のとおりです。

RSA_EXPORT1024_WITH_DES_CBC_SHA

RSA_EXPORT1024_WITH_RC4_56_MD5

RSA_EXPORT1024_WITH_RC4_56_SHA

RSA_EXPORT_WITH_DES40_CBC_SHA

RSA_EXPORT_WITH_RC4_40_MD5

RSA_WITH_3DES_EDE_CBC_SHA

RSA_WITH_AES_128_CBC_SHA

RSA_WITH_AES_256_CBC_SHA

RSA_WITH_DES_CBC_SHA

RSA_WITH_RC4_128_MD5

RSA_WITH_RC4_128_SHA

less-than cipher_strength -- より最低限の SSL 暗号ビット強度を指定します。たとえば、暗号強度の値として 128 を指定すると 128 ビット未満のすべての SSL 暗号が、このトラフィック ポリシーに該当します。SSL 暗号が 128 ビット以上の場合、その接続はこのポリシーに該当しません。

cipher_strength の指定可能な値は次のとおりです。

56 -- 56 ビット強度

128 -- 128 ビット強度

168 -- 168 ビット強度

256 -- 256 ビット強度

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

host1/Admin(config)# class-map type http loadbalance http match-all L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 10 match cipher equal-to RSA_WITH_RC4_128_CBC_SHA
 

特定の最低限の SSL 暗号ビット強度に対してレイヤ 7 SLB クラス マップのロード バランスを指定するには、次のように入力します。

host1/Admin(config)# class-map type http loadbalance http match-all L7SLBCLASS
host1/Admin(config-cmap-http-lb)# 100 match cipher less-than 128
 

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

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

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


正規表現照合や HTTP 圧縮を実行する際に特定の拡張子/MIME タイプのファイルを除外する

ACE で正規表現照合を実行したり、特定のポリシー マップと一致するパケットに対して HTTP 圧縮を実行するように設定する場合は(「パケットの圧縮」を参照)、レイヤ 7 compression_exclusion SLB クラス マップを作成し、それをレイヤ 7 SLB ポリシー マップに追加することをお勧めします。HTTP 圧縮は、特定の拡張子や MIME(Multipurpose Internet Mail Extension)タイプが含まれたファイルに対しては実行しないでください。それらのファイルは改ページされる可能性があるためです。この場合、次の拡張子や MIME タイプを持つファイルを避けてください。.*gif、.*css、.*js、.*class、.*jar、.*cab、.*txt、.*ps、.*vbs、.*xsl、.*xml、.*pdf、.*swf、.*jpg、.*jpeg、.*jpe、.*png


) 特定の MIME タイプを HTTP パラメータ マップで圧縮するように指定した場合、MIME タイプの除外は必要ありません。詳細については、「HTTP 圧縮パラメータの定義」を参照してください。


次の例は、特定の拡張子が含まれた一連のファイルを除外するトラフィック ポリシーを格納する実行中の設定を示しています。この設定の部分的な例では、除外クラス マップおよびポリシー マップの設定を太字で示しています。

access-list ACL1 line 10 extended permit ip any any
 
rserver host SERVER1
ip address 192.168.10.99
inservice
 
serverfarm host SFARM1
rserver rserv 80
inservice
 
class-map match-any L4_COMP-TEST_CLASS
2 match virtual-address 10.210.2.151 tcp eq www
class-map type http loadbalance match-any L7default-compression-
exclusion-mime-type_CLASS
description Classmap for default SLB compression exclusion mime-types.
2 match http url .*gif
3 match http url .*css
4 match http url .*js
5 match http url .*class
6 match http url .*jar
7 match http url .*cab
8 match http url .*txt
9 match http url .*ps
10 match http url .*vbs
11 match http url .*xsl
12 match http url .*xml
13 match http url .*pdf
14 match http url .*swf
15 match http url .*jpg
16 match http url .*jpeg
17 match http url .*jpe
18 match http url .*png
class-map type management match-any L4_REMOTE-ACCESS_CLASS
2 match protocol xml-https any
4 match protocol icmp any
5 match protocol telnet any
6 match protocol ssh any
7 match protocol http any
8 match protocol https any
 
policy-map type management first-match L4_REMOTE-ACCESS_POLICY
class L4_REMOTE-ACCESS_CLASS
permit
policy-map type loadbalance first-match L7_COMP-TEST_SLB_POLICY
class L7default-compression-exclusion-mime-type_CLASS
serverfarm SFARM1
class class-default
serverfarm SFARM1
compress default-method deflate
policy-map multi-match int102
class L4_COMP-TEST_CLASS
loadbalance vip inservice
loadbalance policy L4_COMP-TEST-L7SLB_POLICY
 
interface vlan 102
ip address 10.210.2.151 255.255.255.0
access-group input ALL
service-policy input L4_REMOTE-ACCESS_CLASS
no shutdown
interface vlan 202
ip address 192.168.10.151 255.255.255.0
no shutdown
 
ip route 0.0.0.0 0.0.0.0 10.210.2.1
 

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

ACE では、発信側ステーション 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 header Host header-value XYZ
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 4700 Series Application Control Engine Appliance 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

パケットの圧縮

HTTP 圧縮は Web サーバや Web ブラウザに組み込まれる機能の 1 つで、サーバとクライアントの間のデータ転送に要する時間を短縮することにより、サイトのパフォーマンスを向上します。ACE で圧縮を実行することにより、その作業を Web サーバが負担せずに済みます。ACE での HTTP 圧縮を有効にすると、そのアプライアンスは「Accept-Encoding ID」が付いたクライアント要求を上書きして、サーバ側接続での圧縮をオフにします。HTTP 圧縮により、ACE からクライアントまでの Web コンテンツの転送に関連する帯域幅が縮小されます。


) ご使用のブラウザでの圧縮の互換性については、そのブラウザの Web サイトを参照してください。


デフォルトでは、ACE での HTTP 圧縮は無効になっています。ACE での HTTP 圧縮を設定すると、そのアプライアンスは実サーバからの HTTP GET 応答や HTTP POST 応答の際のデータを圧縮します。ACE は、クライアントからの HTTP 要求や、サーバからの応答に含まれている HTTP ヘッダーは圧縮しません。

ACE は、HTTP バージョン 1.1 以降の接続でのサーバの応答データを圧縮できます。ACE は、以下の条件では応答データを圧縮せずに、そのままクライアントに受け渡します。

HTTP バージョン 1.0 の応答

2 nn とは異なるリターン コードを持つ応答

以下の HTTP ヘッダーが含まれている応答

chach-control:変換しない

content-MD5:


) ACE は、persistence-rebalance が有効であるかどうかにかかわらず、クライアント要求ごとに圧縮の決定を行います。


HTTP 1.1 では、データのさまざまなエンコーディングが可能です。ACE でサポートされているエンコーディングの値は次のとおりです。

deflate(RFC1951 に記載されている圧縮のデータ形式)

gzip(RFC1952 に記載されている圧縮のファイル形式)

クライアントは主にそのエンコーディング機能を、HTTP 要求ヘッダーに含まれている Accept-Encoding フィールドを介して知らせます。ACE は、Accept-Encoding フィールド内の圧縮トークンを使用して、応答で使用する圧縮エンコーディングのタイプを決定します。

クライアント要求によって Accept-Encoding フィールドに deflate または gzip エンコーディングが指定された場合、ACE は deflate または gzip のいずれかを使用して、クライアントへの応答内容を圧縮およびエンコードします。両方のエンコーディング形式が Accept-Encoding フィールドに指定されている場合、ACE からの応答は、レイヤ 7 SLB ポリシー マップ内の compress default-method コマンドに従ってエンコードされます。

HTTP 圧縮は、主にテキスト ベースのコンテンツ タイプを対象にしています。以下に、テキスト ベースのコンテンツ タイプの例を示します。

text/html

text/plain

text/xml

text/css

application/x-javascript

レイヤ 7 SLB ポリシー マップと一致するパケットの圧縮を ACE に指示するには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで compress コマンドを使用します。クライアントからの HTTP 圧縮要求に ACE が応答する際に使用する圧縮形式を定義します。

デフォルトでは、ACE は 100 Mbps のレートでの HTTP 圧縮をサポートしています。オプションの HTTP 圧縮ライセンスをインストールすることにより、この値を最大の 2 Gbps に引き上げることができます。ACE ライセンス オプションの詳細については、『 Cisco 4700 Series Application Control Engine Appliance Administration Guide 』を参照してください。


compress コマンド オプションは、HTTP タイプのクラス マップをポリシー マップに関連付けた場合にのみ表示されます。


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

compress default-method {deflate | gzip}

キーワードは次のとおりです。

deflate -- クライアントのブラウザが deflate と gzip の両方の圧縮方式をサポートしている場合に使用する方式として、deflate 圧縮形式を指定します。

gzip -- クライアントのブラウザが deflate と gzip の両方の圧縮方式をサポートしている場合に使用する方式として、gzip 圧縮形式を指定します。

HTTP 圧縮を有効にすると、ACE は以下のデフォルト圧縮パラメータ値を使用してパケットを圧縮します。

MIME(Multipurpose Internet Mail Extension)タイプ -- すべてのテキスト形式(text/.*)

最小コンテンツ長サイズ -- 512 バイト(ACE はこれより小さなパケットを圧縮せずに転送)

ユーザ エージェントの除外 -- 除外されるユーザ エージェントなし

HTTP パラメータ マップを使用して、これらの圧縮パラメータを修正できます。詳細については、「HTTP パラメータ マップの設定」を参照してください。

たとえば、Accept-Encoding のクライアント要求に両方の圧縮形式が含まれている場合に、圧縮を有効にして gzip を HTTP 圧縮方式として指定するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# compress default-method gzip
 

HTTP 圧縮を無効にするには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no compress default-method gzip
 

要求の廃棄

特定のポリシー マップと一致するパケットの廃棄を 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 4700 Series Application Control Engine Appliance 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 は、バックアップ サーバ ファームへの既存の接続を終了できます。部分的なサーバ ファーム フェールオーバーを設定することにより、プライマリ サーバ ファームがフェールオーバーして再び使用可能になる条件を微調整できます。部分的なサーバ ファーム フェールオーバーの詳細については、 第2章「実サーバおよびサーバ ファームの設定」 「部分サーバ ファーム フェールオーバーの設定」を参照してください。バックアップ サーバ ファームとして指定する既存サーバ ファームの名前を入力します。最大 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 はクライアントをプライマリ サーバ ファームに戻します。部分的なサーバ ファーム フェールオーバーを設定することにより、プライマリ サーバ ファームがフェールオーバーして再び使用可能になる条件を微調整できます。部分的なサーバ ファーム フェールオーバーの詳細については、 第2章「実サーバおよびサーバ ファームの設定」 「部分サーバ ファーム フェールオーバーの設定」を参照してください。

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

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

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 文字)。スティッキ グループについては、 第5章「スティッキ機能の設定」 を参照してください。

次のように入力します。

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 4700 Series Application Control Engine Appliance 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 4700 Series Application Control Engine Appliance Security Configuration Guide 』を参照)

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

case-insensitive

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

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

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

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

HTTP 圧縮パラメータの定義

ACE で HTTP 圧縮が有効になっている場合、そのアプライアンスは以下のデフォルト圧縮パラメータ値を使用してパケットを圧縮します。

MIME(Multipurpose Internet Mail Extension)タイプ -- すべてのテキスト形式(text/.*)

最小コンテンツ長サイズ -- 512 バイト

ユーザ エージェントの除外 -- 除外されるユーザ エージェントなし

ACE で HTTP トラフィックを圧縮する際に使用されるパラメータを修正するには、 compress コマンドを使用します。

HTTP 圧縮の実行とパケットの圧縮を ACE に指示するには、レイヤ 7 SLB ポリシー マップでアクションとして compress コマンドを指定します。クライアントからの HTTP 圧縮要求に ACE が応答する際に使用する圧縮方式を定義します。「レイヤ 7 SLB ポリシー アクションの指定」を参照してください。

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

compress { mimetype タイプ/サブタイプ | minimum-size サイズ | user-agent 文字列 }

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

mimetype タイプ/サブタイプ -- 圧縮する MIME(Multipurpose Internet Mail Extension)タイプを指定します。デフォルトは text/.* で、すべてのテキスト MIME タイプ(text/html、text/plain など)を含みます。

minimum-size サイズ -- 圧縮が行われるしきい値を指定します。 ACE は最小サイズ以上のファイルを圧縮します。範囲は 1 ~ 4096 バイトです。デフォルトは 512 バイトです。

user-agent 文字列 -- 照合する要求内のテキスト文字列を指定します。ユーザ エージェントとは要求を開始するクライアントのことです。ユーザ エージェントの例としては、ブラウザ、エディタなどのエンド ユーザ ツールが挙げられます。一致するユーザ エージェント文字列が要求に含まれている場合、 ACE はその要求に対する応答を圧縮しません。最大サイズは 64 文字です。デフォルトは指定なしです。

たとえば、すべてのイメージ MIME タイプの圧縮を指定するには、次のように入力します。

host1/Admin(config-parammap-http)# compress mimetype image/.*
 

たとえば、圧縮が行われるしきい値を指定するには、次のように入力します。

host1/Admin(config-parammap-http)# compress minimum-size 1000
 

たとえば、ユーザ エージェント文字列 .*Konqueror.* を設定するには、次のように入力します。

host1/Admin(config-parammap-http)# compress user-agent .*Konqueror.*

すべての HTTP 要求または応答のヘッダーを修正するように ACE を設定する

デフォルトでは、 persistence-rebalance コマンドがイネーブルになっていて ACE で HTTP ヘッダーを修正(挿入、削除、または書き換え)するように設定した場合、ACE は最初の HTTP 要求または応答に対してのみ、その処理を実行します。 persistence-rebalance コマンドは、各々の要求または応答に対してヘッダーの修正を実行するよう ACE に指示しますが、さらに各々の新しい要求を新しい実サーバの候補にロード バランシングすることも ACE に指示します。
persistence-rebalance
コマンドの詳細については、「HTTP 持続性再バランスの設定」を参照してください。ヘッダーの挿入、削除、または書き換えの詳細については、「HTTP ヘッダーの挿入、削除、および書き換えの設定」を参照してください。

persistence-rebalance コマンドによって生じる、各々の新しい HTTP 要求のロード バランシングの実行という副作用なしに、すべての HTTP 要求または応答に対してヘッダーを修正(挿入、削除、または書き換え)するように ACE に指示するには、パラメータ マップ HTTP コンフィギュレーション モードで header modify per-request コマンドを使用します。このコマンドは、 persistence-rebalance がイネーブルになっている場合にのみ効果があります。このコマンドの構文は、次のとおりです。

header modify per-request

header modify per-request コマンドも、 ssl url rewrite location コマンドがイネーブルになっている場合に、すべての HTTP 応答に対して URL ロケーション ヘッダーの書き換えを実行するよう ACE に指示します。SSL の URL 書き換えに関する詳細については、『 Cisco 4700 Series Application Control Engine Appliance SSL Configuration Guide 』を参照してください。

たとえば、すべての HTTP 要求または応答に対してヘッダーの修正を実行するよう ACE に指示するには、次のコマンドを入力します。

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

ACE の動作を、最初の HTTP 要求または応答に対してのみヘッダーを修正するというデフォルト状態に戻すには、次のコマンドを入力します。

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 !@#$

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

デフォルトでは、cookie、HTTP ヘッダーまたは URL のチェックのために ACE が解析するバイト数は最大 2048 です。cookie、HTTP ヘッダーまたは URL がこのデフォルト値を超えると、ACE はそのパケットを廃棄し、クライアントのブラウザに RST(リセット)を送信します。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 ヘッダーの最大解析長をデフォルトの 2048 バイトにリセットする場合は、次のように入力します。

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 要求ごとにサーバ側接続を作成し直すことがなくなるので、オーバーヘッドが軽減され、パフォーマンスが向上します。

持続性再バランスがイネーブルになっているときに接続が確立されると(最初の GET 要求がロード バランシングされている状態)、ACE は後続の要求をすべて同じ宛先に送信します。同じ接続を介した同じクライアントからの一連の GET 要求に関する最初のロード バランシングの決定後は、ロード バランシングは無関係になります。

持続性再バランスのもう 1 つの効果は、ヘッダー挿入および cookie 挿入がイネーブルの場合に、それらの挿入が最初の要求だけではなく、あらゆる要求に対して行われることです。ヘッダー挿入については、この章の「HTTP ヘッダー挿入の設定」を参照してください。cookie の挿入については、 第5章「スティッキ機能の設定」 「cookie 挿入のイネーブル化」を参照してください。

デフォルトでは、持続性再バランスは HTTP パラメータ マップを設定する際にイネーブルになります。コンフィギュレーションに HTTP パラメータ マップが存在しない状態で、 http タイプまたは generic タイプのレイヤ 7 SLB ポリシー マップを設定し、それをレイヤ 4 multi-match ポリシー マップに関連付けて、以下のいずれかの条件が存在する場合にも、持続性再バランスはデフォルトでイネーブルになります。

SLB ポリシー内のクラス マップが class-default ではない


http タイプまたは generic タイプの SLB ポリシー マップでデフォルトのクラス マップを指定して、その他のレイヤ 7 の機能が設定されていない場合、そのポリシーはレイヤ 4 ポリシーとなり、持続性再バランスはデフォルトでディセーブルになります。


IP ネットマスクのスティッキ性を除く、いずれかのタイプのスティッキ性が設定されている

プレディクタが IP アドレスに基づいていない

アクション リスト、圧縮、HTTP ヘッダー挿入、または SSL プロキシ サービスを設定している

持続性再バランス機能を(ディセーブルにしたあとで)イネーブルにするには、HTTP パラメータ マップ コンフィギュレーション モードで
persistence-rebalance
コマンドを使用します。必ず HTTP パラメータ マップをレイヤ 4 multi-match ポリシー マップに適用してください。

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

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 4096 length-exceed continue
host1/Admin(config-parammap-http)# persistence-rebalance
 

persistence-rebalance コマンドをディセーブルにするには、HTTP パラメータ マップに次のコマンドを入力して、そのパラメータ マップをレイヤ 4 ポリシー マップに関連付けます。

host1/Admin(config-parammap-http)# no persistence-rebalance

TCP サーバ再利用の設定

TCP サーバ再利用を使用すると、接続を持続させ、複数のクライアント接続に再利用させることによって、ACE はオープン接続の数を減らすことができます。ACE は、TCP オプションに基づいて TCP 接続のプールを維持します。新しいクライアント接続と以前のサーバ接続が同じ TCP オプションを共有している場合、新しいクライアント接続はプール内の接続を再利用できます。ACE による TCP オプションの扱い方を設定する方法については、『 Cisco 4700 Series Application Control Engine Appliance Security Configuration Guide 』を参照してください。

この機能を正しく動作させるために、TCP サーバ再利用に関する次の推奨事項および制約事項に従ってください。

ACE Maximum Segment Size(MSS; 最大セグメント サイズ)をサーバ MSS と同じにする必要があります。

実サーバに接続するインターフェイス上で Port Address Translation(PAT; ポート アドレス変換)を設定します。PAT によって、クライアントがサーバ接続の使用を中止し、その後、別のクライアントがその接続を再利用する場合のコリジョンが防止されます。PAT を使用しなかった場合、最初のクライアントが最初のサーバ接続を再利用しようとしても、利用できません。PAT 設定の詳細については、『 Cisco 4700 Series Application Control Engine Appliance Security Configuration Guide 』を参照してください。

TCP サーバ上で設定されているのと同じ TCP オプションを ACE 上で設定します。

各サーバ ファームが同質(サーバ ファーム内のすべての実サーバでコンフィギュレーションが同じ)であることを確認します。


) TCP を再利用する場合は必ず、PAT を設定します。TCP の再利用と NAT のみを設定すると、予期せぬ結果が発生する場合があります。


TCP サーバ再利用のもう 1 つの効果は、ヘッダー挿入および cookie 挿入がイネーブルの場合に、それらの挿入が最初の要求だけではなく、あらゆる要求に対して行われることです。ヘッダー挿入については、この章の「HTTP ヘッダー挿入の設定」を参照してください。cookie の挿入については、 第5章「スティッキ機能の設定」 「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 4700 Series Application Control Engine Appliance 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 コマンドを削除できます。

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 4700 Series Application Control Engine Appliance 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 ポリシー マップに関連付ける方法

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 4700 Series Application Control Engine Appliance 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

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 要求への応答を中止します。プローブ設定の詳細については、 第4章「ヘルス モニタリングの設定」 を参照してください。


) 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 oos-arpreply enable
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 ブースター機能を設定します。この機能は、統計ロード バランシング アルゴリズムが適切であるアプリケーションに適しています。この機能の最も一般的なアプリケーションは 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 より大きい必要があります。そうでないと、この機能は正しく動作しません。


) この機能は、パケット単位の UDP ロード バランシング(UDP ファスト エージングとも呼ばれる)など、どのレイヤ 7 機能でも設定しないでください。そうしないと、予期せぬ結果が発生する場合があります。パケット単位の UDP ロード バランシングの詳細については、「UDP トラフィックのパケット単位のロード バランシングのイネーブル化」を参照してください。


UDP ブースター機能を設定するには、インターフェイス コンフィギュレーション モードで udp コマンドを使用します。このコマンドの構文は次のとおりです。

udp {ip-source-hash | ip-destination-hash}

キーワードは次のとおりです。

ip-source-hash -- 接続を照合する前に、送信元ハッシュ VLAN インターフェイスにヒットする UDP パケットの送信元 IP アドレスをハッシュするよう、ACE に指示します。このキーワードをクライアント側のインターフェイスに設定します。

ip-destination-hash -- 接続を照合する前に宛先ハッシュ VLAN インターフェイスにヒットする UDP パケットの宛先 IP アドレスをハッシュするよう、ACE に指示します。このキーワードをサーバ側のインターフェイスに設定します。


) この機能を使用するには、適切なインターフェイス上で両方のキーワードを設定し、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
 

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 ロード バランシングの設定例

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

実サーバおよびサーバ ファームの設定の詳細については、 第2章「実サーバおよびサーバ ファームの設定」 を参照してください。

レイヤ 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 アドレスを受信すると、ACE はデータ フレームを適切なサーバに転送します。

ロード バランシングされたサービス ゲートウェイ環境では、ACE は定義された発信側ステーション ID またはユーザ名範囲を特定のサーバ ファームにマッピングすることで、データセンターのパーティション化されたサブスクライバ データベースをサポートします。この機能により、各サーバ ファームに稼働するサブスクライバの制限セットを設定できるように、サブスクライバ データベースをパーティション化できます。サブスクライバ アトリビュートに対する一致基準に RADIUS クラス マップを設定することで、サブスクライバ アトリビュートを指定できます。

ACE は RADIUS アカウンティングのオン/オフ メッセージをロード バランシングしません。代わりに、RADIUS ロード バランシング ポリシーに設定されたサーバ ファームの実サーバごとに、これらのメッセージを複製します。

ここでは、RADIUS ロード バランシングの設定について説明します。

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

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

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

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

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

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

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

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

実サーバおよびサーバ ファームの設定の詳細については、 第2章「実サーバおよびサーバ ファームの設定」 を参照してください。

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

次の基準のいずれかに基づいて、RADIUS スティッキ グループを設定できます。

フレーム化された 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 によって特定)を、そのユーザ セッションの最初のメッセージと同じサーバに確実に送信します。複数のセッションが同じクライアントから発信できます。

ステップ 2 サーバ ファームとスティッキ グループを関連付けます。

host1/admin(config-sticky-radius)# serverfarm sf2
 


 

RADIUS スティッキ性の設定の詳細については、 第5章「スティッキ機能の設定」 を参照してください。

レイヤ 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 データ パケットを、ACE が同じクライアントからの RADIUS パケットを送信した先の同じサーバへ転送するようACE を設定できます。この機能は、Cisco Services Selection Gateway(SSG)を装備したモバイル ワイヤレス実装で使用されます。エンド ユーザ トラフィックは、ロード バランサをパススルーし、フレーム化された 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
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 4700 Series Application Control Engine Appliance Security Configuration Guide 』を参照してください。

ここでは、RTSP ロード バランシングの設定について説明します。

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

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

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

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

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

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

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

実サーバおよびサーバ ファームの設定の詳細については、 第2章「実サーバおよびサーバ ファームの設定」 を参照してください。

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
 


 

スティッキ性の設定の詳細については、 第5章「スティッキ機能の設定」 を参照してください。

レイヤ 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 4700 Series Application Control Engine Appliance Security Configuration Guide 』を参照してください。

ここでは、SIP ロード バランシングの設定について説明します。

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

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

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

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

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

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

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

実サーバおよびサーバ ファームの設定の詳細については、 第2章「実サーバおよびサーバ ファームの設定」 を参照してください。

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 スティッキ性の設定の詳細については、 第5章「スティッキ機能の設定」 を参照してください。

レイヤ 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 | rtsp | sip ]

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

radius -- (任意)現在のコンテキストに関連付けられている RADIUS のロード バランシング統計情報を表示します。

rdp -- (任意)現在のコンテキストに関連付けられている RDP のロード バランシング統計情報を表示します。

rtsp -- (任意)現在のコンテキストに関連付けられている RTSP のロード バランシング統計情報を表示します。

sip -- (任意)現在のコンテキストに関連付けられている SIP のロード バランシング統計情報を表示します。

たとえば、すべてのロード バランシング統計情報を表示するには、次のように入力します。

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 が検索するローカル ACE の正しいリモート ID を送信しなかった場合、または ID Map テーブルが作成されなかったため、ローカル ACE がマッピングを実行できなかった場合、障害が発生する可能性があります。

Total Cipher Lookup Failures

未サポートの SSL 暗号(「HTTP ロード バランシング用の SSL 暗号ベースの暗号化レベルの定義」を参照)の要求を SSL モジュールが受信した合計回数

表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

受信された再送信済みの RADIUS 要求の総数

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 スティッキ エントリをヒットする End-user パケットの総数

Total End-user Packet Sticky Failure

以前に RADIUS AAA 処理の際に作成された FIP スティッキ エントリをヒットしない End-user パケットの総数

Total Acct-On/Off Requests Received

受信された RADIUS アカウンティングのオン/オフ要求の総数

Total Acct-On/Off Responses Received

受信された 受信された RADIUS アカウンティングのオン/オフ応答の総数

Total Acct-On/Off with No Rules

有効なポリシーが見つからなかった 受信された RADIUS アカウンティングのオン/オフ要求の総数

Total Acct-On/Off Req Processing Done

ACE によって正常に処理された RADIUS アカウンティングのオン/オフ要求の総数

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 Parse Results Received

ロード バランス モジュールによって受信された RDP の解析結果の総数

Total Packets Load Balanced

ロード バランシングされた RDP パケットの総数

Total Packets with Routing Token

ルーティング トークンが含まれている受信済み RDP パケットの総数

Total Packets with Token Matching No Rserver

ルーティング トークンが設定済みの実サーバと一致しない RDP パケットの総数

表3-11 に、 show stats loadbalance rtsp コマンドで出力される各フィールドの説明を示します。

 

表3-11 show stats loadbalance rtsp コマンド出力のフィールドの説明

フィールド
説明

Total sessions Allocated

割り当てられた RTSP セッションの総数

Total Sessions Failed

RTSP セッションの割り当てに失敗した総数

Total Sticky Entries Added

Calling RTSP ヘッダーに基づいて追加されたスティッキ エントリの総数

表3-12 に、 show stats loadbalance sip コマンドで出力される各フィールドの説明を示します。

 

表3-12 show stats loadbalance sip コマンド出力のフィールドの説明

フィールド
説明

Total sessions Allocated

割り当てられた SIP セッションの総数

Total Sessions Failed

SIP セッションの割り当てに失敗した総数

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

HTTP パラメータ マップの統計情報を表示するには、EXEC モードで show parameter-map コマンドを使用します。このコマンドの構文は次のとおりです。

show parameter-map name

name 引数は、HTTP パラメータ マップの識別子です。最大 64 文字の英数字を、引用符で囲まずに入力します。

たとえば、HTTP_PARAMMAP という HTTP パラメータ マップの統計情報を表示する場合は、次のように入力します。

host1/Admin# show parameter-map HTTP_PARAMMAP
 

表3-13 で、HTTP パラメータ マップに関する show parameter-map コマンドの出力に含まれる、各フィールドについて説明します。

 

表3-13 show parameter-map コマンド出力のフィールド

フィールド
説明

Parameter-map

HTTP パラメータ マップを表す UID

Type

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-14 で、 show service-policy detail コマンド出力のフィールドについて説明します。

 

表3-14 show service-policy detail コマンド出力のフィールド

フィールド
説明

Status

サービス ポリシーの現在の動作状態。ACTIVE または INACTIVE です。

Description

ユーザが入力したポリシー マップに関する説明

Interface

ポリシー マップが適用されたインターフェイスの VLAN ID

Service Policy

ポリシー マップの UID

Class

サービス ポリシーに関連付けられているクラス マップの名前

Loadbalance

L7 Policy

サービス ポリシーに関連付けられている L7 ポリシー マップの名前

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 | rtsp | sip ]

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

radius -- (任意)RADIUS のロード バランシング統計情報を消去します。

rdp -- (任意)RDP のロード バランシング統計情報を消去します。

rtsp -- (任意)RTSP のロード バランシング統計情報を消去します。

sip -- (任意)SIP のロード バランシング統計情報を消去します。

次のように入力します。

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 統計情報を明示的に消去する必要があります。アクティブ アプライアンス上の統計情報を消去しても、スタンバイ アプライアンスの統計情報は古い値のまま残ります。


次の作業

実サーバのヘルス プローブを設定する場合は、 第4章「ヘルス モニタリングの設定」 に進んでください。スティック性(接続の持続性)を設定する場合は、 第5章「スティッキ機能の設定」 を参照してください。ファイアウォール負荷分散を設定する場合は、 第6章「ファイアウォール負荷分散の設定」 を参照してください。