Session Recording

既存の環境での負荷分散の構成

ここでは、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:ファイルサーバーに共有フォルダーを作成する

  1. ドメイン管理者アカウント(例:lb\administrator)を使用してファイルサーバーにログオンします。

  2. 録画を格納するフォルダーを作成し、SessionRecordingという名前を付けます(例:C:\SessionRecording)フォルダーの読み取り/書き込み権限をSession Recordingサーバーと共有します。例としてSRServer1を使用し、「LB\SRSERVER1$」と入力します。ドル記号$は必要です。

    フォルダー権限の共有

    ターゲットサーバーへのフォルダー権限の共有

  3. SessionRecordingフォルダー内にサブフォルダーを作成し、shareという名前を付けます(例:C:\SessionRecording\share)。

    フォルダー権限の共有

  4. アーカイブされた録画を復元する別のフォルダーを作成し、SessionRecordingsRestoredという名前を付けます(例:C:\ SessionRecordingsRestored)。フォルダーの読み取り/書き込み権限をSession Recordingサーバーと共有します。例としてSRServer1を使用し、「LB\SRSERVER1$」と入力します。ドル記号$は必要です。

  5. SessionRecordingsRestoredフォルダー内にサブフォルダーを作成し、shareという名前を付けます(例:C:\ SessionRecordingsRestored\share)。

手順2:負荷分散をサポートするように既存のSession Recordingサーバーを構成する

この手順では、負荷分散をサポートするように既存のSession Recordingサーバーを構成する方法について説明します。手順7では、既存の環境にSession Recordingサーバーを追加する手順について詳しく説明します。

  1. ドメイン管理者アカウントを使用して、Session Recordingサーバーにログオンします。

  2. [Session Recordingサーバーのプロパティ] を開きます。

    Session Recordingサーバーのプロパティ

  3. 録画ファイルを格納および復元するための、手順1で作成したUNC(Universal Naming Convention:汎用名前付け規則)パスを追加します(この例では \\SRSQL\SessionRecording\shareおよび \\SRSQL\SessionRecordingRestored\share)。SRSQLはファイルサーバーのホスト名です。

    注:

    PlayerとSession Recordingサーバーを同じマシンにインストールしない限り、Session Recording Playerはドライブ文字またはドル記号($)を含むパスでファイルを再生できません。

    UNCパスを追加する

  4. HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\ServerでSession Recordingサーバーのレジストリキーに値を追加します。

    値の名前:EnableLB
    値のデータ:1(D_WORD、つまり「有効」)

    レジストリキー値を追加する

  5. Citrix Session Recordingストレージマネージャーサービスを再起動します。

手順3:Citrix ADCで負荷分散を構成する

Citrix ADCで負荷分散を構成する方法は2つあります。TCPパススルーとSSLオフロードです。

TCPパススルーを介して負荷分散を構成する

次のトポロジは、TCPパススルーを介して負荷分散を構成する方法を示しています。

  • PythonベースのWebSocketサーバー(バージョン1.0)を使用している場合:

    TCPパススルーを介して負荷分散を構成する

  • IIS(バージョン2.0)でホストされているWebSocketサーバーを使用している場合:

    TCPパススルーを介して負荷分散を構成する

TCPパススルーを介して負荷分散を構成するには、次の手順を実行します:

  1. Citrix ADC VPXインスタンスにログオンします。

  2. [Configuration] > [System] > [Settings] > [Configure Basic Features] の順に選択します。

    基本機能を構成する

  3. [Load Balancing] を選択し、[OK] をクリックします。

    負荷分散を選択する

  4. 負荷分散サーバーを追加します。

    [Traffic Management] > [Load Balancing] > [Servers] の順に選択し、[Add] をクリックします。

    負荷分散サーバーを追加する

    Session Recordingサーバーの名前とIPアドレスを入力し、[Create] をクリックします。例:

    負荷分散サーバーを作成する

    右上隅にある保存アイコンをクリックして、変更を保存します。

    保存をクリックする

  5. 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プロトコルモニターを各負荷分散サービスにバインドします。

    TCPプロトコルモニターをバインドする

    右上隅にある保存アイコンをクリックして、変更を保存します。

    作成したサービスを保存する

    ヒント:

    ポート22334の負荷分散サービスは、WebSocketサーバーバージョン1.0にのみ必要です。

  6. 負荷分散仮想サーバーを追加します。

    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 を選択することをお勧めします。詳しくは、「パーシステンスの設定」を参照してください。

    パーシステンスを構成する

  7. ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。

    ホストレコードを作成する

  8. HTTPS経由でWeb Playerにアクセスするには、Citrix ADCと各Session Recordingサーバーの両方でSAN証明書が使用可能であることを確認してください。SAN証明書には、Citrix ADCおよび各Session Recordingサーバーの完全修飾ドメイン名が含まれています。

    SAN証明書

SSLオフロードで負荷分散を構成する

次のトポロジは、SSLオフロードで負荷分散を構成する方法を示しています。

  • PythonベースのWebSocketサーバー(バージョン1.0)を使用している場合:

    SSLオフロードで負荷分散を構成する

  • IIS(バージョン2.0)でホストされているWebSocketサーバーを使用している場合:

    SSLオフロードで負荷分散を構成する

  1. Citrix ADC VPXインスタンスにログオンします。

  2. [Configuration] > [System] > [Settings] > [Configure Basic Features] の順に選択します。

    基本機能を構成する

  3. [SSL Offloading][Load Balancing] を選択し、[OK] をクリックします。

    SSLオフロードと負荷分散を選択する

  4. 負荷分散サーバーを追加します。

    [Traffic Management] > [Load Balancing] > [Servers] の順に選択し、[Add] をクリックします。

    負荷分散サーバーを追加する

    Session Recordingサーバーの名前とIPアドレスを入力し、[Create] をクリックします。例:

    負荷分散サーバーを作成する

    右上隅にある保存アイコンをクリックして、変更を保存します。

    保存をクリックする

  5. 前の手順で追加した各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] をクリックします。

    たとえば、以下のスクリーンショットを参照してください。

    ポート22334のSSL負荷分散サービスを作成する

    TCPモニターを、追加したSSL負荷分散サービスにバインドします。

    TCPプロトコルモニターをポート22334のSSL負荷分散サービスにバインドする

    各Session Recordingサーバーにポート443のSSL負荷分散サービスを追加します。負荷分散サービスの名前を入力して [Existing Server] を選択し、Session RecordingサーバーのIPアドレスを選択します。 次に、サーバープロトコルとして [SSL] を選択し、ポート番号「443」を入力して [OK] をクリックします。

    ポート443のSSL負荷分散サービスを作成する

    HTTPSモニターを、追加したSSL負荷分散サービスにバインドします。

    HTTPSプロトコルモニターをポート443のSSL負荷分散サービスにバインドする

    各Session Recordingサーバーにポート1801のTCP負荷分散サービスを追加します。負荷分散サービスの名前を入力して [Existing Server] を選択し、Session RecordingサーバーのIPアドレスを選択します。 次に、サーバープロトコルとして [TCP] を選択し、ポート番号「1801」を入力して [OK] をクリックします。

    ポート1801のSSL負荷分散サービスを作成する

    TCPモニターを、追加したTCP負荷分散サービスにバインドします。

    TCPプロトコルモニターをポート1801のSSL負荷分散サービスにバインドする

  6. (WebSocketサーバーバージョン1.0を使用している場合にのみ必要)ポート22334のSSL負荷分散サービスごとにHTTPプロファイルを追加します。

    [System] > [Profiles] > [HTTP Profiles] の順に選択し、[Add] をクリックします。

    HTTPプロファイルを追加する

    [Enable WebSocket connections] チェックボックスをオンにし、他の設定についてはデフォルトのままにします。

    WebSocket接続を有効にする

    HTTPプロファイルの名前を入力します(例: websocket_SSL) 。

    ポート22334の各SSL負荷分散サービスに戻ります(例: srv-1-22334) 。[+ Profiles] をクリックします。

    プロファイルを追加する

    HTTPプロファイル(例:websocket_SSL)を選択し、[OK][Done] の順にクリックします。

    追加するプロファイルを選択する

  7. (WebSocketサーバーバージョン2.0を使用している場合にのみ必要)ポート443のSSL負荷分散サービスごとにHTTPプロファイルを追加します。

  8. ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。

    ホストレコードを作成する

  9. 負荷分散仮想サーバーを追加します。

    Citrix ADC VIPアドレスで、次の負荷分散仮想サーバーを追加します。

    • (WebSocketサーバーバージョン1.0を使用している場合にのみ必要)SSLに基づくポート22334の負荷分散仮想サーバー
    • SSLに基づくポート443の負荷分散仮想サーバー
    • TCPに基づくポート1801の負荷分散仮想サーバー

    たとえば、以下のスクリーンショットを参照してください。

    3つのポート番号の負荷分散仮想サーバー

    [Traffic Management]>[Load Balancing]>[Virtual Server] の順に選択し、[Add]をクリックします。

    仮想サーバーを追加する

    Citrix ADC VIPアドレスで、各仮想サーバーを追加します。サーバー名を入力し、TCPまたはSSLを選択して、前の部分で説明したように関連するポート番号を選択します。

    ポート80の仮想サーバー

    各仮想サーバーを同じポートの負荷分散サービスにバインドします。例:

    同じポートの負荷分散サービスにバインドします

    ヒント:

    ポート22334の負荷分散サービスは、WebSocketサーバーバージョン1.0を使用する場合にのみ必要です。

    負荷分散の方法を選択します。

    負荷分散の方法

    各仮想サーバーでパーシステンスを構成します。パーシステンスタイプとして SOURCEIP を選択することをお勧めします。詳しくは、「パーシステンスの設定」を参照してください。

    パーシステンスを構成する

    (WebSocketサーバーバージョン1.0を使用している場合にのみ必要)ポート22334の負荷分散仮想サーバーのHTTPプロファイルを追加します。

    ポート22334の負荷分散仮想サーバーにHTTPプロファイルを追加する

  10. Citrix ADCにサブジェクトの別名(SAN)証明書をインストールします。

    信頼できる証明機関(CA)からPEM形式のSAN証明書を取得します。[Traffic Management] > [SSL] > [Server Certificate Wizard] の順に選択して、Citrix ADCの証明書および秘密キーのファイルを抽出してアップロードします。

    詳しくは、「SSL証明書」を参照してください。

    証明書のインストール

  11. SAN証明書を各SSL負荷分散仮想サーバーにバインドします。

    [Traffic Management] > [Load Balancing] > [Virtual Servers] の順に選択します。次に、SSL負荷分散仮想サーバーを選択し、[Server Certificate] をクリックします。

    サーバー証明書

    前述のSAN証明書を追加し、[Bind] をクリックします。

手順4:負荷分散をサポートするように既存のSession Recording Agentを構成する

  1. ドメイン管理者アカウントを使用して、Session Recording Agentにログオンします。

  2. Session Recording Agentのプロパティを開きます。

  3. TCP経由でMicrosoft Message Queuing(MSMQ)を使用する場合は、この手順を実行してください。

    [Session Recording Server] ボックスにCitrix ADC VIPアドレスの完全修飾ドメイン名を入力します。

    [Session Recording Server]ボックス

    各Session Recordingサーバー上で、HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\MSMQ\ParametersにあるIgnoreOSNameValidationのDWORD値に「1」を追加して設定します。詳しくは、Knowledge Centerの記事CTX248554を参照してください。

  4. MSMQ over HTTPまたはMSMQ over HTTPSを使用する場合は、この手順を実行してください。

    (この手順が完了している場合はスキップ)ドメインコントローラーでCitrix ADC VIPアドレスのホストレコードを作成します。

    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アドレスの完全修飾ドメイン名を入力します。例:

    Citrix ADC VIPアドレスの完全修飾ドメイン名を入力する

手順5:負荷分散をサポートするように既存のSession Recording Playerを構成する

Session Recording Playerコンポーネントをインストールした各マシンで、接続されたSession RecordingサーバーとしてCitrix ADC VIPアドレスまたはCitrix ADC VIPの完全修飾ドメイン名を追加します。

手順6:構成済みの既存のSession Recordingサーバーで負荷分散が機能するかどうかを確認する

  1. Citrix仮想セッションを起動します。
  2. セッションを録画できるかどうかを確認します。
  3. Web PlayerとSession Recording Playerが録画ファイルを再生できるかどうかを確認します。

手順7:Session Recordingサーバーを追加する

  1. 同じドメインにマシンを準備し、Session RecordingサーバーモジュールとSession Recording管理者ログモジュールのみをマシンにインストールします。

    Session RecordingサーバーモジュールとSession Recording管理者ログモジュールをインストールする

  2. 既存のSession Recordingサーバーと同じデータベース名を使用します。例:

    同じデータベース名を使用する

  3. マシンのネットワークファイアウォールを無効にします。

  4. Session RecordingデータベースをインストールしたSQL Serverで、すべてのSession Recordingサーバーマシンアカウントを共有Session Recordingデータベースに追加し、db_owner権限を割り当てます。例:

    すべてのSession Recordingサーバーマシンアカウントを共有Session Recordingデータベースに追加する

    データベース権限を割り当てる

  5. 新しいSession Recordingサーバーのマシンアカウント(例:LB\SRServer2$)と、録画の格納場所および復元フォルダー(例: SessionRecordingおよびSessionRecordingsRestored)の読み取り/書き込み権限を共有します。ドル記号$は必要です。

  6. 手順3を繰り返して、新しいSession Recordingサーバー用の負荷分散サービスを追加し、既存の仮想サーバーを編集して、負荷分散サービスにバインドを追加します。仮想サーバーを追加する必要はありません。例:

    新しいSession Recordingサーバー

    新しいSession Recordingサーバーに負荷分散サービスを追加する

    仮想サーバーを編集する

    仮想サーバーサービスバインド

  7. Session Recording承認コンソールの構成ファイルSessionRecordingAzManStore.xmlを既存のSession Recordingサーバーから新しいSession Recordingサーバーにコピーします。ファイルは <Session Recording Server installation path>\App_Dataにあります。

  8. 新しい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の下に追加されます。

  9. 手順を繰り返して、別のSession Recordingサーバーを追加します。

トラブルシューティング

  • Session RecordingサーバーにCNAMEレコードまたはALIASレコードを使用する場合、セッションは録画されません。詳しくは、Knowledge Centerの記事CTX248554を参照してください。

  • 録画ファイルはローカルに格納できますが、UNCパスに格納することはできません。この問題に対処するには、Citrix Session Recordingストレージマネージャーサービスの開始モードを自動(遅延開始)に変更します。