カスタムサーバーIDの永続化方法では、クライアントリクエストで指定されたサーバーIDを使用して永続性を維持します。このタイプのパーシスタンスを機能させるには、まずサービスにサーバー ID を設定する必要があります。NetScaler ADCアプライアンスは、クライアント要求のURLをチェックし、指定されたサーバーIDに関連付けられたサーバーに接続します。サービスプロバイダーは、特定のサービスに対するリクエストで提供されるサーバー ID をユーザーが認識していることを確認する必要があります。
たとえば、サイトがイメージ、テキスト、マルチメディアなどの異なるタイプのデータを異なるサーバから提供している場合は、各サーバにサーバ ID を割り当てることができます。NetScalerアプライアンスでは、対応するサービスのサーバーIDを指定し、対応する負荷分散仮想サーバーでカスタムサーバーIDの永続性を構成します。リクエストを送信する際、クライアントは必要なデータタイプを示す URL にサーバー ID を挿入します。
カスタムサーバー ID パーシステンスを設定するには:
-
負荷分散の設定で、永続性を維持するためにユーザー定義のサーバー ID を使用する各サービスにサーバー ID を割り当てます。英数字のサーバー ID を使用できます。
-
サーバー ID の URL クエリを調べ、対応するサーバーにトラフィックを転送するルールをデフォルトの構文表現言語で指定します。
-
カスタムサーバー ID パーシステンスを設定します。
注:パーシステンスタイムアウト値は、カスタムサーバー ID のパーシステンスタイプには影響しません。この永続性タイプにはクライアント情報が保存されないため、永続クライアントの最大数に制限はありません。
例:
2 つのサービスを含む負荷分散設定では、サーバー ID 2345-photo-56789 をサービス 1 に、サーバー ID 2345-drawing-abb123 をサービス 2 に割り当てます。これらのサービスを Web11 という名前の仮想サーバーにバインドします。
set service Service-1 10.102.29.5 -CustomServerID 2345-photo-56789
set service Service-2 10.102.29.6 -CustomServerID 2345-drawing-abb123
仮想サーバーWeb11で、カスタムサーバーIDの永続性を有効にします。
次の式を作成して、文字列「sid=」を含むすべての URL クエリが検査されるようにします。
HTTP.REQ.URL.AFTER_STR("sid=")
例:
set lb vserver Web11 -persistenceType customserverID -rule "HTTP.REQ.URL.AFTER_STR("sid=")"
bind lb vserver Web11 Service-[1-2]
クライアントが次の URL を含むリクエストを Web11 の IP アドレスに送信すると、アプライアンスはその要求を Service-2 に転送し、パーシステンスを尊重します。
例:
http://www.example.com/index.asp?&sid=2345-drawing-abb123