F5 ネットワークス社の BIG-IP コントローラが提供するクッキー・パーシステンス
BIG-IP コントローラはビジネス上クリティカルな web サイトにハイアベイラビリティ機能とインテリジェントなロードバ ランス機能を提供するように設計されています。これらの機能と一緒に、BIG-IP はユーザがサーバにパーシステン スのあるアクセスを必要としている事を認識できるように設定する事が可能です。この機能は、ユーザがある特定 の同一のサーバに対してコネクションを再接続する事を可能にしてくれます。 BIG-IP コントローラは、色々な種類のパーシステンス機能を提供します。 :ソースIP アドレス、サーバ、VIP、SSL、デスティネイション・アドレス・アフィニティ、及びクッキー・パーシステンス。 このドキュメントは、BIG-IP のクッキー・パーシステンス・モードに焦点をあて、このモードの多様性とそれぞれがど のように動作するかを説明します。 パーシステンスの必要性 クッキー・パーシステンスの価値を完全に認識する為に、まずパーシステンスの簡単なオーバービューから行いま す。例えば、BIG-IP が複数のサーバのロードバランスを行っている時、パーシステンスは必要になります。あるユ ーザがある1台のサーバにコネクションしている場合に、そのユーザは恐らく再度コネクションする場合にその同一 のサーバに接続することが要求されるはずです。この事は、サーバがそのユーザのデータを格納していて、そのデ ータはダイナミックに他のサーバと共有されていない場合には必要な機能となります。 例えば、ある顧客があるweb サイトで商品のショッピング・カートを作っていて、そして、そのトランザクションが完了 する前にそのサイトを離れたとしましょう。そして、その同一のサイトに戻ったとき、BIG-IP はその顧客のリクエスト を他のサーバに振り向けてしまうでしょう。そして、そのサーバはその顧客もかれのショッピング・カートも知らないこ とでしょう。(勿論、そのサーバ全てが顧客情報と彼等が選んだ商品の情報を単一のバックエンドのデータ・ベース・ サーバに格納していれば、このような事は問題にはならないでしょうが、)しかしながら、そのサイトがそのような方 法で設計されていない場合、特定のショッピング・カート情報は、ある1台のサーバ上に留まらざるをえません。この 場合には、BIG-IP は、ユーザのリクエストをシームレスに処理する為に、ユーザが以前に使用したサーバと同じサ ーバを選択してやる必要があります。このような条件の場合には、BIG-IP はロードバランス・アルゴリズムにオーバ ーライドして、セッションのパーシステンスを実現します。 クッキーとは何か?ケットを持って帰ってきたとき、その駐車を行ってくれた人は、そのチケットにより駐車場所を特定し、その車をあな たに返してくれます。 クッキーは、ネットワーク管理者やweb マスターが彼等のサイトを個人ベースにカスタマイズする事を可能にしてく れます。クッキーは、情報の個人対応、オンライン販売を補助する事を可能にしてくれます。クッキーはさらに、その サイトのコンテンツをユーザの好みに合うようにする方法を提供してくれます。もし、あなたがクラシックの音楽CD をAmazon.com で購入した場合、次回あなたがそのサイトを訪れた時に、他のクラシック・ミュージックのリストや、
特別価格商品、他に関連する情報といったあなたの好みに合うような情報と一緒に例えば"Welcome Back, Joe Smith"といったような個人向けのメメッセージを見る事になるでしょう。簡単にいうと、クッキーはデータベースの情 報を蓄え、ページの設定をカスタマイズし、サイトを殆どどんな事に関しても個人向けにカスタマイズする事を可能 にしてくれます。 明らかに、クッキー及びそれの含む情報は、企業がその顧客に対して差別化されたサービスを提供する事を可能 にしてくれます。即ち、クッキーはe-コマースの世界で、企業が'毎度ありがとうございます。我々はあなたを覚えて います'という手段で顧客に認知要素を作り出しています(即ち企業とそのサイトに対する計り知れない程の強いブ ランド・イメージ)。 BIG-IP のクッキー・パーシステンス ハイアベラビリティとロードバランスを提供する製品のBIG-IP コントローラは、クッキー・パーシステンスを提供しま す。この手法のパーシステンスは、顧客が以前にあるweb サイトを訪問した時に使用したのと同じサーバに再接続 することを可能にする為に、顧客のコンピュータに蓄えられているHTTP のクッキーを使用します。BIG-IP は、3つ のタイプのクッキー・パーシステンスを提供します。インサート・モード、リライト・モード、及びパッシブ・モードです。 選択されたモードにより、クッキーがユーザに返される時にBIG-IP がそれをどう扱うかが変わります。以下は、そ れぞれのモードの簡単な説明です。 インサート・モード クッキー・インサート・モードでは、ユーザが接続しているサーバの情報は、そのサーバから返されるHTTP 応答の ヘッダーのなかに書き込まれます。このモードでは、その選択したサーバの情報を含んでいるクライアントのコンピ ュータ上に(BIGipServer という名前の)クッキーを生成します。そのクッキーの失効日時は、BIG-IP コントローラ上 で設定されるタイム・アウトに基づいてセットされます。
クッキーパーシステンス(インサート・モード) この方法の場合、ある顧客が最初にあるサイトを訪れた時、あるHTTP リクエスト(クッキーの付いていない)が BIG-IP コントローラに入ってきます。それから BIG-IP はサーバをどれか選択し、そのリクエストを送ります。HTTP の返答(クッキーを持たない)がBIG-IP に返ってき、BIG-IP はクッキーをインサートしてその HTTP 応答をその顧 客側に返します。その顧客が後程そのサイトに戻ってきた時、HTTP のリクエスト(同じクッキーをふくんでいる)が BIG-IP に入ってきてそのクッキーは適正なサーバを指定でき、その HTTP リクエスト(同じクッキーを含んでいる) はそのサーバに送られます。 リライト・モード
もしリライト・モードが指定された場合には、BIG-IP コントローラはサーバから顧客に送られる BIG-IP Cookie という
名のクッキーをインターセプトして、そのクッキーの名前をBIGipServer に書き換えます。BIG-IP コントローラがそ
(クッキー中で、ゼロは75 個である必要があります。) クッキー・パーシステンス(リライト・モード) リライトの場合には、ある顧客が最初にあるサイトを訪れて、HTTP のリクエスト(クッキーを持たない)が BIG-IP に 入ってきます。BIG-IP はサーバを選択し、そのリクエストを送ります。そのサーバからの応答は、この場合はブラン クのクッキーを含んでいます。BIG-IP はそのクッキーをリライトし、その HTTP 応答を特殊なクッキーと一緒に送り 返します。後程その顧客がそのサイトに帰ってきた時、HTTP リクエスト(同じクッキーを持つ)が BIG-IP に入ってき て、BIG-IP はこのクッキー情報を適正なサーバを特定する為に使用します。この HTTP リクエスト(同じクッキーを 持つ)はそのサーバに送られます。 パッシブ・モード パッシブ・モードが選択された場合には、BIG-IP コントローラはサーバからの応答に対して既存のクッキーにインサ ートを行ったり、サーチしたりする事はありませんし、クッキーをセットアップしようとする事もありません。このモード では、サーバが正確なノード情報、タイム・アウトの設定を含むクッキーを提供する事を仮定しています。 パッシブ・モードが動作する為には、web サーバから適正なノード情報を含んだクッキーが来ることが必要です。 Apache の場合、クッキーは httpd.conf.ファイルにエントリーを追加する事で各々の web ページ・ヘッダーに追加す る事が可能です。
Header add Set-Cookie
BIGipServer=184658624.20480.000; expires=Sat,19-Aug-2000 19:35:45 GMT; path=/
この例では、184658624 はノードのアドレスをエンコードした値で、20480 はポートをエンコードした値です。アドレ スのエンコードの等価式は、アドレス(a.b.c.d)に対して:
ポートをエンコードする方法は、そのポートを表す2 バイトを取り、それをひっくり返す。従って、ポート 80 は 80x 256 + 0 = 20480 になります。ポート 1433 は(5x 256 + 153 の代わりに)153 x 256 +5 = 39173 になります。 パッシブでの場合、ある顧客があるサイトを訪問して、HTTP のリクエスト(クッキーの無い)が BIG-IP に送られま す。BIG-IP はサーバを選択し、そのリクエストをサーバに送ります。HTTP の応答(特別のクッキーと一緒に)は BIG-IP に返されます。BIG-IP は、HTTP の応答を(特別なクッキーと一緒に)顧客側に返します。この顧客が後程 そのサイトに帰ってきたとき、HTTP リクエスト(同一のクッキーで)により、適正なサーバが選択されます。HTTP リ クエスト(同一のクッキーで)はそのサーバに送られます。HTTP の応答(特別なクッキーと一緒に)は、BIG-IP にも どされ、BIG-IP は特別なクッキーと一緒に HTTP の応答を顧客側に返します。 クッキー・パーシステンス(パッシブ・モード)
まとめ パーシステンスはもはやあなたのweb サイトのサーバへの計画や設計に対する検討項目ではなく、必然です。あ なたは、あなたのサイトのサービス品質を最適化する為に、あなたのネットワークをロードバランスする必要がある のと同時に、トラッフィックを特定のサーバに振り向けてやる機能が必要です。そして、クッキーがサイトを顧客向け に個人対応させる方法として一般化するのにつれ、このメカニズム同様に成長する事になるでしょう。柔軟性があ って、インテリジェントなロードバランス・ソリューションを提供するBIG-IP コントローラ は、戦略的ビジネス・アプリ ケーションをサポートして、色々なネットワーク環境を収容できる、クッキー・パーシステンスを含む6 つのパーシス テンス・モードを提供します。