この章では、トラフィック クラスで定義された分類と一致するトラフィックに対して、アプリケーション アクセラレーションおよび最適化機能を実行することを Cisco 4700 Series Application Control Engine(ACE)アプライアンスに指示するように、トラフィック ポリシーを設定する方法について説明します。この章の主な内容は、次のとおりです。
• トラフィック ポリシー コンフィギュレーション クイック スタート
• SLB に関するレイヤ 7 クラス マップおよびポリシー マップの設定
• SLB に関するレイヤ 3 およびレイヤ 4 クラス マップの設定
• SLB およびアプリケーション アクセラレーションに対応するレイヤ 3 およびレイヤ 4 ポリシー マップの設定
• 次の作業
表4-1 に、アプリケーション アクセラレーションおよび最適化トラフィック ポリシーの設定に必要なステップの概要を示します。ステップごとに、CLI コマンドおよび作業に必要な手順の参照を示します。各機能および CLI コマンドに関連する全オプションの詳細については、 表4-1 の後ろの各セクションを参照してください。
|
---|
1. この表では以後、特に指定しないかぎり、管理コンテキストを使用します。コンテキスト作成の詳細については、『 Cisco 4700 Series Application Control Engine Appliance Administration Guide 』を参照してください。 |
|
3. |
4. |
5. |
6. |
7. |
8. |
9. |
10. |
11. |
|
図 4-1 に、ACE が SLB およびアプリケーション アクセラレーションに使用するレイヤ 7、レイヤ 3、およびレイヤ 4 のアクション リスト、パラメータ マップ、およびトラフィック ポリシーを作成して適用するために必要なプロセスの概要を示します。図には、ポリシー コンフィギュレーションの各種コンポーネントを相互に関連付ける方法も示します。
図 4-1 アプリケーション アクセラレーションおよび最適化のコンフィギュレーション フロー図
レイヤ 7 ポリシー マップと関連付けるレイヤ 7 クラス マップは、ユーザが指定した SLB 条件と一致するトラフィックのフィルタとして機能します。一致条件は、次の HTTP ロード バランシング アトリビュートの形式をとります。
レイヤ 7 SLB クラス マップを作成するには、コンフィギュレーション モードで class-map type http loadbalance コマンドを使用します。
レイヤ 7 SLB ポリシー マップを作成するには、コンフィギュレーション モードで policy-map type loadbalance first-match コマンドを使用します。
レイヤ 7 SLB クラス マップおよびポリシー マップを設定する詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。
ポリシー マップでは、トラフィック クラスで定義された分類と一致するトラフィックに実行する一連の処理に、前もって定義されたトラフィック クラス(クラス マップ)を関連付けます。レイヤ 7 最適化 HTTP ポリシー マップでは、HTTP 最適化アクション リストを関連付け、さらに任意で、指定されたアプリケーション アクセラレーションおよび最適化処理を設定するパラメータ マップを関連付けます。
完成したレイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付けて、VLAN インターフェイス上の処理をアクティブにします(「SLB およびアプリケーション アクセラレーションに対応するレイヤ 3 およびレイヤ 4 ポリシー マップの設定」を参照)。
• レイヤ 7 最適化 HTTP ポリシー マップの説明の追加
• レイヤ 7 コマンド最適化 HTTP ポリシー マップにインライン match 文を組み込む方法
• レイヤ 7 SLB クラス マップとレイヤ 7 HTTP 最適化ポリシー マップの関連付け
• ポリシー マップへのアクション リストおよびパラメータ マップの追加
トラフィック ポリシーを指定し、アプリケーション アクセラレーションおよび最適化処理を開始するには、コンフィギュレーション モードで policy-map type optimization http コマンドを使用します。このコマンドのシンタックスは、次のとおりです。
policy-map type optimization http first-match map_name
• http first-match -- ACE に実行させるレイヤ 7 HTTP 最適化処理を定義する、ポリシー マップを指定します。 first-match キーワードでは、レイヤ 7 最適化 HTTP ポリシー マップの実行を定義します。ACE が実行するのは、first-matching 分類に対して指定された処理だけです。
• map_name -- ポリシー マップに割り当てた名前。引用符を使用しないで、スペースを含まないテキスト ストリングを入力します。最大文字数は英数字 64 文字です。
レイヤ 7 最適化 HTTP ポリシー マップを作成し、ポリシー マップ最適化コンフィギュレーション モードにアクセスする場合の入力例を示します。
ACE からレイヤ 7 最適化ポリシー マップを削除する場合は、次のように入力します。
レイヤ 7 最適化 HTTP ポリシー マップの概要を指定するには、 description コマンドを使用します。
text 引数を使用して、引用符なしのテキスト ストリングを入力します。英数字で 240 文字まで使用できます。
ポリシー マップでデルタ最適化を実行するという説明を追加する場合の入力例を示します。
ポリシー マップから説明を削除する場合は、次のように入力します。
トラフィック クラスを指定しないで、ポリシー マップにインラインの一致条件を 1 つ含める場合には、適切なレイヤ 7 match コマンドを入力します。インライン レイヤ 7 ポリシー マップの match コマンドの機能は、レイヤ 7 SLB クラス マップの match コマンドと同じです。しかし、インライン match コマンドを使用する場合は、レイヤ 7 ポリシー マップの 1 つの match 文に対してのみ、処理を指定できます。
(注) 複数の match 文に処理を指定する場合は、レイヤ 7 SLB クラス マップを使用します。『Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide』を参照してください。
インライン match コマンドのシンタックスは、次のとおりです。
match name match_statement [ insert-before map_name ]
• name -- インライン match コマンドに割り当てる名前を指定します。引用符を使用しないで、スペースを含まないテキスト ストリングを入力します。最大文字数は英数字 64 文字です。インライン match 文の名前の長さに、関連付けるポリシー マップ名の長さを加えた合計が、英数字で 64 文字を超えないようにする必要があります。たとえば、ポリシー マップ名が L7_POLICY(9 文字)の場合、このポリシーに関連付けるインライン match 文の名前は、最大で英数字 55 文字(64 - 9 = 55)です。
• match_statement -- ポリシー マップに使用させるインラインの一致条件を指定します。レイヤ 7 FTP コマンド インスペクション クラス マップに関連する match コマンドの詳細については、下記を参照してください。
• insert-before map_name -- (任意)ポリシー マップ コンフィギュレーションで、既存のクラス マップの前にインライン match コマンドを配置します。
HTTP 最適化ポリシー マップのインライン match コマンド シンタックスに含まれるものは、次のとおりです。
個々のインライン match コマンドの詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。
testcookie1 という名前の cookie で、レイヤ 7 最適化ポリシー マップ ロードバランスを実行することを指定する場合の入力例を示します。
既存のレイヤ 7 SLB クラス マップとレイヤ 7 最適化 HTTP ポリシー マップを関連付けるには、 class コマンドを使用します。このコマンドのシンタックスは、次のとおりです。
class { name1 [ insert-before name2 ] | class-default}
• name1 -- class-map コマンドで設定され、トラフィックをトラフィック ポリシーに関連付ける、定義済みのレイヤ 7 SLB クラス マップ名。引用符を使用しないで、スペースを含まないテキスト ストリングを入力します。最大文字数は英数字 64 文字です。
• insert-before name2 -- (任意)ポリシー マップ コンフィギュレーションの name2 引数で指定された、既存のクラス マップまたは match 文の前に、現在のクラス マップを配置します。ACE は、コンフィギュレーションの一部としてシーケンスの並べ替えを保存しません。
• class-default -- ACE によって作成された、予約済みの well-known クラス マップを指定します。このクラスは削除も変更もできません。指定されたクラス マップのその他の一致条件を満たさなかったトラフィックはすべて、デフォルト トラフィック クラスに属します。指定された分類がどれもトラフィックと一致しなかった場合、ACE は class class-default コマンドで指定された処理を実行します。 class-default クラス マップには、すべてのトラフィックを一致させる match any 文が暗黙指定されます。
レイヤ 7 ポリシー マップからクラス マップを削除する場合は、次のように入力します。
insert-before オプションを使用して、ポリシー マップにおけるクラス マップの位置を定義する場合の入力例を示します。
class class-default コマンドを使用する場合の入力例を示します。
action コマンドを使用すると、アプリケーション アクセラレーションおよび最適化のための特定のアクション セットを実行できます。レイヤ 7 最適化 HTTP ポリシー マップは、特定のアクションを設定する、最適化 HTTP アクション リストを使用できるようにします。最適化 HTTP アクション リストを作成する詳細については、「最適化HTTP アクション リストの設定」を参照してください。
最適化 HTTP ポリシー マップで任意の最適化 HTTP パラメータ リストを指定すると、アクション リストとパラメータ マップ間の関連を特定できます。最適化 HTTP アクション リストでは何を行うかを定義するのに対して、最適化 HTTP パラメータ マップではアクションの実行方法について、具体的な詳細を定義します。最適化 HTTP パラメータ マップを作成する詳細については、「最適化HTTP パラメータ マップの設定」を参照してください。
action list_name [ parameter map_name ]
• list_name -- 既存アクション リストの固有名。最大 64 文字で、引用符なしのテキスト ストリングとして指定します。
• parameter -- (任意)ACE に実行させるアプリケーション アクセラレーションおよび最適化機能に伴う、最適化関連コマンドを指定します。パラメータ マップでは、対応するアクション リストで指定されたアクションを調整または制御する機能をグループとしてまとめます。
• map_name -- 既存パラメータ マップの固有名。最大 64 文字で、引用符なしのテキスト ストリングとして指定します。
既存アクション リストと既存パラメータ マップを関連付け、レイヤ 7 HTTP 最適化ポリシー マップのアクションを制御する場合の入力例を示します。
レイヤ 7 HTTP 最適化ポリシー マップからアクション リストを削除する場合は、次のように入力します。
レイヤ 3 およびレイヤ 4 クラス マップでは、ACE を通過できるネットワーク トラフィックを分類するための、一致条件を指定します。ACE はレイヤ 3 およびレイヤ 4 トラフィック クラスを使用して、サーバ ロード バランシング(SLB)を実行します。レイヤ 3 およびレイヤ 4 のトラフィック分類では、クラス マップの一致条件に ACE の VIP アドレス、プロトコル、およびポートを指定します。1 つのクラス マップで複数のコマンドを設定し、グループとして一致条件を指定してから、トラフィック ポリシーと関連付けることができます。
ACE を通過させるネットワーク トラフィックを分類するために、レイヤ 3 およびレイヤ 4 クラス マップを作成するには、コンフィギュレーション モードで class-map コマンドを使用します。レイヤ 3 およびレイヤ 4 SLB クラス マップを設定する詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。
VIP 関連の SLB 処理を指定した、レイヤ 3 およびレイヤ 4 ポリシー マップを作成します。さらに、ACE に実行させる HTTP 最適化サービスを設定できます。このプロセスによって、関連付けられた HTTP 最適化アクション リストおよびパラメータ マップの特定の機能が、指定された VIP に結合されます。
レイヤ 3 およびレイヤ 4 のネットワーク トラフィック レベルで、ネットワーク トラフィック機能ごとに、ポリシー マップが 1 つずつ存在します。レイヤ 3 およびレイヤ 4 ポリシー マップは相応に分類され、 service-policy コマンドによって単一インターフェイスに、またはコンテキストの全インターフェイスにグローバルに、これらのポリシー マップが適用されます。
ACE は、すべてのレイヤ 7 ポリシー マップを子ポリシーとして扱うので、レイヤ 7 SLB およびレイヤ 7 HTTP 最適化ポリシー マップを必ず、レイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける必要があります。インターフェイスに、またはコンテキストの全インターフェイスにグローバルとして適用できるのは、レイヤ 3 およびレイヤ 4 のポリシー マップだけです。
レイヤ 3 およびレイヤ 4 クラス マップをポリシー マップに関連付けたあとで、ネットワーク トラフィックがクラス マップの 1 つまたは複数の match 文と一致した場合に、ACE に実行させる SLB および HTTP 最適化アクションを指定します。レイヤ3 および レイヤ 4 の SLB および HTTP 最適化ポリシー アクションを指定する場合は、次のトピックを参照してください。
• レイヤ 3 およびレイヤ 4 のクラス マップおよびポリシー マップの関連付け
• レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法
• レイヤ 7 最適化 HTTP ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける方法
レイヤ 3 およびレイヤ 4 の SLB クラス マップをレイヤ 3 およびレイヤ 4 のポリシー マップに関連付けるには、ポリシー マップ コンフィギュレーション モードで 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 は実行コンフィギュレーションのコマンドを保存しませんが、ポリシー マップにクラス マップが設定されている順序は維持します。
レイヤ 3 およびレイヤ 4 クラス マップを関連付ける場合の入力例を示します。
レイヤ 3 およびレイヤ 4 ポリシー マップからクラス マップを削除する場合は、次のように入力します。
レイヤ 7 SLB ポリシー マップをレイヤ 3 およびレイヤ 4 のポリシー マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance コマンドを使用します。レイヤ 7 SLB ポリシー マップを作成する詳細、レイヤ 3 およびレイヤ 4 ポリシー アクションを指定する詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。
policy name キーワードおよび引数では、既存レイヤ 7 SLB ポリシー マップの識別情報を指定します。引用符を使用しないで、スペースを含まないテキスト ストリングとして名前を入力します。最大文字数は英数字 64 文字です。
レイヤ 3 およびレイヤ 4 L4SLB_OPTIMIZE_POLICY ポリシー マップ内のレイヤ 7 L7SLB_OPTIMIZE_POLICY を参照する場合の入力例を示します。
レイヤ 3 およびレイヤ 4 のポリシーからレイヤ 7 SLB ポリシーの関連付けを解消する場合は、次のように入力します。
レイヤ 7 HTTP 最適化ポリシー マップをレイヤ 3 およびレイヤ 4 のポリシー マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで optimize http policy コマンドを使用します。レイヤ 7 HTTP 最適化ポリシー マップを作成する詳細については、「レイヤ 7 最適化 HTTP ポリシー マップの作成」を参照してください。
name 引数では、既存レイヤ 7 HTTP 最適化ポリシー マップの識別情報を指定します。引用符を使用しないで、スペースを含まないテキスト ストリングとして名前を入力します。最大文字数は英数字 64 文字です。
レイヤ 3 およびレイヤ 4 L4SLB_OPTIMIZE_POLICY ポリシー マップ内のレイヤ 7 L7OPTIMIZATION_POLICY を参照する場合の入力例を示します。
レイヤ 3 およびレイヤ 4 のポリシーからレイヤ 7 HTTP 最適化ポリシーの関連付けを解消する場合は、次のように入力します。
次の作業を行うには、service-policy コマンドを使用します。
• 特定の VLAN インターフェイスに、または同じコンテキストのすべての VLAN インターフェイスにグローバルに、トラフィック ポリシーを接続します。
• インターフェイスの入力方向に、トラフィック ポリシーを接続することを指定します。
service-policy コマンドは、インターフェイス コンフィギュレーション モードとコンフィギュレーション モードの両方で使用できます。インターフェイス コンフィギュレーション モードでポリシー マップを指定すると、特定の VLAN インターフェイスにポリシー マップが適用されます。コンフィギュレーション モードでポリシー マップを指定すると、コンテキストに関連付けられたすべての VLAN インターフェイスにポリシーが適用されます。
service-policy input policy_name
• input -- VLAN インターフェイスの入力方向に、トラフィック ポリシーを接続することを指定します。トラフィック ポリシーは、そのインターフェイスで受信したすべてのトラフィックを評価します。
• policy_name -- 作成済みの policy-map コマンドで設定された、すでに定義されているポリシー マップの名前を指定します。名前には最大 64 の英数字を使用できます。
VLAN インターフェイスを指定し、VLAN にレイヤ 3 およびレイヤ 4 のポリシー マップを適用する場合の入力例を示します。
コンテキストに関連付けられたすべての VLAN に、レイヤ 3 およびレイヤ 4 のポリシー マップをグローバルに適用する場合の入力例を示します。
VLAN インターフェイスからトラフィック ポリシーを切り離す場合は、次のように入力します。
コンテキストに関連付けられたすべての VLAN から、グローバルにトラフィック ポリシーを切り離す場合は、次のように入力します。
サービス ポリシーを最後に適用した VLAN インターフェイスから個別に、または同じコンテキストのすべての VLAN インターフェイスからグローバルに、トラフィック ポリシーを切り離すと、ACE によって関連するサービス ポリシーの統計情報が自動的にリセットされます。ACE はこの処理を実行することによって、次回、特定の VLAN インターフェイスまたはグローバルに同じコンテキストのすべての VLAN インターフェイスに、トラフィック ポリシーを接続する際、サービス ポリシー統計情報のための新しい出発点を提供します。
サービス ポリシーを作成する場合の注意事項は、次のとおりです。
• コンテキストにグローバルに適用されるポリシー マップは、コンテキストに存在するすべてのインターフェイスに内部的に適用されます。
• VLAN インターフェイス上でアクティブになったポリシーによって、重複する分類およびアクションに関するグローバル ポリシーが指定されていても上書きされます。
「グローバル最適化値の設定」に進み、ACE 上でグローバル最適化を設定します。