過去のナビゲーションリンクのスキップSecure Global Desktop 4.31 管理者ガイド > アレイ、サーバー、負荷分散 > Webtop セッションの負荷分散

Webtop セッションの負荷分散

Webtop セッションの負荷分散は、ログイン先の Secure Global Desktop サーバーの選択に関連しています。Secure Global Desktop サーバーの選択には、外部ハードウェアロードバランサやラウンドロビン DNS などの多数の機構を使用できます。

Webtop セッションの負荷分散におけるもっとも重要な要素は、Webtop セッションの持続性です。Webtop セッションは、ユーザーが Secure Global Desktop サーバーにログインした時点で始まり、そのサーバーによって所有されます。ユーザーが Secure Global Desktop とやりとりすると、さらに HTTP 要求が Webtop 接続を介して Secure Global Desktop Web Server に送信されます。ネットワーク接続の負荷分散が行われている場合、Webtop の HTTP 要求はアレイの任意のメンバーに転送される可能性があります。Webtop 要求がその Webtop セッションを所有していないアレイメンバーに送信されると、Webtop セッションがそのアレイメンバーに移って (セッションの乗っ取りとも呼ばれる) 実行中のすべてのアプリケーションのウィンドウが消えたり、ユーザーの Webtop セッションの可視状態が不正になったりする場合があります。したがって、Webtop セッションの負荷分散を正常に行うには、Webtop 要求が常に正しい Secure Global Desktop サーバーに送信されるように持続する必要があります。

Secure Global Desktop のデフォルトインストールでは、Webtop 接続を持続させるためには負荷分散 JavaServer Page (JSP) を使用して追加設定を行う必要があります。JSP には Cookie を設定する JavaScript スクリプトが含まれており、その Cookie は Webtop の HTTP 要求を正しいサーバーにリダイレクトするために使用されます。

負荷分散 JSP は、次の条件が満たされている場合にのみ使用できます。

負荷分散 JSP は、次の 2 通りの方法で使用できます。

負荷分散 JSP を使用して Webtop セッションを分散する

負荷分散 JSP を使用して Webtop セッションを分散する場合は、アレイメンバーの 1 つが負荷分散サーバーとして機能します。次の構成では、アレイのプライマリサーバーを使用しています。

  1. アレイのプライマリサーバーで、スーパーユーザー (root) としてログインします。
  2. 負荷分散 JSP を /sgd Web アプリケーションディレクトリにコピーします。
    過去のコマンド構文またはプログラムコードのスキップ
    # cd /opt/tarantella/webserver/tomcat/*/webapps/sgd/
    
    # cp -r admin/loaddist/ swcd/
    
  3. 負荷分散 JSP を編集します。
  4. 負荷分散 JSP を使用するようエントリポイント JSP を設定します。
  5. 使用するログイン URL をユーザーに通知します。たとえば、http://primary.indigo-insurance.com/sgd となります。

    ログイン URL はプライマリサーバーでなければなりません。

    http://primary.example.com という URL も使用できますが、この URL はクライアントプロファイルで使用できません。

HTTPS 接続を設定するには、次のようにします。

必要であれば、ユーザーは Webtop の URL をログイン URL として使用してプライマリサーバーにログインできます。たとえば、標準 Webtop の場合は http://primary.indigo-insurance.com/sgd/standard.jsp を使用します。

外部機構を使用して Web セッションを分散する

ハードウェアロードバランサやラウンドロビン DNS などの外部機構を使用して負荷分散を行う場合は、次の要素が重要になります。

次の構成は、負荷分散 JSP を外部ハードウェアロードバランサで使用する例です。このロードバランサは SSL アクセラレータでもあります。また、ロードバランサは、Secure Global Desktop サーバーに外部 DNS 名でアクセスすることを許可するよう設定されています。この構成では、次のようになります。

  1. ユーザーは、ロードバランサの DNS 名に HTTPS 接続を確立します。
  2. ロードバランサは、SSL 要求を復号化し、選択された Secure Global Desktop サーバーの外部 DNS 名に HTTP 要求として転送します。
  3. アレイメンバーの負荷分散 JSP は、負荷分散 Cookie を調べ、必要に応じて HTTP 要求をリダイレクトします。

次のように負荷分散 JSP を設定します。

  1. ホストにスーパーユーザー (root) としてログインします。
  2. 負荷分散 JSP を /sgd Web アプリケーションディレクトリにコピーします。
    過去のコマンド構文またはプログラムコードのスキップ
    # cd /opt/tarantella/webserver/tomcat/*/webapps/sgd/
    
    # cp -r admin/loaddist/ swcd/
    
  3. 負荷分散 JSP を編集します。
  4. 負荷分散 JSP を使用するようエントリポイント JSP を設定します。
  5. プライマリサーバーも含め、アレイの各メンバーに対して手順 1 ~ 4 を繰り返します。
  6. 使用するログイン URL をユーザーに通知します。たとえば、https://loadbalancer.indigo-insurance.com/sgd となります。

    ログイン URL にはロードバランサの DNS 名が含まれている必要があります。

    https://loadbalancer.example.com という URL も使用できますが、この URL はクライアントプロファイルで使用できません。

Secure Global Desktop サーバーに対して HTTPS 接続を使用するには、負荷分散 JSP 内の URL が https:// で始まっていることを確認してください。その後、次のいずれかの設定を行います。

Secure Global Desktop をファイアウォール転送モードで使用すると、外部ロードバランサの使用時に必要となる構成を簡素化することにも役立ちます。ファイアウォール転送では、Secure Global Desktop への HTTP 接続および AIP 接続が単一のポート (通常は TCP ポート 443) で確立されます。Secure Global Desktop サーバーは、任意の AIP トラフィックをこのポートで待機し、ほかのすべてのトラフィックを Secure Global Desktop Web Server に転送します。

Secure Global Desktop セキュリティーサービスが有効になっており、かつ外部ロードバランサが SSL 接続を復号化して、それを暗号化されていない接続として転送するよう設定されている場合は、セキュリティー保護されたポートでプレーンテキスト接続を受け入れるよう各アレイメンバーを設定する必要があります。Array Manager で、各アレイメンバーの「Security」パネルの「Accept plaintext on secure port」にチェックマークを付けます。また、各アレイメンバーのセキュリティー証明書を外部ロードバランサにインストールする必要があります。これにより、Secure Global Desktop の SSL デーモンは、セキュア接続用に設定されているポートでプレーンテキストを受け入れ、自身で復号化した SSL トラフィックとして Secure Global Desktop に転送することができるようになります。

追加の設定

ここでは、負荷分散 JSP で使用できる追加の設定について説明します。

別の Webtop を使用する

デフォルトでは、標準 Webtop が使用されます。カスタマイズされた Webtop など、別の Webtop を使用するには、次の行を修正します。

過去の書式設定済みテキストのスキップvar TARGET="/sgd/standard.jsp"

ローカライズされたスプラッシュ画面

デフォルトでは、負荷分散 JSP は、/sgd/swcd/ ディレクトリにある画像を使用して英語のスプラッシュ画面を表示します。ローカライズされたスプラッシュ画面を表示するには、スプラッシュ画面画像のデフォルトの格納場所を次のように変更します。

過去の書式設定済みテキストのスキップ
// ** Location of gif files

<%

// If the gifs are located in the locale dependent resource use the Path below

String path = getContextPath(request) + "/resources/images/splash/locale=" + getBestSupportedLocale(request) + "/";



// Default location

//String path = "swcd/";

%>

その他の変数

次の表で、負荷分散 JSP で使用されるその他の変数を一覧表示します。

変数 デフォルト 説明
SGDLDCOOKIE SGD_SWCDCOOKIE 負荷分散のために使用される Cookie の名前。
TIMEOUT 10000 負荷分散 JSP が、選択されたホストの Secure Global Desktop Web Server から応答を待つ時間 (ミリ秒単位)。このタイムアウト時間が経過すると、リスト内の次のホストが試されます。
TESTGIF /sgd/resources/images/webtop/secure.gif 負荷分散 JSP が、選択されたホストの Web サーバーから取得を試みるファイル。これは、ホストが使用可能かどうかを調べるために使用されます。
関連トピック