Cisco Content Services Switch スタートアップ ガイド Software Version 7.50
スティッキ クッキーの設定
スティッキ クッキーの設定
発行日;2012/01/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1MB) | フィードバック

目次

スティッキ クッキーの設定

スティッキの概要

クッキーによる高度なロード バランシング

HTTP クッキーのヘッダー内に設定された文字列に基づくスティッキ

URL 内のクッキーに基づくスティッキ

HTTP ヘッダーまたは URL 内のクッキーに基づくスティッキ

以降の内容について

スティッキ クッキーの設定

この章では、クッキーを使用する CSS スティッキについて説明します。

スティッキの概要

クッキーによる高度なロード バランシング

サービス、スティッキ パラメータとその使用方法、およびレイヤ 3、レイヤ 4、レイヤ 5 のスティッキについては、『 Cisco Content Services Switch Content
Load-Balancing Configuration Guide
』を参照してください。

スティッキの概要

通常、e コマース Web サイトを訪れた顧客は、サイト内の各所を見て回る、いわばインターネットでのウィンドウ ショッピングから始めます。アプリケーションによっては、一度サーバとの接続が確立されると、顧客をその 1 つのサーバに「固定」することを要求するサイトもあれば、顧客がショッピング カートを作るまでは、その要求をしないものもあります。

いずれの場合も、顧客がショッピング カートに商品を入れ始めたら、同じサーバの同じショッピング カートにすべての商品が入るように、顧客のすべての要求が同じサーバに送信されることが重要です。顧客のショッピング カートのインスタンスは、通常、特定の Web サーバに対してローカルであり、複数のサーバ間で複製されません。

CSS の「スティッキ」とは、セッションが終了するまで CSS によって維持される、1 つのクライアントと 1 つのサーバ間の関連付けのことです。スティッキを使用すれば、クライアントは、セッションが終了するまで同じサーバに接続されたままになるため、Web を介したトランザクションが可能になります。CSS は、使用するロード バランシング方式を決めた後に、コンテンツ ルールに応じて、クライアントを適切なサーバに「固定(スティック)」します。

CSS は、クライアントがすでに特定のサービスに固定されていると判断すると、一致したコンテンツ ルールで指定されたロード バランシングの基準に関係なく、クライアント要求をそのサービスに送信します。クライアントが特定のサービスに固定されていないと判断すると、CSS はコンテンツ要求に通常のロード バランシングを適用します。

コンテンツを提供しているサービスは、クライアントの クッキー によって、各クライアントを一意に識別します。クッキーは、Web クライアントにデータを配信したり、クライアントに情報の保存を要求したりするために、サーバが使用する小さなデータ構造体です。一部のアプリケーションでは、クライアントとサーバ間の状態を維持するために、クライアントがサーバに情報を返すことがあります。

CSS はコンテンツへの要求を検査し、コンテンツ ルールの照合によってコンテンツが固定していると判断すると、そのコンテンツ要求に存在するすべてのクッキーと URL を検査します。この情報を使用して、適切なサーバにコンテンツ要求を送ります。

クッキーによる高度なロード バランシング

同じユーザやクライアントからの追加セッションが、その最初の接続と同じサービスに送信され、通常のロード バランシングが無効になると、コンテンツ ルールは「スティッキ」になります。デフォルトでは、拡張バランシング方式は無効です。

advanced-balance コマンドを使用して、スティッキ性を持つコンテンツ ルールに、拡張ロード バランシング方式を指定します。 advanced-balance コマンドは、オプション( cookies cookieurl 、および url )で指定される文字列を使用して、クライアントをサーバに固定します。文字列方式ではスティッキ テーブルが使用されないため、スティッキ テーブルの上限が使用しているアプリケーション要件に対して小さすぎる場合、このオプションは便利です。

ここでは、次の設定について説明します。

HTTP クッキーのヘッダー内に設定された文字列に基づくスティッキ
advance-balanced cookies
コマンドによる設定

URL 内のクッキーに基づくスティッキ advance-balanced url コマンドによる設定

HTTP ヘッダーまたは URL 内のクッキーに基づくスティッキ
advance-balanced cookieurl
コマンドによる設定

ArrowPoint クッキーなど、高度なロード バランシング方式の詳細については、『 Cisco Content Services Switch Content Load-Balancing Configuration Guide 』を参照してください。

HTTP クッキーのヘッダー内に設定された文字列に基づくスティッキ

一意に識別できるスタティックなクッキーがサーバから返される場合は、
advanced-balance cookies
コマンドを使用します。このコマンドは、HTTP クッキーのヘッダー内に設定された文字列に基づいて、クライアントをサーバに固定するコンテンツ ルールを有効にします。スティッキ設定が advanced-balance cookies に設定されているコンテンツ ルールでは、すべてのクライアントで、ブラウザのクッキーを有効にする必要があります。

次に示す設定では、HTTP ヘッダー内の Cookie: フィールドで指定されているクッキーが、CSS によって検索されます。

1. CSS は設定されている文字列プレフィックス(クッキー名)を検索します。この例では、コンテンツ ルール内の文字列プレフィックスは MyCookie= です。

2. プレフィックスが見つかると、続いて CSS はいずれかのサービスに設定されている、いずれか 1 つの文字列値に合致する値を検索します。たとえば、service test 1 には、文字列値として server1 が設定されています。CSS は、プレフィックスと値の検索を、ヘッダー内のクッキー フィールドの先頭から開始し、フィールドの末尾まで全体を検索します。

HTTP ヘッダーが複数のパケットに分割されている場合、CSS はデフォルトで 5 つのパケットを検索します。ただし、CSS が検索するパケット数は、最大 20 です(詳細は、グローバルの spanning-packets コマンドの説明を参照してください)。

3. 文字列プレフィックスが見つからないか、サービスのどの文字列値とも一致するクッキー値が見つからない場合、CSS は設定済みのバランシング方式(デフォルトではラウンドロビン)に従って要求の負荷を均等化します。クッキーのヘッダーや指定されたクッキー文字列が見つからない場合に CSS が実行する処理については、コンテンツ ルール モードの
sticky-no-cookie-found-action
コマンドの説明を参照してください。

configure
 
!*************************** GLOBAL ***************************
ip route 0.0.0.0 0.0.0.0 10.86.191.174 1
 
!************************* INTERFACE *************************
interface 3/2
bridge vlan 2
 
!************************** CIRCUIT **************************
circuit VLAN1
description "client vlan"
 
ip address 10.86.191.161 255.255.255.240
 
circuit VLAN2
description "server vlan"
 
ip address 10.1.1.254 255.255.0.0
 
!The string value configured in the service must match the value of the cookie for a particular server.
!************************** SERVICE **************************
service test1
ip address 10.1.1.1
string server1
active
 
service test2
ip address 10.1.1.2
string server2
active
 
service test3
ip address 10.1.1.3
string server3
active
 
service test4
ip address 10.1.1.4
string server4
active
 
!The string prefix must match the cookie name. We recommend that you include the ‘=’ as part of the string prefix.
!*************************** OWNER ***************************
owner test
content stickyCookie
advanced-balance cookies
string prefix "MyCookie="
add service test1
add service test2
add service test3
add service test4
port 80
protocol tcp
active
 

URL 内のクッキーに基づくスティッキ

クッキーが HTTP ヘッダー内のクッキー フィールドではなく、URL に含まれる場合は、 advanced-balance url コマンドを使用します。クライアントのアプリケーションの中には、クッキーを受け入れないものもあります。サイトがクッキーにある情報に依存している場合、管理者はサーバ アプリケーションを変更して、クッキーのデータを URL のパラメータ セクションに付け加えることもあります。このパラメータは、通常、URL のメイン データ セクションの終わりの「?」の後に続きます。

この設定で CSS が実行する処理は、 advanced-balance cookies コマンドの使用時とほぼ同じですが、URL 末尾の ? に続く部分でクッキーがチェックされます。

ここでも、コンテンツ ルール内の advanced-balance url を除き、「HTTP クッキーのヘッダー内に設定された文字列に基づくスティッキ」の説明と同じ設定を使用します。

 
!*************************** OWNER ***************************
owner test
content stickyCookie
advanced-balance url
string prefix "MyCookie="
add service test1
add service test2
add service test3
add service test4
port 80
protocol tcp
active

HTTP ヘッダーまたは URL 内のクッキーに基づくスティッキ

クッキーが HTTP ヘッダー内のクッキー フィールドまたは URL に指定されている可能性がある場合は、 advanced-balance cookieurl コマンドを使用します。

この場合、CSS はまず HTTP ヘッダーのクッキー フィールド内のクッキーを検索し、 クッキー フィールドが存在しなければ、URL 内のクッキーを検索します。このコマンドは、クッキーを受け付けるクライアントと、受け付けないクライアントが混在している場合に使用します。

ここでも、コンテンツ ルール内の advanced-balance cookieurl を除き、「HTTP クッキーのヘッダー内に設定された文字列に基づくスティッキ」の説明と同じ設定を使用します。

!*************************** OWNER ***************************
owner test
content stickyCookie
advanced-balance cookieurl
string prefix "MyCookie="
add service test1
add service test2
add service test3
add service test4
port 80
protocol tcp
active
 

以降の内容について

管理および設定作業と参照マニュアル 」では、CSS の管理作業と設定作業が説明されているマニュアルと章、および CSS の管理と設定に関する各マニュアル、およびユーザマニュアルの各章の概要を示します。