この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、ACE モジュールにスティッキ機能(セッション固定と呼ばれることもあります)を設定する方法について説明します。この章の内容は次のとおりです。
• 次の作業
スティッキとは、同じクライアントが 1 つのセッション中に、同一の実サーバと、同時に複数の TCP または IP 接続、または後続の複数の TCP または IP 接続を維持できるようにする ACE 機能です。セッションとは、あるクライアントとサーバの間の一定期間(数分から数時間まで)における連続したトランザクションと定義されています。スティッキは、オンライン ショッピング、特にショッピング カートの確立やチェックアウト プロセス中など、クライアントが同じサーバとの間で複数の接続を維持する必要があるような e-コマース アプリケーションに便利な機能です。
ACE は、設定済みの SLB ポリシーに応じて、使用するロード バランシング方式を判断してから、適切なサーバにクライアントを「固定」します。ACE は、クライアントが特定のサーバにすでに固定されていると判断した場合、一致ポリシーに指定されているロード バランシング基準に関係なく、そのクライアントの要求をそのサーバに送信します。クライアントが特定のサーバに固定されていないと判断した場合、ACE はそのコンテンツ要求に通常のロード バランシング規則を適用します。
• スティッキ方式
e-コマース サイトを訪問するクライアントは、サイトをブラウズすることからインターネット上のウィンドウ ショッピングを始めます。サイトのアプリケーションによっては、接続確立後すぐにクライアントが 1 つのサーバに「固定される」ことが必要な場合もあります。また、クライアントがショッピング カートの確立を開始するまで、このアクションは必要ない場合もあります。
いずれにしても、クライアントがショッピング カートに品物を入れてからは、そのクライアントのすべての要求が同じサーバに送信され、すべての品が 1 つのサーバ上の 1 つのショッピング カートに入るようにすることが重要です。顧客のショッピング カートのインスタンスは通常、特定の Web サーバ上にあり、複数のサーバに重複してはいません。
このようなスティッキ性が必要とされるのは、e-コマース アプリケーションだけではありません。バンキング アプリケーションやオンライン取引など、クライアントの情報を維持するような Web アプリケーションはスティッキ性を必要とする可能性があります。FTP および HTTP のファイル転送にも、スティッキが使用されます。
ACE ではスティッキ グループの考え方を利用してスティッキ機能を設定します。スティッキ グループを使用することによって、スティッキ アトリビュートを指定できます。スティッキ グループとそのアトリビュートの設定後、そのスティッキ グループを、レイヤ 7 SLB ポリシー マップの match ステートメントまたはレイヤ 7 ポリシー マップ アクションと関連付けます。各コンテキストに最大 4096 のスティッキ グループを作成できます。ACE に設定された各スティッキ グループには、次の事項を決定する一連のパラメータが含まれています。
• cookie のオフセットおよびその他の cookie 関連アトリビュート
アプリケーションでは個々のユーザやユーザ グループを区別しなければなりません。そのため、ACE は、特定のユーザを特定の Web サーバに固定する手段を必要とします。ACE は次のスティッキ方式をサポートしています。
• Hypertext Transfer Protocol(HTTP; ハイパーテキスト転送プロトコル)コンテンツ
• Remote Access Dial-In User Service(RADIUS)アトリビュート
• Real-Time Streaming Protocol(RTSP)ヘッダー
• Session Initiation Protocol(SIP)ヘッダー
特定の e-コマース ベンダーにこれらのどの方式が適しているかは、多くの場合、使用する e-コマース アプリケーションによって異なります。
IP ネットマスクに基づいて送信元 IP アドレス、宛先 IP アドレス、またはその両方を使用すると、スティッキを目的として個々のクライアントとその要求を識別できます。ただし、企業やサービス プロバイダーがメガプロキシを使用してインターネットへのクライアント接続を確立している場合、送信元 IP アドレスは、要求の真の送信元として信頼できるインジケータにはなりません。このような場合は、セッションを確実に固定するために cookie またはその他のいずれかのスティッキ方式を使用します。
レイヤ 4 ペイロード スティッキ機能を使用すると、レイヤ 4 フレームのデータに基づきクライアントをサーバに固定できます。開始パターンと終了パターン、解析するバイト数、データの始点から無視するバイト数を指定するオフセットを指定できます。
HTTP コンテンツ スティッキ機能を使用すると、HTTP パケットのコンテンツに基づきクライアントをサーバに固定できます。開始パターンと終了パターン、解析するバイト数、データの始点から無視するバイト数を指定するオフセットを指定できます。
クライアントの cookie によって、ACE およびコンテンツ提供サーバに接続するクライアントを一意に識別できます。cookie は、HTTP ヘッダー内の小さなデータ構造であり、サーバはこれを使用して Web クライアントにデータを送信し、クライアントがその情報を保存するように要求します。一部のアプリケーションでは、クライアントは情報をサーバに返し、クライアントとサーバの間の接続状態または固定状態を維持します。
ACE は、コンテンツ要求を検証し、ポリシーの一致によってそのコンテンツがスティッキ状態であると判断すると、そのコンテンツ要求の cookie または URL を調べます。ACE は、cookie または URL 内の情報を使用して、該当するサーバにコンテンツ要求を転送します。ACE がサポートする cookie スティッキには次のタイプがあります。
• ダイナミック cookie ラーニング - クライアント要求の HTTP ヘッダーまたはサーバの応答内の server Set-Cookie メッセージで特定の cookie 名を探し、自動的にその値を学習するように ACE を設定できます。ダイナミック cookie ラーニングは、同じ cookie 内のセッション ID またはユーザ ID だけでなくその他の情報も保存するようなアプリケーションを扱う場合に適しています。スティッキに使われるのは、cookie 内の特定のバイト値だけです。
デフォルトでは、ACE は cookie 値全体を学習します。オプションとして、オフセットと長さを指定し、cookie 値の一部だけを学習するように ACE に指示することもできます。
あるいは、HTTP 要求内の URL ストリングに示される第 2 の cookie 値を指定することもできます。このオプションでは、ACE は URL の一部として cookie 情報を探索します(最終的には学習または固定します)。URL ラーニングは、HTTP URL の一部として cookie 情報を挿入するアプリケーションに適しています。場合によっては、この機能を使用して cookie を拒否するクライアントに対処することもできます。
• cookie 挿入 - サーバの代わりに ACE が リターン要求に cookie を挿入し、サーバが cookie を入れるように設定されていなくても、cookie スティッキを実行できるようにします。この cookie には、ACE が特定の実サーバへの固定を確実に実行するために使用する情報が入っています。
HTTP ヘッダー情報を使用してスティッキを提供することも可能です。HTTP ヘッダー スティッキ方式では、ヘッダーのオフセットを指定して、HTTP ヘッダーの一意の部分に基づいてスティッキを提供できます。
ACE は、RADIUS アトリビュートに基づきスティッキをサポートします。RADIUS スティッキ グループでは、次のアトリビュートがサポートされます。
ACE は、RTSP セッション ヘッダー フィールドに基づきスティッキをサポートします。RTSP ヘッダー スティッキ方式では、ヘッダーのオフセットを指定して、RTSP ヘッダーの一意の部分に基づいてスティッキを提供できます。
ACE は、SIP コール ID ヘッダー フィールドに基づきスティッキをサポートします。SIP ヘッダー スティッキ方式では、SIP ヘッダー全体が必要であるため、オフセットは指定できません。
この機能を利用すると、ACE は SSL セッション ID に基づき同じクライアントを同じ SSL サーバに固定できます。この機能は、SSLv3 でだけ利用できます。SSL セッション ID は、同じクライアントからの複数の接続全体を通じて一意であるため、ACE が SSL トラフィックのロード バランシングをするよう設定され、これを終了しない場合、この機能を使用してクライアントを特定の SSL サーバに固定できます。この機能を使用するには、スティッキ ラーニング用総称プロトコル解析ポリシーを設定する必要があります。ACE は、SSL サーバまたは他の SSL 終端デバイスから SSL セッション ID を学習します。
SSL サーバは既知のクライアントからの新しい接続に同じ SSL セッション ID を再使用できるため、SSL ハンドシェイク時間が削減されます。ハンドシェイク時間が削減すると、サーバの計算回数が少なくなり、CPU 使用率が低下するため、SSL TPS(トランザクション/秒)が増加します。
スティッキ接続のトラックを維持するために、ACE はスティッキ テーブルを使用します。テーブルのエントリには、次の項目が含まれています。
スティッキ テーブルには最大 400 万のエントリを保存できます(同時に 400 万のユーザ)。テーブルが最大エントリ数に達してから、スティッキ接続が追加されると、テーブルが循環して最初のユーザとその該当サーバとのスティッキが解除されます。
ACE は設定可能なタイムアウト メカニズムによってスティッキ テーブルのエントリをエージング アウトします。エントリがタイムアウトになると、そのエントリは再利用できる状態になります。接続率が高ければ、スティッキ エントリがタイムアウトになる前にエージング アウトされることもあります。このような場合、ACE は有効期限に最も近いエントリを再利用します。
スティッキ エントリには、ダイナミック エントリとスタティック(ユーザ設定)エントリがあります。スタティック スティッキ エントリを作成すると、ACE はスティッキ テーブル内に即座にそのエントリを置きます。スタティック エントリは、ユーザが設定から削除するまで、スティッキ データベース内に残ります。各コンテキストに最大 4096 のスタティック スティッキ エントリを作成できます。
なんらかの理由(プローブ エラー、no inservice コマンド、または ARP タイムアウト)で ACE が実サーバをアウト オブ サービス状態にした場合、ACE はそのサーバに関連付けられているスティッキ エントリをすべてデータベースから削除します。
serverfarm コマンドを使用してサーバ ファームをスティッキ グループに関連付けると、プライマリ サーバ ファームはそのスティッキ グループのスティッキ性を継承します。ACE は、ユーザがスティッキ グループに設定したスティッキの種類に基づいて、同じクライアントからの要求を、プライマリ サーバ ファーム内の同じサーバに送信します。さらに、同じコマンドの backup オプションを使用してバックアップ サーバ ファームを設定すると、オプションの sticky キーワードを設定することにより、そのバックアップ サーバ ファームもスティッキ状態にすることができます。
プライマリ サーバ ファーム内のすべてのサーバが停止した場合、ACE は、すべての新しい要求をバックアップ サーバ ファームに送信します。プライマリ サーバ ファームが復旧した場合(少なくとも 1 つのサーバがアクティブになった場合)
– バックアップ サーバ ファーム内の実サーバの既存のスティッキ テーブルのエントリに一致するすべての新しいスティッキ接続は、バックアップ サーバ ファームの同じ実サーバに固定されます。
– すべての新しい非スティッキ接続およびスティッキ テーブルにエントリがないスティッキ接続は、プライマリ サーバ ファームの実サーバにロード バランシングされます。
• sticky オプションがイネーブルでない場合、ACE は、プライマリ サーバ ファームの実サーバにすべての新しい接続をロード バランシングします。
• バックアップ サーバ ファーム内のサーバへの既存の非スティッキ接続は、バックアップ サーバ ファーム内で完了できます。
(注) 部分的なサーバ ファーム フェールオーバーを設定することにより、プライマリ サーバ ファームがフェールオーバーして再び使用可能になる条件を微調整できます。部分的なサーバ ファーム フェールオーバーの詳細については、 「実サーバおよびサーバ ファームの設定」の「部分サーバ ファーム フェールオーバーの設定」を参照してください。
ソーリー サーバを設定し、プライマリ サーバ ファームの復旧後、既存の接続をプライマリ サーバ ファームに戻したい場合は、スティッキ機能を使用しないでください。バックアップ サーバ ファームおよびソーリー サーバの設定に関する詳細は、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
ACE にスティッキを設定する際には、次の要件および考慮事項に従うことを推奨します。
• スティッキを設定する各コンテキストに対し、次のことを実行する必要があります。
– スティッキを設定する 1 つ以上のコンテキストと関連付けることのできる Admin コンテキストに、リソース クラスを設定します。
– limit-resource sticky コマンドを使用して、そのリソース クラスのスティッキにリソースの最小パーセンテージ(0 以外)を割り当てます。
– 1 つ以上のユーザ コンテキストをそのリソース クラスに関連付けます。
リソース グループの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。
• 同じスティッキ グループを複数のポリシーまたは仮想サーバに設定できます。その場合、これらのポリシーまたはクラス マップへのすべての接続にスティッキ動作が適用されます。このような接続は、 buddy 接続 と呼ばれています。ポリシーまたはクラス マップの 1 と 2 の両方を同じスティッキ グループに設定した場合、ポリシーまたはクラス マップ 1 でサーバ A に固定されたクライアントは、ポリシーまたはクラス マップ 2 でも同じサーバ A に固定されます。
• 同じスティッキ グループを複数のポリシーに関連付ける場合は、すべてのポリシーに同じサーバ ファームを使用するか、あるいは同じサーバが含まれている別のサーバ ファームを使用することが重要です。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの正規表現(regex)のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
IP アドレス スティッキでは、トランザクションの完了に必要な場合は、クライアントの送信元 IP アドレス、宛先 IP アドレス、またはその両方を使用して、後続の複数の接続に関して、クライアントを同じサーバに固定できます。サービス プロバイダーまたは企業がクライアントとインターネットの接続にメガプロキシを使用している場合は、cookie またはこの章で説明するその他のスティッキ方式の 1 つを使用してください。
• IP アドレス スティッキ タイムアウトによるアクティブ接続の無効化
• スタティック IP アドレス スティッキ テーブル エントリの設定
• サーバ ファームと IP アドレス スティッキ グループの関連付け
表 5-1 は、ACE にスティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-1 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. スティッキ IP グループを作成し、スティッキ IP コンフィギュレーション モードを開始します。 (config-sticky-ip)#
|
5. IP アドレス スティッキのタイムアウトを設定します。 (config-sticky-ip) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky-ip) #
timeout activeconns
|
7. 冗長構成のスイッチオーバーに備えて、スタンバイ コンテキストへのスティッキ テーブル情報の複製をイネーブルにします。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky-ip) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-ip) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)スタティック IP アドレス スティッキ エントリを設定します(各コンテキストに最大 65535 のスタティック エントリ)。 (config-sticky-ip) #
static client source
192.168.12.15
destination
172.16.27.3 rserver
SERVER1
2000
|
10. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
11. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. IP アドレス スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
IP アドレス スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
IP アドレス スティッキのスティッキ グループを作成するには、コンフィギュレーション モードで sticky ip-netmask コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
sticky ip-netmask netmask address { source | destination | both } name
• ip netmask netmask - ACE が IP アドレスに適用するネットワーク マスクを指定します。ドット付き 10 進表記でネットワーク マスクを入力します(例:255.255.255.0)。
• address - スティッキに使用される IP アドレスを指定します。address キーワードの後ろに次のいずれかのオプションを入力します。
– source - ACE がクライアントをサーバに固定するために送信元 IP アドレスを使用するように指定します。Web アプリケーション環境では通常、このキーワードを使用します。
– destination - ACE がクライアントをサーバに固定するために宛先アドレスを使用するように指定します。キャッシュ環境では通常、このキーワードを使用します。
– both - ACE がクライアントをサーバに固定するために送信元 IP アドレスと宛先 IP アドレスの両方を使用するように指定します。
• name - スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、送信元 IP アドレスと宛先 IP アドレスの両方に基づく IP アドレス スティッキを使用するスティッキ グループを作成するには、次のように入力します。
設定からスティッキ グループを削除するには、次のように入力します。
スティッキ タイムアウトは、最後のクライアント接続終了後、スティッキ テーブル内のそのクライアント接続の IP アドレス スティッキ情報を ACE が維持する時間です。モジュールが特定のスティッキ テーブル エントリと一致する新しい接続をオープンしたり、既存の接続上で新たな HTTP GET を受信するたびに、ACE はエントリのスティッキ タイマーをリセットします。接続率が高ければ、スティッキ エントリがタイムアウトになる前にエージング アウトされることもあります。
IP アドレス スティッキ タイムアウトを設定するには、スティッキ IP コンフィギュレーション モードで timeout minutes コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
デフォルトでは、ACE は、スティッキ テーブル エントリのタイムアウト時間が経過し、そのエントリと一致するアクティブ接続がなければ、そのエントリをエージング アウトします。スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が IP アドレス スティッキ テーブルのエントリを タイムアウトにするように指定するには、スティッキ IP コンフィギュレーション モードで timeout activeconns コマンドを使用します。
アクティブな接続がある場合は IP アドレス スティッキ エントリをタイムアウトにしないというデフォルトの動作に ACE を戻すには、次のように入力します。
冗長構成を使用している場合は、スタンバイ ACE に IP アドレス スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE に IP アドレス スティッキ テーブル エントリを複製するように設定するには、スティッキ IP コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上の IP アドレス スティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
ACE をデフォルト値に戻し、IP アドレス スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
送信元 IP アドレス、宛先 IP アドレス、または実サーバ名とポートに基づいてスタティック スティッキ テーブル エントリを設定できます。スタティック スティッキ IP 値は時間が経過しても変化しません。また複数のスタティック エントリを設定できます。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック スティッキ IP テーブル エントリを設定するには、スティッキ IP コンフィギュレーション モードで static client コマンドを使用します。このコマンドの構文は、スティッキ グループ作成時に選択した address オプションによって異なります。「IP アドレス スティッキ グループの作成」を参照してください。
スティッキ グループに source オプションを設定した場合、このコマンドの構文は次のようになります。
static client source ip_address rserver name [ number ]
スティッキ グループに destination オプションを設定した場合、このコマンドの構文は次のようになります。
static client destination ip_address rserver name [ number ]
スティッキ グループに both オプションを設定した場合、このコマンドの構文は次のようになります。
static client source ip_address [ destination ip_address ]{ rserver name [ number ]}
• source ip_address - 送信元 IP アドレスに基づくスタティック エントリを指定します。ドット付き 10 進表記で IP アドレスを入力します(例:192.168.12.15)。
• destination ip_address - 宛先 IP アドレスに基づくスタティック エントリを指定します。ドット付き 10 進表記で IP アドレスを入力します(例:172.16.27.3)。
• rserver name - 実サーバ名に基づくスタティック エントリを指定します。スペースを含まず引用符のない英数字で既存の実サーバ名を入力します(最大 64 文字)。
• number - (任意)実サーバのポート番号。1 ~ 65535 の整数を入力します。
たとえば、送信元 IP アドレス、宛先 IP アドレス、およびサーバ名とポート番号に基づくスタティック スティッキ エントリを設定するには、次のように入力します。
スティッキ テーブルからスタティック エントリを削除するには、次のように入力します。
スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ IP コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
(注) サーバ ファームのすべてのサーバで障害が発生し、バックアップ サーバ ファームを設定しなかった場合、ACE はコンテンツ要求に対してクライアントにリセット(RST)を送信します。デフォルトでバックアップ サーバ ファームを設定した場合、ACE はバックアップ サーバ ファームのすべての実サーバの状態を考慮してから、VIP を非稼動にします。プライマリ サーバ ファームのすべての実サーバに障害が起こり、動作中のバックアップ サーバ ファーム内に 1 つ以上の実サーバがある場合、ACE は VIP の稼動状態を維持します。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
次の例は、IP アドレス スティッキを定義している実行コンフィギュレーションです。この例では、IP アドレス スティッキの設定を太字で示してあります。
これは、IP アドレス スティッキを使用する ACE の設定例です。この設定では、トランザクションの完了に必要な場合、クライアントの送信元 IP アドレス、宛先 IP アドレス、またはその両方により、後続の複数の接続に関してクライアントを同じサーバに固定できます。
ここでは、TCP ストリームまたは UDP パケットのデータ ストリングに基づいてスティッキを設定する方法を説明します。クラス マップおよびポリシー マップを総称プロトコル(ACE によって明示的にサポートされていないプロトコル)と一致するように設定し、ユーザ ID などのプロトコル パケットのデータ(ペイロード)部分のストリングに基づいてクライアントを特定のサーバに固定できます。スティッキ設定では、ストリングは正規表現(regex)として定義し、ペイロード内での位置はオフセットおよび長さとして定義します。詳細については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
正規表現で大量のメモリを使用するのを避けるため、レイヤ 4 ペイロード スティッキを設定する場合は、次の注意事項に従うことを推奨します。
• 1 つの VIP につき 1 つの一般規則だけを使用します。
• 同じ VIP ではすべての一般規則について同じオフセットを使用します。
• アプリケーションで機能する、できるだけ小さなオフセットを使用します。
• 可能な場合は、レイヤ 4 ペイロード スティッキとレイヤ 4 ペイロード照合を同時に導入するのを避けます( 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照)。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• レイヤ 4 ペイロード スティッキ設定のクイック スタート
• レイヤ 4 ペイロード タイムアウトによるアクティブ接続の無効化
• スタティック レイヤ 4 ペイロード スティッキ エントリの設定
• サーバ ファームとレイヤ 4 ペイロード スティッキ グループの関連付け
表 5-2 は、ACE にスティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-2 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. レイヤ 4 ペイロード スティッキ グループを作成し、スティッキ レイヤ 4 コンフィギュレーション モードを開始します。 (config-sticky-l4payloa)#
|
5. レイヤ 4 ペイロード スティッキのタイムアウトを設定します。 (config-sticky-l4payloa) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky-l4payloa) #
timeout activeconns
|
7. 冗長構成のスイッチオーバーに備えて、スタンバイ コンテキストへのスティッキ テーブル情報の複製をイネーブルにします。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky-l4payloa) #
replicate sticky
|
8. サーバからの応答に対するスティッキ ラーニングをイネーブルにします。 (config-sticky-l4payloa) #
response sticky
|
9. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-l4payloa) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
10. (任意)レイヤ 4 ペイロードのオフセットと長さを指定し、ACE にスティッキのデータ部分だけを解析するよう指示します。 (config-sticky-l4payloa) # layer4-payload offset 250 length 750 begin-pattern abc123
|
11. (任意)1 つ以上のスタティック スティッキ ペイロード エントリを設定します。 (config-sticky-l4payloa) # static layer4-payload stingray rserver RS1 4000
|
12. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
15. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
16. レイヤ 4 ペイロード スティッキ設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
レイヤ 4 ペイロード スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
レイヤ 4 ペイロード スティッキ グループを作成するには、コンフィギュレーション モードで sticky layer4-payload コマンドを使用します。このコマンドの構文は次のとおりです。
name 引数は、スティッキ グループの固有識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
設定からスティッキ グループを削除するには、次のように入力します。
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続のレイヤ 4 ペイロード スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで timeout minutes コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が レイヤ 4 ペイロード スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
アクティブな接続がある場合はレイヤ 4 ペイロード スティッキ エントリをタイムアウトにしないというデフォルトの動作に ACE を戻すには、次のように入力します。
冗長構成を使用している場合は、スタンバイ ACE にレイヤ 4 ペイロード スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE に スティッキ テーブル エントリを複製するように設定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
ACE をデフォルト値に戻し、スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
レイヤ 4 ペイロード スティッキでは、ACE は指定されたオフセット、長さ、およびパターンに基づき、クライアント要求を解析します。「レイヤ 4 ペイロード スティッキ パラメータの設定」を参照してください。
ACE がサーバ応答を解析し、スティッキ ラーニングを実行するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで response sticky コマンドを使用します。ACE は、サーバ応答バイトのハッシュを使用して、スティッキ データベースにデータを入力します。ACE は、次回同じバイトでクライアント要求を受信した場合、そのクライアントを同じサーバに固定します。このコマンドの構文は次のとおりです。
たとえば、ACE がサーバからの応答バイトを解析してスティッキ ラーニングを実行できるようにするには、次のように入力します。
サーバ応答を解析せずに、スティッキ ラーニングを実行するというデフォルトの動作に ACE をリセットするには、次のように入力します。
レイヤ 4 ペイロード値は時間の経過とともに変化し、クライアントとサーバ間のトランザクション全体を通じて変化しないのはごくわずかな部分だけです。ACE が特定サーバに接続を固定するために、ペイロードの変化しない部分を使用するように設定できます。ACE に使用させたいペイロード部分を定義するには、ペイロードのオフセットと長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
また、ACE がクライアントを特定のサーバに固定するために使用する正規表現に基づき、開始パターンと終了パターンを指定することもできます。正規表現の詳細については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 を参照してください。
ペイロードのオフセット、長さ、開始パターン、および終了パターンを設定するには、スティッキ レイヤ 4 ペイロードコンフィギュレーション モードで layer4-payload コマンドを使用します。このコマンドの構文は次のとおりです。
layer4-payload [ offset number1 ] [ length number2 ] [ begin-pattern expression1 ] [ end-pattern expression2 ]
• offset number1 - ペイロードの最初のバイトから無視するバイト数を示すことにより、ACE が特定のサーバにクライアントを固定するために使用するペイロード部分を指定します。0 ~ 999 の整数を入力します。デフォルトは 0 です。デフォルトでは、ACE はペイロードのどの部分も除外しません。
• length number2 - ACE がクライアントをサーバに固定するために使用するペイロード部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。1 ~ 1000 の整数を入力します。デフォルトはペイロード全体です。
TCP 接続では、 max-parse length 値が offset 値後の残りのパケット部分の値以下である場合に限り、ACE は解析を停止します。 max-parse length 値が、残りのパケット サイズより大きい場合は、ACE は、継続して待機し、クライアントからさらにデータを受信します。
UDP では、ACE はパケットの最後に到達すると解析を停止します。
(注) 同じ layer4-payload コマンドで length オプションと end-pattern オプションの両方は指定できません。
• begin-pattern expression1 - レイヤ 4 ペイロードの開始パターンおよびハッシュを行う前に照合するパターン ストリングを指定します。開始パターンを指定しない場合、ACE はオフセット バイトの直後に解析を開始します。同じトラフィック分類に属する異なるサーバ ファームには、異なる開始パターンと終了パターンを設定できません ( 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照)。設定するパターンごとに、引用符で囲まずにスペースを入れないで、255 文字以内で英数字を入力します。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。ACE は、ストリング式の照合に正規表現を使用することをサポートします。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 には、ストリング式の照合に使用できる、サポート対象文字の一覧があります。
(注) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。
• end-pattern expression2 - ハッシュの終了をマークするパターンを指定します。終了パターンまたは長さを指定しない場合、ACE はフィールドまたはパケットの終了に到達するか、あるいは最大本体解析長に到達するまでデータの解析を継続します。同じトラフィック分類に属する異なるサーバ ファームには、異なる開始パターンと終了パターンを設定できません ( 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照)。
(注) 同じ layer4-payload コマンドで length オプションと end-pattern オプションの両方は指定できません。
設定するパターンごとに、引用符で囲まずにスペースを入れないで、255 文字以内で英数字を入力します。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。ACE は、ストリング式の照合に正規表現を使用することをサポートします。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 には、ストリング式の照合に使用できる、サポート対象文字の一覧があります。
設定からペイロードのオフセットと長さを削除するには、次のように入力します。
ACE が レイヤ 4 ペイロード(オプションとして実サーバ名とポート)に基づいてエントリのスタティック スティッキ エントリを使用するように設定できます。スタティック ペイロード値は常に一定です。複数のスタティック ペイロード エントリを設定できますが、1 つのスタティック ペイロード値に対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック レイヤ 4 ペイロード スティッキ エントリを設定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで static layer4-payload コマンドを使用します。このコマンドの構文は次のとおりです。
static layer4-payload value rserver name [ number ]
• value - ペイロード ストリング値 スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。1 ~ 65535 の整数を入力します。
設定からスタティック ペイロード エントリを削除するには、次のように入力します。
スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ レイヤ 4 ペイロードコンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
ここでは、HTTP パケットのコンテンツ(ヘッダーではなくデータ)に基づいてスティッキ機能を設定する方法を説明します。開始パターンおよび終了パターンとともに正規表現として HTTP コンテンツのストリングを定義します。さらにパケット データ内の位置をオフセットおよび長さとして定義します。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• HTTP コンテンツ スティッキ設定のクイック スタート
• スティッキ コンテンツ タイムアウトによるアクティブ接続の無効化
• サーバ ファームと HTTP コンテンツ スティッキ グループの関連付け
表 5-3 は、ACE に HTTP コンテンツ スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-3 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. HTTP コンテンツ スティッキ グループを作成し、スティッキ コンテンツ コンフィギュレーション モードを開始します。 (config-sticky-content)#
|
5. HTTP コンテンツ スティッキのタイムアウトを設定します。 (config-sticky-content) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky-content) #
timeout activeconns
|
7. 冗長構成のスイッチオーバーに備えて、スタンバイ コンテキストへのスティッキ テーブル情報の複製をイネーブルにします。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky-content) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-content) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)スティッキ コンテンツの開始パターン、終了パターン 、オフセット、および長さを設定して、ACE がコンテンツの一部(コンテンツの変化しない部分)だけをスティッキに使用するようにします。 (config-sticky-content) # content begin-pattern abc123* end-pattern *xyz890 offset 3000 length 1000
|
10. (任意)1 つ以上のスタティック スティッキ コンテンツ エントリを設定します。 (config-sticky-content) # static content stingray rserver RS1 4000
|
11. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
15. HTTP コンテンツ スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
HTTP コンテンツ スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
ACE がスティッキに HTTP コンテンツを使用するように設定するには、コンフィギュレーション モードで sticky http-content コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
name 引数は、スティッキ グループの固有識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、コンテンツ スティッキ用のスティッキ グループを作成するには、次のように入力します。
content
)#
設定からスティッキ グループを削除するには、次のように入力します。
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の HTTP コンテンツ スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ コンテンツ コンフィギュレーション モードで timeout minutes コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
content
)# timeout 720
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
content
)# no timeout 720
スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が HTTP コンテンツ スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ コンテンツ コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
content
)# timeout activeconns
アクティブ接続があれば HTTP コンテンツ スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
content
)# no timeout activeconns
冗長構成を使用している場合は、スタンバイ ACE に HTTP コンテンツ スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE に スティッキ テーブル エントリを複製するように設定するには、スティッキ コンテンツ コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
content
)# replicate sticky
ACE をデフォルト値に戻し、スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
content
)# no replicate sticky
HTTP コンテンツは時間の経過とともに変化し、クライアントとサーバ間のトランザクション全体を通じて変化しないのはごくわずかな部分だけです。ACE が特定サーバに接続を固定するために、コンテンツの変化しない部分を使用するように設定できます。ACE に使用させたいコンテンツ部分を定義するには、開始パターン、終了パターン、オフセット、および長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
HTTP コンテンツ スティッキ パラメータを設定するには、スティッキ コンテンツ コンフィギュレーション モードで content コマンドを使用します。このコマンドの構文は次のとおりです。
content [ offset number1 ] [ length number2 ] [ begin-pattern expression1 ] [ end-pattern expression2 ]
• offset number1 - (任意)ペイロードの最初のバイトから無視するバイト数を示すことにより、ACE が特定のサーバにクライアントを固定するために使用するコンテンツ部分を指定します。0 ~ 999 の整数を入力します。デフォルトは 0 です。デフォルトでは、ACE はコンテンツのどの部分も除外しません。
オフセットと長さは 0 ~ 1000 バイトまで変更できます。コンテンツ ストリングがオフセットよりも長く、オフセット + ストリングの長さの値よりも短い場合、ACE は、オフセット値の後ろのバイトを始点とし、オフセット + 長さで指定されるバイトを終点するコンテンツ部分に基づいて接続を固定します。オフセットと長さの合計は、1000 バイト以下にする必要があります。
• length number2 - ACE がクライアントをサーバに固定するために使用するコンテンツ部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。1 ~ 1000 の整数を入力します。デフォルトはペイロード全体です。
(注) 同じ content コマンドで length オプションと end-pattern オプションの両方は指定できません。
• begin-pattern expression1 - (任意)HTTP コンテンツ ペイロードの開始パターンおよびハッシュを行う前に照合するパターン ストリングを指定します。開始パターンを指定しない場合、ACE はオフセット バイトの直後に解析を開始します。同じトラフィック分類に属する異なるサーバ ファームには、異なる開始パターンと終了パターンを設定できません ( 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照)。
設定するパターンごとに、引用符で囲まずにスペースを入れないで、255 文字以内で英数字を入力します。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。ACE は、ストリング式の照合に正規表現を使用することをサポートします。ストリング表現の照合に使用できる、サポート対象文字の一覧については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 を参照してください。
(注) データ ストリングの照合時の正規表現では、ピリオド(.)および疑問符(?)が文字通りの意味を持たないことに注意してください。これらの記号を照合する場合は、角カッコ([ ])を使用します。たとえば、www.xyz.com の代わりに www[.]xyz[.]com を入力します。ドット(.)または疑問符(?)のエスケープとしてバックスラッシュ(\)を使用することもできます。
• end-pattern expression2 - (任意)ハッシュの終了パターンを指定します。終了パターンまたは長さを指定しない場合、ACE はフィールドまたはパケットの終了に到達するか、あるいは最大本体解析長に到達するまでデータの解析を継続します。同じトラフィック分類に属する異なるサーバ ファームには、異なる開始パターンと終了パターンを設定できません ( 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照)。
設定するパターンごとに、引用符で囲まずにスペースを入れないで、255 文字以内で英数字を入力します。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。ACE は、ストリング式の照合に正規表現を使用することをサポートします。ストリング表現の照合に使用できる、サポート対象文字の一覧については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 を参照してください。
(注) 同じ content コマンドで length オプションと end-pattern オプションの両方は指定できません。
content
)# content begin-pattern abc123* end-pattern *xyz890 offset 500 length 1000
コンフィギュレーションから コンテンツ パラメータを削除するには、次のように入力します。
content
)# no content offset
ACE が スタティック コンテンツ エントリ(オプションとして実サーバ名とポート)を使用するよう設定できます。スタティック コンテンツ エントリは常に一定です。複数のスタティック コンテンツ エントリを設定できますが、1 つのスタティック コンテンツ ストリングに対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック コンテンツ エントリを設定するには、スティッキ コンテンツ コンフィギュレーション モードで static content コマンドを使用します。このコマンドの構文は次のとおりです。
static content value rserver name [ number ]
• value - コンテンツ ストリング値 スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。1 ~ 65535 の整数を入力します。
たとえば、スタティック コンテンツ エントリを作成するには、次のように入力します。
content
)# static content STINGRAY rserver SERVER1 4000
設定からスタティック コンテンツ エントリを削除するには、次のように入力します。
content
)# no static content STINGRAY rserver SERVER1 4000
スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ コンテンツ コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
content
)# serverfarm SFARM1 backup BKUP_SFARM2 sticky
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
content
)# no serverfarm
ここでは、HTTP cookie に基づくスティッキの設定方法を説明します。ACE は次の箇所から cookie 値を学習します。
• サーバがクライアントに送信する Set-Cookie メッセージ
クライアントがサーバに HTTP を要求すると、サーバは通常、クライアントへの応答内の Set-Cookie メッセージで cookie を送信します。ほとんどの場合、クライアントは後続の HTTP 要求で同じ cookie 値を返します。ACE はこの一致値に基づいて、クライアントを同じサーバに固定します。通常の Web クライアントが Web を使用する場合は、通常この方式が使用されます。
ただし、使用環境によっては、クライアントのブラウザが cookie をサポートできないこともあります。その場合、この cookie スティッキ接続は使用できません。この問題に対処するため、ACE は URL ストリングに埋め込まれた cookie の名前と値を抽出できます。この機能を使用できるのは、サーバが Web ページ上の URL リンクに cookie を埋め込む場合だけです。
クライアントとサーバの動作およびフレーム シーケンスによっては、HTTP ヘッダーや Set-Cookie メッセージ内、または URL 内に埋め込まれた標準 HTTP cookie に同じ cookie 値が示されることもあります。実際の cookie 名は、その cookie がURL に埋め込まれるのか、HTTP ヘッダーに表示されるのかによって異なる場合もあります。cookie と URL で異なる名前が使用されるのは、これら 2 つのパラメータがサーバ上で設定可能であり、異なる名前に設定されることが多いためです。たとえば、Set-Cookie 名は次のように設定される場合があります。
クライアントの要求に cookie が含まれていない場合、ACE は、ACE に設定されているセッション ID ストリング(?session-id=)を探します。このストリングに関連付けられている値は、ACE がキャッシュで探索するセッション ID 番号です。ACE は要求情報を持つサーバとセッション ID を照合し、一致すれば、そのサーバにクライアントの要求を送信します。
sticky コマンドの name 引数は、HTTP ヘッダー内の cookie 名です。 cookie secondary コマンドの name 引数は、URL に示される cookie 名です。
デフォルトでは、cookie、HTTP ヘッダーまたは URL のチェックのために ACE が解析するバイト数は最大 2048 です。cookie、HTTP ヘッダーまたは URL がこのデフォルト値を超えると、ACE はそのパケットを廃棄し、クライアントのブラウザに RST(reset)を送信します。ACE に解析させるバイト数を増やすには、HTTP パラメータ マップ コンフィギュレーション モードで set header-maxparse-length コマンドを使用します。最大解析長の設定に関する詳細は、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
また、HTTP パラメータ マップ コンフィギュレーション モードで length-exceed コマンドを使用して、cookie、ヘッダー、または URL の長さが最大解析長を超過した場合の ACE のデフォルト動作を変更することもできます。詳細については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの正規表現(regex)のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• HTTP cookie スティッキ設定のクイック スタート
• スティッキ cookie タイムアウトによるアクティブ接続の無効化
• サーバ ファームと HTTP cookie スティッキ グループの関連付け
表 5-4 は、ACE にスティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-4 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. HTTP cookie スティッキ グループを作成し、スティッキ cookie コンフィギュレーション モードを開始します。 (config-sticky-cookie)#
|
5. HTTP cookie スティッキのタイムアウトを設定します。 (config-sticky-cookie) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky-cookie) #
timeout activeconns
|
7. 冗長構成のスイッチオーバーに備えて、スタンバイ コンテキストへのスティッキ テーブル情報の複製をイネーブルにします。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky-cookie) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバと結合します。 (config-sticky-cookie) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)cookie 挿入をイネーブルにして、ACE がサーバからクライアントへの応答の Set-Cookie ヘッダーに cookie を挿入できるようにします。サーバが適切な cookie を設定しない場合は、このコマンドを使用してください。 (config-sticky-cookie) # cookie insert browser-expire
|
10. (任意)cookie スティッキのオフセットと長さを設定して、ACE が cookie の一部(cookie の変化しない部分)だけをスティッキに使用するようにします。 (config-sticky-cookie) # cookie offset 3000 length 1000
|
11. (任意)ACE がクライアントからの HTTP 要求の URL ストリングに示される代替 cookie を使用するように設定します。 (config-sticky-cookie) # cookie secondary arrowpoint.com
|
12. (任意)1 つ以上のスタティック スティッキ cookie エントリを設定します。 (config-sticky-cookie) # static cookie-value corvette rserver SERVER1 4000
|
13. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
15. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
16. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
17. HTTP cookie スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
HTTP cookie スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
クライアント要求の HTTP ヘッダーまたはサーバがクライアントに送信する Set-Cookie メッセージから ACE が cookie を学習するように設定できます。ACE は、学習した cookie を使用して、トランザクション中にクライアントとサーバを固定します。
ACE がスティッキに HTTP cookie を使用するように設定するには、コンフィギュレーション モードで sticky http-cookie コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
sticky http-cookie name1 name2
• http-cookie name1 - ACE がクライアント要求の HTTP ヘッダーまたはサーバからの Set-Cookie メッセージから cookie 値を学習するように設定します。スペースを含まず引用符のない英数字で cookie の固有識別情報を入力します(最大 64 文字)。
• name2 - スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、cookie スティッキ用のスティッキ グループを作成するには、次のように入力します。
設定からスティッキ グループを削除するには、次のように入力します。
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の HTTP cookie スティッキ情報を ACE が維持する時間です。ACE は、モジュールが特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびにそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ cookie コンフィギュレーション モードで timeout minutes コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が HTTP cookie スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ cookie コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
アクティブ接続があれば、HTTP cookie スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
冗長構成を使用している場合は、スタンバイ ACE に HTTP cookie スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE にスティッキ テーブル エントリを複製するように設定するには、スティッキ cookie コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
ACE をデフォルト値に戻し、スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
サーバが適切な cookie を設定しない場合にセッション cookie による固定を実行するには、cookie 挿入機能を使用します。この機能をイネーブルにすると、ACE はサーバからクライアントへの応答の Set-Cookie ヘッダーに cookie を挿入します。ACE は、クライアントが受信する応答の送信元サーバを識別できるように cookie 値を選択します。同じトランザクションの後続の接続については、クライアントは cookieを 使用して同じサーバに固定します。
(注) TCP サーバ再利用または持続性再バランスのどちらかがイネーブルの場合、ACE はあらゆるクライアント要求に cookie を挿入します。TCP サーバの再利用については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」の「TCP サーバ再利用の設定」を参照してください。固定再バランスについては、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」の「HTTP 持続性再バランスのイネーブル化」を参照してください。
cookie 挿入をイネーブルにするには、スティッキ cookie コンフィギュレーション モードで cookie insert コマンドを使用します。このコマンドの構文は次のとおりです。
cookie insert [ browser-expire ]
オプションの browser-expire キーワードを使用すると、クライアントのブラウザはセッション終了時に cookie を期限切れにします。
たとえば、cookie 挿入をイネーブルにして、ブラウザが cookie を期限切れにするように設定するには、次のように入力します。
cookie 挿入をディセーブルにするには、次のように入力します。
HTTP cookie 値は時間の経過とともに変化し、クライアントとサーバ間のトランザクション全体を通じて変化しないのはごくわずかな部分だけです。ACE が特定サーバに接続を固定するために、cookie の変化しない部分を使用するように設定できます。ACE に使用させたい cookie 部分を定義するには、cookie のオフセットと長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
cookie のオフセットと長さを設定するには、スティッキ cookie コンフィギュレーション モードで cookie offset コマンドを使用します。このコマンドの構文は次のとおりです。
cookie offset number1 length number2
• offset number1 - cookie の最初のバイトから無視するバイト数を示すことにより、ACE が特定のサーバにクライアントを固定するために使用する cookie 部分を指定します。0 ~ 999 の整数を入力します。デフォルトは 0 です。デフォルトでは、ACE は cookie のどの部分も除外しません。
• length number2 - ACE がクライアントをサーバに固定するために使用する cookie 部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。1 ~ 1000 の整数を入力します。デフォルト値は 1000 です。
設定から cookie のオフセットと長さを削除するには、次のように入力します。
サーバ上の Web ページの URL ストリングに示されている代替 cookie 名を設定することもできます。ACE は、クライアントとサーバのスティッキ接続を維持するためにこの cookie を使用し、スティッキ テーブルにセカンダリ エントリを追加します。セカンダリ cookie を設定するには、スティッキ cookie コンフィギュレーション モードで cookie sedondary コマンドを使用します。このコマンドの構文は次のとおりです。
スペースを含まず、引用符なしの英数字で cookie 名を入力します(最大 64 文字)。
設定からセカンダリ cookie を削除するには、次のように入力します。
ACE が cookie 値(オプションとして実サーバ名とポート)に基づいてエントリのスタティック cookie を使用するように設定できます。スタティック cookie 値は常に一定です。複数のスタティック cookie エントリを設定できますが、1 つのスタティック cookie 値に対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック cookie を設定するには、スティッキ cookie コンフィギュレーション モードで static cookie-value コマンドを使用します。このコマンドの構文は次のとおりです。
static cookie-value value rserver name [ number ]
• value - cookie ストリング値 スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。ただし、ストリングを引用符(")で囲む場合は、スペースを含むテキスト ストリングを入力できます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。1 ~ 65535 の整数を入力します。
設定からスタティック cookie を削除するには、次のように入力します。
スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ cookie コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
次の例は、HTTP cookie スティッキを定義している実行コンフィギュレーションです。この例では、HTTP cookie スティッキの設定が太字で示してあります。
この設定では、ACE は HTTP cookie スティッキを使用して、トランザクション中にサーバ ファームの指定サーバとの特定の接続が維持されるようにします。
クライアントは、サーバのサービスを要求する際に、ACE に要求を送信します。要求には、ACE がスティッキの提供に使用できるフィールドが含まれる HTTP ヘッダーが含まれています。このプロセスによって、同じクライアントからの接続が同じ SLB ポリシーと一致すれば、後続の接続には HTTP ヘッダー フィールドに基づいて確実に同じサーバが使用されます。HTTP については、任意のサポートされているプロトコル ヘッダー名を指定することも、また標準プロトコル ヘッダーの 1 つを選択することもできます。
デフォルトでは、ACE CLI は大文字と小文字を区別します。たとえば、ACE はスティッキ グループ名 http_sticky_group1 と HTTP_STICKY_GROUP1 を異なるグループ名として処理します。CLI が HTTP 関連のすべてのパラメータに対して大文字と小文字を区別しないように設定するには、HTTP パラメータ マップに case-insensitive コマンドを入力し、そのパラメータ マップをレイヤ 3 およびレイヤ 4 SLB ポリシー マップと関連付けるだけです。詳細は、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の「HTTP パラメータ マップの設定」を参照してください。
デフォルトでは、cookie、HTTP ヘッダーまたは URL のチェックのために ACE が解析するバイト数は最大 2048 です。cookie、HTTP ヘッダーまたは URL がこのデフォルト値を超えると、ACE はそのパケットを廃棄し、クライアントのブラウザに RST(reset)を送信します。ACE に解析させるバイト数を増やすには、HTTP パラメータ マップ コンフィギュレーション モードで set header-maxparse-length コマンドを使用します。最大解析長の設定に関する詳細は、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
また、HTTP パラメータ マップ コンフィギュレーション モードで length-exceed コマンドを使用して、cookie、ヘッダー、または URL の長さが最大解析長を超過した場合の ACE のデフォルト動作を変更することもできます。詳細については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• HTTP ヘッダー スティッキ タイムアウトによるアクティブ接続の無効化
• スタティック HTTP ヘッダー スティッキ エントリの設定
• サーバ ファームと HTTP ヘッダー スティッキ グループの関連付け
表 5-5 は、ACE にヘッダー スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-5 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. HTTP ヘッダー スティッキ グループを作成し、スティッキ ヘッダー コンフィギュレーション モードを開始します。 (config-sticky- header
)#
|
(config-sticky- header
) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky- header
) #
timeout activeconns
|
7. スイッチオーバーに備えて、ヘッダー スティッキ テーブル情報をスタンバイ コンテキストに複製する機能をイネーブルにします。このコマンドは冗長構成で使用します。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky- header
) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-ssl) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)ヘッダー スティッキのオフセットと長さを設定して、ACE が ヘッダー の一部(ヘッダーの変化しない部分)だけをスティッキに使用するようにします。 (config-sticky- header
) # header offset 3000 length 1000
|
10. (任意)1 つ以上のスタティック ヘッダー スティッキ エントリを設定します。 (config-sticky- header
) # static header Host rserver SERVER1 4000
|
11. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
15. ヘッダー スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
ヘッダー スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
ヘッダー スティッキ グループを作成して、ACE が HTTP ヘッダー フィールドに基づいてクライアント接続を同じ実サーバに固定できるようにするには、コンフィギュレーション モードで sticky http-header コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
sticky http-header name1 name2
• http-header name1 - HTTP ヘッダーに基づくスティッキを指定します。スペースを含まず引用符なしの英数字で HTTP ヘッダー 名を入力します(最大 64 文字)。あるいは、 表 5-6 に記載されている標準 HTTP ヘッダーの 1 つを選択することもできます。
• name2 - スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、HTTP ヘッダー スティッキ用のグループを作成するには、次のように入力します。
(config-sticky-header)
# sticky http-header Host HTTP_GROUP
設定からスティッキ グループを削除するには、次のように入力します。
(config-sticky-header)
# no sticky http-header Host HTTP_GROUP
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の HTTP ヘッダー スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
header
)# timeout 720
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
header
)# no timeout 720
スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が HTTP ヘッダー スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
header
)# timeout activeconns
アクティブ接続があればヘッダー スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
header
)# no timeout activeconns
冗長構成を使用している場合は、スタンバイ ACE に HTTP ヘッダー スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE にヘッダー スティッキ テーブル エントリを複製するように設定するには、スティッキ ヘッダー コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
header
)# replicate sticky
ACE をデフォルト値に戻し、スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
header
)# no replicate sticky
特定サーバに接続を固定するために、ACE が HTTP ヘッダーの一部を使用するように設定できます。ACE に使用させたいヘッダー部分を定義するには、ヘッダーのオフセットと長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
ヘッダーのオフセットと長さを設定するには、スティッキ ヘッダー コンフィギュレーション モードで header コマンドを使用します。このコマンドの構文は次のとおりです。
header offset number1 length number2
• offset number1 - ヘッダーの最初のバイトから無視するバイト数を示すことにより、ACE が特定のサーバにクライアントを固定するために使用するヘッダー部分を指定します。0 ~ 999 の整数を入力します。デフォルトは 0 です。デフォルトでは、ACE はヘッダーのどの部分も除外しません。
• length number2 - ACE がクライアントをサーバに固定するために使用するヘッダー部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。1 ~ 1000 の整数を入力します。デフォルト値は 1000 です。
header
)# header offset 500 length 1000
設定からヘッダーのオフセットと長さを削除するには、次のように入力します。
header
)# no header offset
HTTP ヘッダー値(オプションで実サーバ名およびポート)に基づくスタティック ヘッダー スティッキ エントリを設定できます。スタティック スティッキ値は常に一定です。複数のヘッダー スタティック エントリを設定できますが、1 つのスタティック ヘッダー スティッキ値に対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック HTTP ヘッダー を設定するには、スティッキ ヘッダー コンフィギュレーション モードで static header-value コマンドを使用します。このコマンドの構文は次のとおりです。
static header-value value rserver name [ number ]
• value - ヘッダー値。スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。ただし、ストリングを引用符(")で囲む場合は、スペースを含むテキスト ストリングを入力できます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。1 ~ 65535 の整数を入力します。
header
)# static header-value 12345678 rserver SERVER1 3000
スティッキ テーブルからスタティック ヘッダー エントリを削除するには、次のように入力します。
host1/Admin(config-sticky- header
)# no static header-value 12345678 rserver SERVER1 3000
HTTP ヘッダー スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ ヘッダー コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 -(任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky -(任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
header
)# serverfarm SFARM1 backup BKUP_SFARM2 sticky
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
header
)# no serverfarm
次の例は、HTTP ヘッダー スティッキを定義している実行コンフィギュレーションです。この例では、HTTP ヘッダー スティッキの設定が太字で示してあります。
この設定では、ACE は HTTP ヘッダー スティッキを使用して、トランザクション中、サーバ ファームの指定サーバとの特定の接続が維持されるようにします。
ここでは、ACE に RADIUS アトリビュート スティッキを設定する方法を説明します。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• RADIUS アトリビュート スティッキ設定のクイック スタート
• RADIUS アトリビュート スティッキ グループの作成
• RADIUS アトリビュート スティッキのタイムアウトの設定
• RADIUS アトリビュート スティッキ タイムアウトによるアクティブ接続の無効化
• RADIUS アトリビュート スティッキ エントリの複製
• サーバ ファームと RADIUS アトリビュート スティッキ グループの関連付け
表 5-7 は、ACE にRADIUS アトリビュート スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-7 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. RADIUS アトリビュート スティッキ グループを作成し、スティッキ ヘッダー コンフィギュレーション モードを開始します。 (config-sticky- radius
)#
|
5. RADIUS アトリビュート スティッキのタイムアウトを設定します。 (config-sticky- radius
) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky- radius
) #
timeout activeconns
|
7. スイッチオーバーに備えて、RADIUS アトリビュート スティッキ テーブル情報をスタンバイ コンテキストに複製する機能をイネーブルにします。このコマンドは冗長構成で使用します。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky- radius
) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用の RADIUS アトリビュート スティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-radius) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
10. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
11. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. RADIUS アトリビュート スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
RADIUS アトリビュート スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
RADIUS アトリビュート スティッキ グループを作成して、ACE が RADIUS アトリビュートに基づいてクライアント接続を同じ実サーバに固定できるようにするには、コンフィギュレーション モードで sticky radius framed-ip コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。
sticky radius framed-ip [ calling-station-id | username ] name
• calling-station-id - (任意)RADIUS Framed IP アトリビュートおよび発信側端末 ID アトリビュートに基づきスティッキを指定します。
• username - (任意)RADIUS Framed IP アトリビュートおよびユーザ名アトリビュートに基づきスティッキを指定します。
• name - RADIUS スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、RADIUS アトリビュート スティッキ用のグループを作成するには、次のように入力します。
(config-sticky-radius)
# sticky radius framed-ip calling-station-id RADIUS_GROUP
設定からスティッキ グループを削除するには、次のように入力します。
(config-sticky-
radius)
# no sticky radius framed-ip calling-station-id RADIUS_GROUP
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の RADIUS アトリビュート スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ RADIUS コンフィギュレーション モードで timeout コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
スティッキ タイマーの満了後、たとえアクティブ接続があっても、ACE が RADIUS アトリビュート スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ RADIUS コンフィギュレーション モードで timeout activeconns コマンドを使用します。
アクティブ接続があれば RADIUS アトリビュート スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
冗長構成を使用している場合は、スタンバイ ACE に RADIUS アトリビュート スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE に RADIUS アトリビュート スティッキ テーブル エントリを複製するように設定するには、スティッキ RADIUS コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
ACE をデフォルト値に戻し、RADIUS アトリビュート スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
RADIUS アトリビュート スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。RADIUS アトリビュート スティッキ グループのサーバ ファーム エントリを設定するには、スティッキ RADIUS コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - RADIUS アトリビュート スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
ここでは、ACE に RTSP セッション スティッキを設定する方法を説明します。ACE は、スティッキのセッション ヘッダー フィールドだけをサポートします。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• RTSP セッション スティッキ設定のクイック スタート
• RTSP ヘッダー スティッキ タイムアウトによるアクティブ接続の無効化
• スタティック RTSP ヘッダー スティッキ エントリの設定
• サーバ ファームと RTSP ヘッダー スティッキ グループの関連付け
表 5-8 は、ACE に RTSP セッション スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-8 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に指定のない限り、説明の目的で Admin コンテキストを使用します。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. RTSP ヘッダー スティッキ グループを作成し、スティッキ ヘッダー コンフィギュレーション モードを開始します。 (config-sticky- header
)#
|
5. RTSP ヘッダー スティッキのタイムアウトを設定します。 (config-sticky- header
) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky- header
) #
timeout activeconns
|
7. スイッチオーバーに備えて、RTSP ヘッダー スティッキ テーブル情報をスタンバイ コンテキストに複製する機能をイネーブルにします。このコマンドは冗長構成で使用します。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky- header
) #
replicate sticky
|
8. サーバ ファームを スティッキ接続用の RTSP ヘッダー スティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-header) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)1 つ以上のスタティック RTSP ヘッダー スティッキ エントリを設定します。 (config-sticky- header
) # static header Session rserver SERVER1 4000
|
10. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
11. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. RTSP ヘッダー スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
RTSP ヘッダー スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
RTSP ヘッダー スティッキ グループを作成して、ACE が RTSP セッション ヘッダー フィールドに基づいてクライアント接続を同じ実サーバに固定できるようにするには、コンフィギュレーション モードで sticky rtsp-header コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
sticky rtsp-header Session name
• Session - RTSP セッション ヘッダー フィールドに基づきスティッキを指定します。
• name - RTSP スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、RTSP ヘッダー スティッキ用のグループを作成するには、次のように入力します。
(config)
# sticky rtsp-header Session RTSP_GROUP
設定からスティッキ グループを削除するには、次のように入力します。
(config)
# no sticky rtsp-header Session RTSP_GROUP
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の RTSP ヘッダー スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
header
)# timeout 720
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
header
)# no timeout 720
スティッキ タイマーの満了後、アクティブ接続があっても、ACE が RTSP ヘッダー スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
header
)# timeout activeconns
アクティブ接続があればヘッダー スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
header
)# no timeout activeconns
冗長構成を使用している場合は、スタンバイ ACE に RTSP ヘッダー スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE にヘッダー スティッキ テーブル エントリを複製するように設定するには、スティッキ ヘッダー コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
header
)# replicate sticky
ACE をデフォルト値に戻し、RTSP ヘッダー スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
header
)# no replicate sticky
特定サーバに接続を固定するために、ACE が RTSP セッション ヘッダーの一部を使用するように設定できます。ACE に使用させたいセッション ヘッダー部分を定義するには、ヘッダーのオフセットと長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
RTSP セッション ヘッダーのオフセットと長さを設定するには、スティッキ ヘッダー コンフィギュレーション モードで header コマンドを使用します。このコマンドの構文は次のとおりです。
header offset number1 length number2
• offset number1 - ヘッダーの最初のバイトから無視するバイト数を示すことにより、ACE が特定のサーバにクライアントを固定するために使用するヘッダー部分を指定します。0 ~ 999 の整数を入力します。デフォルトは 0 です。デフォルトでは、ACE はヘッダーのどの部分も除外しません。
• length number2 - ACE がクライアントをサーバに固定するために使用するヘッダー部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。1 ~ 1000 の整数を入力します。デフォルト値は 1000 です。
header
)# header offset 500 length 1000
設定からヘッダーのオフセットと長さを削除するには、次のように入力します。
header
)# no header offset
ヘッダー値(オプションで実サーバ名およびポート)に基づくスタティック RTSP ヘッダー スティッキ エントリを設定できます。スタティック スティッキ値は常に一定です。複数のヘッダー スタティック エントリを設定できますが、1 つのスタティック ヘッダー スティッキ値に対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック ヘッダーを設定するには、スティッキ ヘッダー コンフィギュレーション モードで static header-value コマンドを使用します。このコマンドの構文は次のとおりです。
static header-value value rserver name [ number ]
• value - ヘッダー値。スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。
1 ~ 65535 の整数を入力します。
header
)# static header-value 12345678 rserver SERVER1 3000
スティッキ テーブルから RTSP ヘッダー エントリを削除するには、次のように入力します。
header
)# no static header-value 12345678 rserver SERVER1 3000
RTSP ヘッダー スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。RTSP スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ ヘッダー コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - RTSP ヘッダー スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 -(任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky -(任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
header
)# serverfarm SFARM1 backup BKUP_SFARM2 sticky
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
header
)# no serverfarm
ここでは、SIP コール ID スティッキを ACE に設定する方法を説明します。ACE は、スティッキの SIP コール ID ヘッダー フィールドだけをサポートします。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの regex のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• SIP コール ID スティッキ設定のクイック スタート
• SIP ヘッダー スティッキ タイムアウトによるアクティブ接続の無効化
• スタティック SIP ヘッダー スティッキ エントリの設定
• サーバ ファームと SIP ヘッダー スティッキ グループの関連付け
表 5-9 は、ACE に SIP コール ID スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。各機能および CLI コマンドに関連付けられているすべてのオプションについての詳細は、 表 5-9 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付ける作業が完了していることを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。リソース クラスの設定およびリソースの割り当てに関する詳細は、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。 |
4. SIP コール ID スティッキ グループを作成し、スティッキ ヘッダー コンフィギュレーション モードを開始します。 (config-sticky- header
)#
|
5. SIP ヘッダー スティッキのタイムアウトを設定します。 (config-sticky- header
) #
timeout 720
|
6. (任意)タイムアウトによるアクティブ接続の無効化をイネーブルにします。 (config-sticky- header
) #
timeout activeconns
|
7. スイッチオーバーに備えて、ヘッダー スティッキ テーブル情報をスタンバイ コンテキストに複製する機能をイネーブルにします。このコマンドは冗長構成で使用します。ACE の冗長構成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 (config-sticky- header
) #
replicate sticky
|
8. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-header) #
serverfarm SFARM1 backup BKUP_SFARM2 sticky
|
9. (任意)1 つ以上のスタティック ヘッダー スティッキ エントリを設定します。 (config-sticky- header
) # static header Call-ID rserver SERVER1 4000
|
10. レイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーを設定します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
11. レイヤ 7 SLB トラフィック ポリシーを設定し、スティッキ グループをレイヤ 7 ポリシー マップに関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. レイヤ 7 SLB トラフィック ポリシーをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
14. ヘッダー スティッキの設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
|
SIP ヘッダー スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
SIP ヘッダー スティッキ グループを作成して、ACE が SIP コール ID ヘッダー フィールドに基づいてクライアント接続を同じ実サーバに固定できるようにするには、コンフィギュレーション モードで sticky sip-header コマンドを使用します。各 ACE に、最大 4096 のスティッキ グループを作成できます。このコマンドの構文は次のとおりです。
sticky sip-header Call-ID name
• sip-header Call-ID - SIP コール ID ヘッダー フィールドに基づきスティッキを指定します。
• name - スティッキ グループの固有識別情報。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、SIP ヘッダー スティッキ用のグループを作成するには、次のように入力します。
(config-sticky-header)
# sticky sip-header Call-ID SIP_GROUP
設定からスティッキ グループを削除するには、次のように入力します。
(config-sticky-header)
# no sticky sip-header Call-ID SIP_GROUP
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の SIP ヘッダー スティッキ情報を ACE が維持する時間です。ACE が特定のスティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
header
)# timeout 720
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
header
)# no timeout 720
スティッキ タイマーの満了後、アクティブ接続があっても、ACE が SIP ヘッダー スティッキ テーブルのエントリをタイムアウトにするように指定するには、スティッキ ヘッダー コンフィギュレーション モードで timeout activeconns コマンドを使用します。このコマンドの構文は次のとおりです。
header
)# timeout activeconns
アクティブ接続があれば SIP ヘッダー スティッキ エントリをタイムアウトにしないというデフォルトの設定に ACE を戻すには、次のように入力します。
header
)# no timeout activeconns
冗長構成を使用している場合は、スタンバイ ACE に SIP ヘッダー スティッキ テーブル エントリを複製するように ACE を設定すると、スイッチオーバー発生時にも新しいアクティブ ACE で既存のスティッキ接続を維持できます。ACE がスタンバイ ACE に SIP ヘッダー スティッキ テーブル エントリを複製するように設定するには、スティッキ ヘッダー コンフィギュレーション モードで replicate sticky コマンドを使用します。このコマンドの構文は次のとおりです。
(注) スタンバイ ACE 上のスティッキ テーブル エントリのタイマーは、そのエントリがアクティブ ACE のエントリと同期化されるたびにリセットされます。したがって、スタンバイ スティッキ エントリのライフタイムは、アクティブ エントリの最大 2 倍となる可能性があります。ただし、アクティブ ACE でそのエントリの期限が切れたり、新しい実サーバが選択されて新しいエントリが作成されると、スタンバイ ACE 上の古いエントリは置き換えられます。
header
)# replicate sticky
ACE をデフォルト値に戻し、SIP ヘッダー スティッキ テーブル エントリが複製されないようにするには、次のように入力します。
header
)# no replicate sticky
ヘッダー値(オプションで実サーバ名およびポート)に基づくスタティック ヘッダー スティッキ エントリを設定できます。スタティック スティッキ値は常に一定です。複数の SIP ヘッダー スタティック エントリを設定できますが、1 つのスタティック SIP ヘッダー スティッキ値に対応付けることができるのは、重複しない 1 つの実サーバ名だけです。
(注) スタティック エントリを設定すると、ACE はこれを即座にスティッキ テーブルに入力します。最大 4096 のスタティック エントリを作成できます。
スタティック SIP ヘッダーを設定するには、スティッキ ヘッダー コンフィギュレーション モードで static header-value コマンドを使用します。このコマンドの構文は次のとおりです。
static header-value value rserver name [ number ]
• value - SIP ヘッダー値。スペースを含まず引用符なしの英数字を入力します(最大 255 文字)。または、ストリング全体を引用符(")で囲むことによって、スペースが含まれるテキスト ストリングを入力することもできます。
• rserver name - 既存の実サーバのホスト名を指定します。
• number - (任意)実サーバのポート番号。
1 ~ 65535 の整数を入力します。
header
)# static header-value 12345678 rserver SERVER1 3000
スティッキ テーブルからスタティック ヘッダー エントリを削除するには、次のように入力します。
header
)# no static header-value 12345678 rserver SERVER1 3000
SIP ヘッダー スティッキ グループの設定を完了するには、グループにサーバ ファーム エントリを設定する必要があります。スティッキ グループにサーバ ファーム エントリを設定するには、スティッキ ヘッダー コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
serverfarm name1 [ backup name2 [ sticky ] [ aggregate-state ]]
• name1 - スティッキ グループと関連付ける既存のサーバ ファームの識別子。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
• backup name2 - (任意)バックアップ サーバ ファームとして ACE に使用させる既存のサーバ ファームの識別子を指定します。プライマリ サーバ ファームが停止した場合、ACE は設定されているバックアップ サーバ ファームを使用します。クライアントがバックアップ サーバ ファームに固定されると、プライマリ サーバ ファームが再びアクティブになっても、そのクライアントはバックアップ サーバ ファームに固定されたままになります。バックアップ サーバ ファームに関する詳細は、「スティッキ機能によるサーバ ファーム動作のバックアップ」を参照してください。
• sticky - (任意)バックアップ サーバ ファームにスティッキ機能を指定します。
• aggregate-state - このオプションは廃止予定であり、すでに VIP の状態には有効ではありません。デフォルトでは、ACE は、VIP をアウト オブ サービスにする前にバックアップ サーバ ファーム内のすべての実サーバのステートを考慮します。プライマリ サーバ ファームのすべての実サーバに障害が起きても、バックアップ サーバ ファームに動作中の実サーバが 1 つ以上あれば、ACE は VIP の稼動状態を維持します。
たとえば、サーバ ファームをスティッキ グループに関連付けて、スティッキ バックアップ サーバ ファームを指定するには、次のように入力します。
header
)# serverfarm SFARM1 backup BKUP_SFARM2 sticky
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
header
)# no serverfarm
ここでは、SSL セッション ID スティッキを ACE に設定する方法を説明します。この機能を利用すると、ACE は SSL セッションの期間中、一意の SSL セッション ID に基づき同じクライアントを同じ SSL サーバに固定できます。
クライアントが SSL サーバとの新しい SSL 接続を要求した場合、最初の TCP 接続には 0 の SSL セッション ID が含まれます。この 0 値は、サーバに新しい SSL セッションを設定して、SSL セッション ID を生成する必要があることを示します。サーバはその応答で、この新しい SSL セッション ID を SSL ハンドシェークの一部としてクライアントに送信します。ACE は、サーバから新しい SSL セッション ID を学習し、スティッキ テーブルにその値を入力します。同じクライアントからの後続の SSL 接続については、ACE は SSL セッションの期間中スティッキ テーブル内の SSL セッション ID 値を使用してクライアントを同じ SSL サーバに固定します。ただし、SSL セッション ID が再ネゴシエーションされていないことが条件です。
SSL セッション ID スティッキは ACE の特定の設定の GPP(総称プロトコル解析)機能を使用します。ここで使用されるコマンドの一部は構文と説明が簡易化されており、SSL セッション ID スティッキの設定に必要なものについてだけ詳細を説明しています。ここで参照されているすべてのスティッキ関係コマンドの完全な説明については、「レイヤ 4 ペイロード スティッキの設定」を参照してください。
(注) 1 つのレイヤ 4 ポリシー マップに、同タイプの正規表現(regex)のインスタンスを最大 1024 関連付けることができます。この制限は、generic、HTTP、RADIUS、RDP、RTSP、SIP など、すべてのレイヤ 7 ポリシー マップ タイプに適用されます。regex を設定できる場所は、次のとおりです。
• レイヤ 7 クラス マップの match ステートメント
• レイヤ 7 ポリシー マップのインライン match ステートメント
• レイヤ 7 アクション リスト内のヘッダー挿入および再書き込み(SSL URL 再書き込みを含む)表現
• SSL セッション ID スティッキ設定のクイック スタート
• サーバ ファームとレイヤ 4 ペイロード スティッキ グループの関連付け
• SSL サーバからの SSL セッション ID ラーニングのイネーブル化
• SSL セッション ID のオフセット、長さ、開始パターンの設定
• 32 バイト SSL セッション ID の SSL セッション ID スティッキ設定の例
SSL セッション ID スティッキを設定する場合、次の設定要件および考慮事項を念頭に置いてください。
• リソース クラスを設定し、リソースの最小パーセンテージをスティッキに割り当て、SSL セッション ID スティッキを設定する 1 つ以上のコンテキストをリソース クラスに関連付けたことを確認します。「スティッキ設定についての設定の要件および考慮事項」を参照してください。
• この機能は、SSLv3 および TLS1 だけをサポートします。SSLv2 は暗号化データ内に SSL ID を置きます。これによって ACE または他のロード バランサは、SSL ID をインスペクションできなくなります。
• ACE は、1 ~ 32 バイトの SSL セッション ID をサポートします。
• SSL セッション ID スティッキは通常、ACE が SSL トラフィックを終了しない場合にだけ必要です。
• ACE で解析する TCP ペイロードの最大バイト数を指定するために、総称パラメータ マップを設定します。最大解析長の値は必ず 70 にする必要があります。
表 5-10 は、ACE に 32 バイト SSL セッション ID スティッキを設定するために必要な手順を簡潔にまとめたものです。各手順には、その作業を完了するために必要な CLI コマンド、または手順の参照先が含まれています。CLI コマンドに関連付けられている各タスクおよび詳細の完全な説明については、 表 5-10 以降のセクションを参照してください。
|
---|
1. 複数のコンテキストを使用している場合は、CLI プロンプトに注意し、目的のコンテキスト内で作業を実行していることを確認します。必要な場合は、正しいコンテキストに変更するか、または正しいコンテキストに直接ログインしてください。 この表の以降の例では、特に記載がない限り、Admin コンテキストが使用されています。コンテキストの作成に関する詳細は、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。 |
host1/Admin (config)#
|
3. SSL サーバの実サーバを設定し、これを SSL サーバ ファームに関連付けます。 「実サーバおよびサーバ ファームの設定」 を参照してください。 |
4. 32 バイト (デフォルト長) SSL ID のレイヤ 4 ペイロード スティッキ グループを作成し、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードを開始します。 (config-sticky-l4payloa)#
|
5. SSL セッション ID スティッキのタイムアウトの設定 (config-sticky-l4payloa) #
timeout 600
|
6. サーバ ファームをスティッキ接続用のスティッキ グループと関連付けて、任意でバックアップ サーバ ファームの状態をプライマリ サーバ ファームのすべての実サーバおよびバックアップ サーバ ファームのすべての実サーバの状態と結合します。 (config-sticky-l4payloa) #
serverfarm SSL_SFARM1
|
7. ACE がサーバ応答から SSL セッション ID を学習できるようスティッキ ラーニングを設定します。 (config-sticky-l4payloa) #
response sticky
|
8. レイヤ 4 ペイロードのオフセット、長さ、および開始パターンを設定し、ACE に 32 バイト SSL ID を含むペイロードの部分だけを解析するよう指示します。 (config-sticky-l4payloa) # layer4-payload offset 43 length 32 begin-pattern “\x20”
(config-sticky-l4payloa) #
exit
|
9. ACE で解析する TCP ペイロードの最大バイト数を指定するために、総称パラメータ マップを設定します。 (config)#
parameter-map type generic SSLID_PARAMMAP
(config-parammap-generi)#
set max-parse-length 70
(config)#
exit
|
(config)#
policy-map type loadbalance generic first-match SSLID_32_POLICY
(config-pmap-lb-generic)#
class class-default
(config-pmap-lb-generic-c)#
sticky serverfarm SSL_GROUP
(config-pmap-lb-generic-c)#
exit
(config-pmap-lb-generic)#
exit
(config)#
|
11. レイヤ 3 およびレイヤ 4 サーバ ロード バランシング トラフィック ポリシーを設定します。レイヤ 7 SLB トラフィック ポリシーおよび総称パラメータ マップをレイヤ 3 およびレイヤ 4 SLB トラフィック ポリシーと関連付けます。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
12. サーバ ポリシーを使用して、レイヤ 3 およびレイヤ 4 トラフィック ポリシーをインターフェイスに適用します。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。 |
13. SSL セッション ID スティッキ設定を表示します。必要に応じて設定を変更し、再度 show コマンドを入力して、設定変更を確認します。 |
SSL セッション ID スティッキ用レイヤ 4 ペイロード スティッキ グループの設定を開始する前に、スティッキにリソースが割り当てられていることを確認します(「スティッキ設定についての設定の要件および考慮事項」を参照)。
コンフィギュレーション モードで sticky layer4-payload コマンドを使用してレイヤ 4 ペイロード スティッキ グループを作成する方法。このコマンドの構文は次のとおりです。
name 引数は、スティッキ グループの固有識別情報です。スペースを含まず引用符なしの英数字を入力します(最大 64 文字)。
たとえば、SSL ID スティッキ グループを設定するには、次のように入力します。
設定からスティッキ グループを削除するには、次のように入力します。
スティッキ タイムアウトは、最後のクライアント接続終了後にスティッキ テーブル内のそのクライアント接続の SSL セッション ID スティッキ情報を ACE が維持する時間です。ACE が特定の SSL ID スティッキ テーブル エントリと一致する新しい接続をオープンするたびに モジュール はそのエントリのスティッキ タイマーをリセットします。
スティッキ タイムアウトを設定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで timeout minutes コマンドを使用します。このコマンドの構文は次のとおりです。
minutes 引数には、1 ~ 65535 の整数を入力します。デフォルトは 1440 分(24 時間)です。
1440 分のデフォルト値にタイムアウトをリセットするには、次のように入力します。
各スティッキ グループごとに、1 つのサーバ ファームをグループと関連付ける必要があります。サーバ ファーム をスティッキ グループと関連付けるには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで serverfarm コマンドを使用します。このコマンドの構文は次のとおりです。
name1 引数は、スティッキ グループと関連付ける既存のサーバ ファームの識別子を指定します。各スティッキ グループにサーバ ファームを 1 つ関連付けることができます。
たとえば、サーバ ファームをスティッキ グループと関連付けるには、次のように入力します。
サーバ ファームとスティッキ グループの関連付けを解除するには、次のように入力します。
ACE が SSL サーバ応答を解析し、SSL セッション ID ラーニングを実行するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで replicate sticky コマンドを使用します。ACE は、SSL サーバ応答バイトのハッシュを使用して、スティッキ データベースにデータを入力します。ACE は、次回同じ SSL セッション ID でクライアント要求を受信した場合、そのクライアントを同じ SSL サーバに固定します。このコマンドの構文は次のとおりです。
たとえば、ACE が SSL サーバからの応答バイトを解析し、SSL セッション ID を学習できるようにするには、次のように入力します。
SSL サーバ応答を解析せずに、スティッキ ラーニングを実行するというデフォルトの動作に ACE をリセットするには、次のコマンドを入力します。
SSLv3/TLS1 については、SSL セッション ID は常に TCP パケット ペイロードの同じ場所に表示されます。ACE が特定の SSL サーバに接続を固定するために、ペイロードの変化しない部分を使用するように設定できます。ACE に使用させたいペイロード部分を定義するには、ペイロードのオフセットと長さの値を指定します。ACE はこれらの値をスティッキ テーブルに保存します。
また、ACE がクライアントを特定の SSL サーバに固定するために使用する正規表現に基づき開始パターンを指定することもできます。正規表現の詳細については、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 を参照してください。
ペイロードのオフセット、長さ、および開始パターンを設定するには、スティッキ レイヤ 4 ペイロード コンフィギュレーション モードで layer4-payload コマンドを使用します。このコマンドの構文は次のとおりです。
layer4-payload offset number1 length number2 begin-pattern expression
• offset number1 - ペイロードの最初のバイトから無視するバイト数を示すことにより、ACE が特定の SSL サーバにクライアントを固定するペイロード部分を指定します。SSLv3 については、SSL ID が常に表示されるオフセットである 43 を入力します。
• length number2 - ACE がクライアントを SSL サーバに固定するために使用するペイロード部分の長さ(オフセット値の後ろのバイトからの長さ)を指定します。32 バイト SSL ID については、 32 を入力します。
• begin-pattern expression - ペイロードの開始パターンおよびハッシュを行う前に照合するパターン ストリングを指定します。開始パターンを指定しない場合、ACE はオフセット バイトの直後に解析を開始します。32 バイト SSL ID については、 「\x20」 を入力します。ACE は、ストリング式の照合に正規表現を使用することをサポートします。 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 の 表 3-3 には、ストリング式の照合に使用できる、サポート対象文字の一覧があります。
たとえば、32 バイト SSL セッション ID を指定するには、次のように入力します。
(config-sticky-l4payloa)
# layer4-payload offset 43 length 32 begin-pattern “\x20”
設定からペイロードのオフセット、長さ、および開始パターンを削除するには、次のように入力します。
次の設定例は、32 バイト SSL セッション ID の SSL セッション ID スティッキを設定する方法を示したものです。ここには、SSL セッション ID スティッキ コマンドに加えて通常のロード バランシング ポリシーが含まれています。SSL セッション ID スティッキ特定のコマンドおよび関連するコマンドは太字で示してあります。
(注) 異なった長さのセッション ID の SSL セッション ID スティッキについては、必要なだけクラス マップを設定することができます。
スティッキ グループに特定タイプのスティッキを制御するパラメータを設定したら、レイヤ 3 およびレイヤ 4 トラフィック ポリシーとレイヤ 7 トラフィック ポリシーを作成する必要があります。たとえば、HTTP ヘッダー スティッキの SLB ポリシーを設定するには、次の手順を実行します。
ステップ 2 レイヤ 7 ポリシー マップのアクションとしてスティッキ グループを関連付けます。
ステップ 3 レイヤ 7 HTTP パラメータ マップを設定します。アプリケーションの必要に応じてパラメータを設定します。HTTP パラメータ マップの設定に関する詳細は、「HTTP パラメータ マップの設定」を参照してください。
ステップ 4 レイヤ 3 およびレイヤ 4 のクラス マップとポリシー マップを設定してから、そのクラス マップとポリシー マップを関連付けます。
ステップ 5 レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。
ステップ 6 HTTP パラメータ マップをレイヤ 3 およびレイヤ 4 ポリシー マップと関連付けます。
ステップ 7 レイヤ 3 およびレイヤ 4 ポリシー マップをインターフェイスに適用します(サービス ポリシーを使用して各インターフェイスに適用するか、または現在のコンテキストのすべてのインターフェイスにグローバルに適用します)。
SLB トラフィック ポリシーの設定に関する詳細は、 「サーバ ロード バランシングに関するトラフィック ポリシーの設定」 を参照してください。
ここでは、スティッキの設定および統計情報の表示に使用できる show コマンドについて説明します。具体的な内容は次のとおりです。
現在のスティッキ設定を表示するには、EXEC モードで show running-config コマンドを使用します。このコマンドの構文は次のとおりです。
ACE は、次のカテゴリの情報に基づいてスティッキ データベースにスティッキ エントリを保存します。
スティッキ データベース エントリ情報を表示するには、EXEC モードで show sticky database コマンドを使用します。このコマンドの構文は次のとおりです。
show sticky database [ static ] [ client ip_address | group name1 | http-content value1 | http-cookie value2 | http-header value3 | layer4-payload value4 | rserver name2 | rtsp-header value5 | sip-header value6 | type { http-cookie | http-header | ip-netmask | radius }]
• static - (任意)後ろに指定されるスタティック スティッキ エントリ タイプのスタティック スティッキ データベース エントリを表示します。
• client ip_address - (任意)指定のクライアント送信元 IP アドレスのスティッキ データベース エントリを表示します。
• group name1 - (任意)指定スティッキ グループ名のスティッキ データベース エントリを表示します。
• http-content value1 - (任意)指定 HTTP コンテンツ値のスティッキ データベース エントリを表示します。
• http-cookie value2 - (任意)指定 HTTP cookie 値のスティッキ データベース エントリを表示します。
• http-header value3 - (任意)指定 HTTP ヘッダー値のスティッキ データベース エントリを表示します。
• layer4-payload value4 - (任意)指定レイヤ 4 ペイロード値のスティッキ データベース エントリを表示します。
• rserver name2 - (任意)指定の実サーバ名のスティッキ データベース エントリを表示します。
• rtsp-header value5 - (任意)指定 RTSP ヘッダー値のスティッキ データベース エントリを表示します。
• sip-header value6 - (任意)指定 SIP ヘッダー値のスティッキ データベース エントリを表示します。
• type - (任意)次のいずれかのスティッキ グループ タイプのスティッキ データベース エントリを表示します。
表 5-11 に、 show sticky database コマンドで出力される各フィールドの説明を示します。
現在のコンテキストのグローバル スティッキ統計情報を表示するには、EXEC モードで show stats sticky コマンドを使用します。このコマンドの構文は次のとおりです。
表 5-12 に、 show stats sticky コマンドで出力される各フィールドの説明を示します。
|
|
---|---|
エントリの期限が切れていなくとも、データベースがいっぱいであったり、新しいスティッキ接続が受信されたなどの理由で ACE が消去する必要のあるスティッキ データベースの古いスティッキ エントリの総数 |
|
現在のコンテキストのすべてのスティッキ統計情報を消去するには、EXEC モードで clear stats sticky コマンドを使用します。このコマンドの構文は次のとおりです。
たとえば、Admin コンテキストのすべてのスティッキ統計情報を消去するには、次のように入力します。
(注) 冗長性構成の場合は、アクティブとスタンバイ両方の ACE で、スティッキ統計情報を明示的に消去する必要があります。アクティブ モジュール上の統計情報を消去しても、スタンバイ モジュールの統計情報は古い値のまま残ります。
ダイナミック スティッキ データベース エントリを消去するには、EXEC モードで clear sticky database コマンドを使用します。このコマンドの構文は次のとおりです。
clear sticky database { all | group group_name }
• all - そのコンテキストのすべてのダイナミック スティッキ データベース エントリを消去します。
• group group_name - 指定スティッキ グループのすべてのダイナミック スティッキ データベース エントリを消去します。
(注) このコマンドでは、スタティック スティッキ データベース エントリは消去されません。スタティック スティッキ データベース エントリを消去する場合は、static コマンドの no 形式を使用してください。
たとえば、スティッキ グループ名 GROUP1 のダイナミック スティッキ データベースをすべて消去する場合は、次のように入力します。
ファイアウォール ロード バランシング(FWLB)を設定する場合は、 「ファイアウォール負荷分散の設定」 を参照してください。