ステートフル アプリケーションの安定性を確保するため、ロード バランサには、関連するすべての接続を同じサーバに転送するパーシステンス機能が実装されています。アプリケーションによるさまざまな種類のニーズに対応できるように、さまざまな種類のパーシステンス機能がサポートされています。

一部のアプリケーションでは、サーバの状態(ショッピング カートなど)が維持されます。これらの状態はクライアントごとに、IP アドレス ベースか、HTTP セッション ベースで維持されます。アプリケーションは、同じクライアントや HTTP セッションからの接続を処理する際に、この状態を参照または変更する場合があります。

送信元 IP アドレスのパーシステンス プロファイルは、送信元の IP アドレスに基づいてセッションを追跡します。送信元アドレス ベースのパーシステンス が有効になっている仮想サーバへクライアントが接続を要求すると、ロード バランサは、そのクライアントに以前接続したかどうかを確認し、接続したことがあれば、そのクライアントを同じサーバに返します。以前に接続したことがない場合は、プールのロード バランシング アルゴリズムに基づいてサーバ プール メンバーを選択できます。送信元 IP アドレスのパーシステンス プロファイルは、レイヤー 4 およびレイヤー 7 の仮想サーバによって使用されます。

Cookie パーシステンス プロファイルは、クライアントが特定のサイトに初めてアクセスする際に、一意の Cookie を挿入してセッションを識別します。以降の要求では、クライアントから HTTP Cookie が転送され、ロード バランサはその情報を使用して Cookie パーシステンスを行います。Cookie パーシステンス プロファイルを使用できるのはレイヤー 7 の仮想サーバのみです。

手順

  1. ブラウザから、NSX Manager (https://nsx-manager-ip-address) に管理者権限でログインします。
  2. [ネットワーク] > [ロード バランサ] > [プロファイル] > [パーシステンス プロファイル] の順に選択します。
  3. 送信元 IP アドレスのパーシステンス プロファイルを作成します。
    1. ドロップダウン メニューから [追加] > [送信元 IP アドレスのパーシステンス] の順に選択します。
    2. 送信元 IP アドレスのパーシステンス プロファイルの名前と説明を入力します。
    3. パーシステンス プロファイルの詳細を設定します。
      送信元 IP アドレス プロファイルのデフォルト設定をそのまま使用することもできます。
      オプション 説明
      パーシステンスの共有 切り替えボタンを使用して、このプロファイルに関連付けられているすべての仮想サーバでパーシステンス テーブルを共有するかどうかを指定します。

      送信元 IP アドレスのパーシステンス プロファイルが特定の仮想サーバに関連付けられていて、そのプロファイルでパーシステンスの共有が有効になっていない場合、そのプロファイルに関連付けられている各仮想サーバでは、プライベートなパーシステンス テーブルが保持されます。

      パーシステンス エントリのタイムアウト パーシステンス期間を秒単位で入力します。

      ロード バランサのパーシステンス テーブルには、同じサーバにクライアント要求が転送されたことを記録したエントリが維持されます。

      • タイムアウト期間内に同じクライアントから新しい接続要求を受信しなかった場合、パーシステンスのエントリは期限切れになり、削除されます。
      • タイムアウト期間内に同じクライアントからの新しい接続要求を受信した場合、タイマーがリセットされ、クライアント要求がスティッキー プール メンバーに送信されます。

      タイムアウト期間が経過すると、ロード バランシング アルゴリズムで割り当てられたサーバに新しい接続要求が送信されます。L7 ロード バランシングの TCP で、送信元 IP アドレスのパーシステンスを使用するシナリオでは、一定期間に新規の TCP 接続がない場合、接続が継続中であってもパーシステンス エントリがタイムアウトします。

      HA パーシステンス ミラーリング 切り替えボタンを使用して、パーシステンス エントリを HA ピアに同期するかどうかを指定します。
      テーブルがフルになるとエントリを消去 パーシステンス テーブルがいっぱいになったときにエントリを消去します。

      タイムアウト値が大きい場合、トラフィックが大量に発生すると、パーシステンス テーブルがすぐにいっぱいになる可能性があります。パーシステンス テーブルがいっぱいになると、新しいエントリを受け入れるため、最も古いエントリが削除されます。

    4. [OK] をクリックします。
  4. Cookie パーシステンス プロファイルを作成します。
    1. ドロップダウン メニューから [追加] > [Cookie パーシステンス] の順に選択します。
    2. Cookie パーシステンス プロファイルの名前と説明を入力します。
    3. [パーシステンスの共有] 切り替えボタンを使用して、同じプール メンバーに関連付けられている複数の仮想サーバの間でパーシステンスを共有するかどうかを指定します。

      Cookie パーシステンス プロファイルでは、<name>.<profile-id>.<pool-id> という形式を持つ Cookie が挿入されます。

      Cookie パーシステンス プロファイルが特定の仮想サーバに関連付けられていて、そのプロファイルでパーシステンスの共有が有効になっていない場合は、仮想サーバごとに Cookie パーシステンスがプライベートに使用され、プール メンバーによって修飾されます。ロード バランサによって、 <name>.<virtual_server_id>.<pool_id> という形式を持つ Cookie が挿入されます。
    4. [次へ] をクリックします。
    5. パーシステンス プロファイルの詳細を設定します。
      オプション 説明
      Cookie モード ドロップダウン メニューからモードを選択します。
      • [挿入] - セッションを識別する一意の Cookie を追加します。
      • [プリフィックス] - 既存の HTTP Cookie 情報に新しい情報を追加します。
      • [書き換え] - 既存の HTTP Cookie 情報を書き換えます。
      Cookie 名 Cookie 名を入力します。
      Cookie ドメイン ドメイン名を入力します。

      HTTP Cookie ドメインは、挿入モードの場合にのみ設定できます。

      Cookie のパス Cookie の URL パスを入力します。

      HTTP Cookie のパスは、挿入モードの場合にのみ設定できます。

      Cookie の暗号化 Cookie サーバの IP アドレスとポート情報を暗号化します。

      暗号化を無効にするには、この切り替えボタンをオフにします。暗号化を無効にすると、Cookie サーバの IP アドレスとポート情報はプレーン テキストになります。

      Cookie のフォールバック Cookie で無効状態またはダウン状態のサーバが参照されている場合、クライアントの要求を処理する新しいサーバを選択します。

      Cookie で無効状態またはダウン状態のサーバが参照されている場合、クライアントの要求を却下するには、この切り替えボタンをオフにします。

    6. Cookie の有効期限の詳細を設定します。
      オプション 説明
      Cookie の時間タイプ ドロップダウン メニューから Cookie の時間タイプを選択します。

      セッション Cookie タイプを選択した場合も、パーシステンス Cookie タイプを選択した場合も、ブラウザが閉じられると Cookie は期限切れになります。

      最大アイドル時間 Cookie を期限切れにするまでの最大アイドル時間を秒単位で入力します。
    7. [終了] をクリックします。