既存の環境での負荷分散の構成
ここでは、Citrix ADCを使用して、既存のSession Recording環境に負荷分散ノードを追加するプロセスについて説明します。次のサーバーは、プロセス全体で例として使用されています。AzureでSession Recordingを展開して負荷分散することもできます。
-
Session Recording
ホスト名 サーバーの役割 OS IPアドレス SRServer1 Session Recordingサーバー Windows Server 10.63.32.55 LBDC ドメインコントローラー Windows Server 10.63.32.82 TSVDA Session Recording Agent Windows Server 10.63.32.215 SRSQL Session Recordingデータベースとファイルサーバー Windows Server 10.63.32.91 すべてのSession Recordingコンポーネントとドメインコントローラーは、
lb.com
などのドメインを共有します。たとえば、ドメイン管理者アカウントの「lb\administrator」は サーバーログオン時に使用します。 -
Citrix ADC
ホスト名 サーバーの役割 管理IPアドレス(NSIP) サブネットIPアドレス(SNIP) NetScaler Citrix ADC VPXインスタンス 10.63.32.40 10.63.32.109 詳しくは、「Citrix ADC VPXインスタンスを展開する」を参照してください。
手順1:ファイルサーバーに共有フォルダーを作成する
-
ドメイン管理者アカウント(例:
lb\administrator
)を使用してファイルサーバーにログオンします。 -
録画を格納するフォルダーを作成し、
SessionRecording
という名前を付けます(例:C:\SessionRecording
)フォルダーの読み取り/書き込み権限をSession Recordingサーバーと共有します。例としてSRServer1
を使用し、「LB\SRSERVER1$
」と入力します。ドル記号$
は必要です。 -
SessionRecording
フォルダー内にサブフォルダーを作成し、share
という名前を付けます(例:C:\SessionRecording\share
)。 -
アーカイブされた録画を復元する別のフォルダーを作成し、
SessionRecordingsRestored
という名前を付けます(例:C:\ SessionRecordingsRestored
)。フォルダーの読み取り/書き込み権限をSession Recordingサーバーと共有します。例としてSRServer1
を使用し、「LB\SRSERVER1$
」と入力します。ドル記号$
は必要です。 -
SessionRecordingsRestored
フォルダー内にサブフォルダーを作成し、share
という名前を付けます(例:C:\SessionRecordingsRestored\share
)。
手順2:負荷分散をサポートするように既存のSession Recordingサーバーを構成する
この手順では、負荷分散をサポートするように既存のSession Recordingサーバーを構成する方法について説明します。手順7では、既存の環境にSession Recordingサーバーを追加する手順について詳しく説明します。
-
ドメイン管理者アカウントを使用して、Session Recordingサーバーにログオンします。
-
[Session Recordingサーバーのプロパティ] を開きます。
-
録画ファイルを格納および復元するための、手順1で作成したUNC(Universal Naming Convention:汎用名前付け規則)パスを追加します(この例では
\\SRSQL\SessionRecording\share
および\\SRSQL\SessionRecordingRestored\share
)。SRSQL
はファイルサーバーのホスト名です。注:
PlayerとSession Recordingサーバーを同じマシンにインストールしない限り、Session Recording Playerはドライブ文字またはドル記号(
$
)を含むパスでファイルを再生できません。 -
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server
でSession Recordingサーバーのレジストリキーに値を追加します。値の名前:EnableLB
値のデータ:1(D_WORD、つまり「有効」) -
Citrix Session Recordingストレージマネージャーサービスを再起動します。
手順3:Citrix ADCで負荷分散を構成する
Citrix ADCで負荷分散を構成する方法は2つあります。TCPパススルーとSSLオフロードです。
TCPパススルーを介して負荷分散を構成する
次のトポロジは、TCPパススルーを介して負荷分散を構成する方法を示しています。
-
PythonベースのWebSocketサーバー(バージョン1.0)を使用している場合:
-
IIS(バージョン2.0)でホストされているWebSocketサーバーを使用している場合:
TCPパススルーを介して負荷分散を構成するには、次の手順を実行します:
-
Citrix ADC VPXインスタンスにログオンします。
-
[Configuration] > [System] > [Settings] > [Configure Basic Features] の順に選択します。
-
[Load Balancing] を選択し、[OK] をクリックします。
-
負荷分散サーバーを追加します。
[Traffic Management] > [Load Balancing] > [Servers] の順に選択し、[Add] をクリックします。
Session Recordingサーバーの名前とIPアドレスを入力し、[Create] をクリックします。例:
右上隅にある保存アイコンをクリックして、変更を保存します。
-
WebSocketサーバーバージョン1.0の場合、Session Recordingサーバーごとにポート80、1801、22334、443の負荷分散サービスを追加します。WebSocketサーバーバージョン2.0の場合、Session Recordingサーバーごとにポート80、1801、443の負荷分散サービスを追加します。
[Traffic Management] > [Load Balancing] > [Services] の順に選択し、[Add] をクリックします。
追加する各負荷分散サービスの名前を入力します。[Existing Server] を選択し、ターゲットのSession RecordingサーバーのIPアドレスを選択します。次に、サーバープロトコルとして [TCP] を選択し、ポート番号を入力します。[OK] をクリックします。
TCPプロトコルモニターを各負荷分散サービスにバインドします。
右上隅にある保存アイコンをクリックして、変更を保存します。
ヒント:
ポート22334の負荷分散サービスは、WebSocketサーバーバージョン1.0にのみ必要です。
-
負荷分散仮想サーバーを追加します。
WebSocketサーバーバージョン1.0の場合、次の手順を実行して、ポート80、443、1801、22334の負荷分散仮想サーバーを追加します。WebSocketサーバーバージョン2.0の場合、ポート80、443、1801の負荷分散仮想サーバーを追加します。例:
[Traffic Management]>[Load Balancing]>[Virtual Server] の順に選択し、[Add]をクリックします。
TCPプロトコルに基づいてCitrix ADC VIPアドレスで、仮想サーバーを追加します。
各仮想サーバーを同じポートの負荷分散サービスにバインドします。例:
負荷分散の方法を選択します。
各仮想サーバーでパーシステンスを構成します。パーシステンスタイプとして SOURCEIP を選択することをお勧めします。詳しくは、「パーシステンスの設定」を参照してください。
-
ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。
-
HTTPS経由でWeb Playerにアクセスするには、Citrix ADCと各Session Recordingサーバーの両方でSAN証明書が使用可能であることを確認してください。SAN証明書には、Citrix ADCおよび各Session Recordingサーバーの完全修飾ドメイン名が含まれています。
SSLオフロードで負荷分散を構成する
次のトポロジは、SSLオフロードで負荷分散を構成する方法を示しています。
-
PythonベースのWebSocketサーバー(バージョン1.0)を使用している場合:
-
IIS(バージョン2.0)でホストされているWebSocketサーバーを使用している場合:
-
Citrix ADC VPXインスタンスにログオンします。
-
[Configuration] > [System] > [Settings] > [Configure Basic Features] の順に選択します。
-
[SSL Offloading] と [Load Balancing] を選択し、[OK] をクリックします。
-
負荷分散サーバーを追加します。
[Traffic Management] > [Load Balancing] > [Servers] の順に選択し、[Add] をクリックします。
Session Recordingサーバーの名前とIPアドレスを入力し、[Create] をクリックします。例:
右上隅にある保存アイコンをクリックして、変更を保存します。
-
前の手順で追加した各Session Recordingサーバーの負荷分散サービスを追加します。
各Session Recordingサーバーに次の負荷分散サービスを追加します:
- (WebSocketサーバーバージョン1.0を使用している場合にのみ必要)TCPモニターにバインドするポート22334のSSL負荷分散サービス
- HTTPSモニターにバインドされたポート443のSSL負荷分散サービス
- TCPモニターにバインドされたポート1801のTCP負荷分散サービス
例:
[Traffic Management] > [Load Balancing] > [Services] の順に選択し、[Add] をクリックします。
(WebSocketサーバーバージョン1.0を使用している場合にのみ必要)Session Recordingサーバーごとにポート22334のSSL負荷分散サービスを追加します。負荷分散サービスの名前を入力して [Existing Server] を選択し、Session RecordingサーバーのIPアドレスを選択します。 次に、サーバープロトコルとして [SSL] を選択し、ポート番号「22334」を入力して [OK] をクリックします。
たとえば、以下のスクリーンショットを参照してください。
TCPモニターを、追加したSSL負荷分散サービスにバインドします。
各Session Recordingサーバーにポート443のSSL負荷分散サービスを追加します。負荷分散サービスの名前を入力して [Existing Server] を選択し、Session RecordingサーバーのIPアドレスを選択します。 次に、サーバープロトコルとして [SSL] を選択し、ポート番号「443」を入力して [OK] をクリックします。
HTTPSモニターを、追加したSSL負荷分散サービスにバインドします。
各Session Recordingサーバーにポート1801のTCP負荷分散サービスを追加します。負荷分散サービスの名前を入力して [Existing Server] を選択し、Session RecordingサーバーのIPアドレスを選択します。 次に、サーバープロトコルとして [TCP] を選択し、ポート番号「1801」を入力して [OK] をクリックします。
TCPモニターを、追加したTCP負荷分散サービスにバインドします。
-
(WebSocketサーバーバージョン1.0を使用している場合にのみ必要)ポート22334のSSL負荷分散サービスごとにHTTPプロファイルを追加します。
[System] > [Profiles] > [HTTP Profiles] の順に選択し、[Add] をクリックします。
[Enable WebSocket connections] チェックボックスをオンにし、他の設定についてはデフォルトのままにします。
HTTPプロファイルの名前を入力します(例:
websocket_SSL
) 。ポート22334の各SSL負荷分散サービスに戻ります(例:
srv-1-22334
) 。[+ Profiles] をクリックします。HTTPプロファイル(例:
websocket_SSL
)を選択し、[OK]、[Done] の順にクリックします。 -
(WebSocketサーバーバージョン2.0を使用している場合にのみ必要)ポート443のSSL負荷分散サービスごとにHTTPプロファイルを追加します。
-
ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。
-
負荷分散仮想サーバーを追加します。
Citrix ADC VIPアドレスで、次の負荷分散仮想サーバーを追加します。
- (WebSocketサーバーバージョン1.0を使用している場合にのみ必要)SSLに基づくポート22334の負荷分散仮想サーバー
- SSLに基づくポート443の負荷分散仮想サーバー
- TCPに基づくポート1801の負荷分散仮想サーバー
たとえば、以下のスクリーンショットを参照してください。
[Traffic Management]>[Load Balancing]>[Virtual Server] の順に選択し、[Add]をクリックします。
Citrix ADC VIPアドレスで、各仮想サーバーを追加します。サーバー名を入力し、TCPまたはSSLを選択して、前の部分で説明したように関連するポート番号を選択します。
各仮想サーバーを同じポートの負荷分散サービスにバインドします。例:
ヒント:
ポート22334の負荷分散サービスは、WebSocketサーバーバージョン1.0を使用する場合にのみ必要です。
負荷分散の方法を選択します。
各仮想サーバーでパーシステンスを構成します。パーシステンスタイプとして SOURCEIP を選択することをお勧めします。詳しくは、「パーシステンスの設定」を参照してください。
(WebSocketサーバーバージョン1.0を使用している場合にのみ必要)ポート22334の負荷分散仮想サーバーのHTTPプロファイルを追加します。
-
Citrix ADCにサブジェクトの別名(SAN)証明書をインストールします。
信頼できる証明機関(CA)からPEM形式のSAN証明書を取得します。[Traffic Management] > [SSL] > [Server Certificate Wizard] の順に選択して、Citrix ADCの証明書および秘密キーのファイルを抽出してアップロードします。
詳しくは、「SSL証明書」を参照してください。
-
SAN証明書を各SSL負荷分散仮想サーバーにバインドします。
[Traffic Management] > [Load Balancing] > [Virtual Servers] の順に選択します。次に、SSL負荷分散仮想サーバーを選択し、[Server Certificate] をクリックします。
前述のSAN証明書を追加し、[Bind] をクリックします。
手順4:負荷分散をサポートするように既存のSession Recording Agentを構成する
-
ドメイン管理者アカウントを使用して、Session Recording Agentにログオンします。
-
Session Recording Agentのプロパティを開きます。
-
TCP経由でMicrosoft Message Queuing(MSMQ)を使用する場合は、この手順を実行してください。
[Session Recording Server] ボックスにCitrix ADC VIPアドレスの完全修飾ドメイン名を入力します。
各Session Recordingサーバー上で、
HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\MSMQ\Parameters
にあるIgnoreOSNameValidation
のDWORD値に「1
」を追加して設定します。詳しくは、Knowledge Centerの記事CTX248554を参照してください。 -
MSMQ over HTTPまたはMSMQ over HTTPSを使用する場合は、この手順を実行してください。
(この手順が完了している場合はスキップ)ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。
各Session Recordingサーバーで、
powershell.exe -file SrServerConfigurationSync.ps1 –Action AddRedirection – ADCHost <ADCHost>
コマンドを実行して、Citrix ADCからローカルホストにリダイレクトを追加します。<ADCHost>
はCitrix ADC VIPアドレスの完全修飾ドメイン名です。リダイレクトファイル(例:sr_lb_map.xml
)がC:\Windows\System32\msmq\Mapping
に生成されます。注: PowerShell.exeを実行するとき、
SrServerConfigurationSync.ps1
が存在するフォルダーに移動します。[Session Recording Server] ボックスにCitrix ADC VIPアドレスの完全修飾ドメイン名を入力します。例:
手順5:負荷分散をサポートするように既存のSession Recording Playerを構成する
Session Recording Playerコンポーネントをインストールした各マシンで、接続されたSession RecordingサーバーとしてCitrix ADC VIPアドレスまたはCitrix ADC VIPの完全修飾ドメイン名を追加します。
手順6:構成済みの既存のSession Recordingサーバーで負荷分散が機能するかどうかを確認する
- Citrix仮想セッションを起動します。
- セッションを録画できるかどうかを確認します。
- Web PlayerとSession Recording Playerが録画ファイルを再生できるかどうかを確認します。
手順7:Session Recordingサーバーを追加する
-
同じドメインにマシンを準備し、Session RecordingサーバーモジュールとSession Recording管理者ログモジュールのみをマシンにインストールします。
-
既存のSession Recordingサーバーと同じデータベース名を使用します。例:
-
マシンのネットワークファイアウォールを無効にします。
-
Session RecordingデータベースをインストールしたSQL Serverで、すべてのSession Recordingサーバーマシンアカウントを共有Session Recordingデータベースに追加し、
db_owner
権限を割り当てます。例: -
新しいSession Recordingサーバーのマシンアカウント(例:
LB\SRServer2$
)と、録画の格納場所および復元フォルダー(例:SessionRecording
およびSessionRecordingsRestored
)の読み取り/書き込み権限を共有します。ドル記号$
は必要です。 -
手順3を繰り返して、新しいSession Recordingサーバー用の負荷分散サービスを追加し、既存の仮想サーバーを編集して、負荷分散サービスにバインドを追加します。仮想サーバーを追加する必要はありません。例:
-
Session Recording承認コンソールの構成ファイル
SessionRecordingAzManStore.xml
を既存のSession Recordingサーバーから新しいSession Recordingサーバーにコピーします。ファイルは<Session Recording Server installation path>\App_Data
にあります。 -
新しいSession RecordingサーバーにMSMQ over HTTPまたはMSMQ over HTTPSを使用するには、次の手順を実行して、現在機能しているSession Recordingサーバーのレジストリ設定をインポートします。
既存のSession Recordingサーバー(例:
SRServer1
)で、powershell.exe -file SrServerConfigurationSync.ps1 –Action Export – ADCHost <ADCHost >
コマンドを実行します。ここで<ADCHost>
は、Citrix ADC VIPアドレスの完全修飾ドメイン名です。エクスポートされたレジストリファイルSrServerConfig.reg
が生成されます。SrServerConfig.reg
ファイルを新しいSession Recordingサーバーにコピーし、powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection – ADCHost <ADCHost>
コマンドを実行します。EnableLB値は、HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server
で新しいSession Recordingサーバーのレジストリキーに追加され、sr_lb_map.xml
ファイルはC:\Windows\System32\msmq\Mapping
の下に追加されます。 -
手順を繰り返して、別のSession Recordingサーバーを追加します。
トラブルシューティング
-
Session RecordingサーバーにCNAMEレコードまたはALIASレコードを使用する場合、セッションは録画されません。詳しくは、Knowledge Centerの記事CTX248554を参照してください。
-
録画ファイルはローカルに格納できますが、UNCパスに格納することはできません。この問題に対処するには、Citrix Session Recordingストレージマネージャーサービスの開始モードを自動(遅延開始)に変更します。