Session Recording

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

ここでは、Citrix ADCを使用して、既存のSession Recording環境に負荷分散ノードを追加するプロセスについて説明します。次のサーバーは、プロセス全体で例として使用されています。AzureでSession Recordingを展開して負荷分散することもできます。

  • Session Recording

    ホスト名 サーバーの役割 OS IPアドレス
    SRServer1 Session Recordingサーバー Windows服务器 10.63.32.55
    LBDC ドメインコントローラー Windows服务器 10.63.32.82
    TSVDA Session Recording Agent Windows服务器 10.63.32.215
    SRSQL Session Recordingデータベースとファイルサーバー Windows服务器 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. ドメイン管理者アカウントを使用して,会话记录サーバーにログオンします。

  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ストレージマネージャーサービスを再起動します。

手順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. 【配置】>【系统】>[设置]> [Configure Basic Features]の順に選択します。

    基本機能を構成する

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

    負荷分散を選択する

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

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

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

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

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

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

    保存をクリックする

  5. 我们bSocketサーバーバージョン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. 負荷分散仮想サーバーを追加します。

    我们bSocketサーバーバージョン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. 【配置】>【系统】>[设置]> [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]チェックボックスをオンにし、他の設定についてはデフォルトのままにします。

    我们bSocket接続を有効にする

    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証明書を取得します。(交通管理)> (SSL) >(服务器证书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 コマンドを実行して、Citrix ADCからローカルホストにリダイレクトを追加します。は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. 我们b 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サーバーにコピーします。ファイルは\App_Dataにあります。

  8. 新しいSession RecordingサーバーにMSMQ over HTTPまたはMSMQ over HTTPSを使用するには、次の手順を実行して、現在機能しているSession Recordingサーバーのレジストリ設定をインポートします。

    既存のSession Recordingサーバー(例:SRServer1)で、powershell.exe -file SrServerConfigurationSync.ps1 –Action Export – ADCHost コマンドを実行します。ここでは、Citrix ADC VIPアドレスの完全修飾ドメイン名です。エクスポートされたレジストリファイルSrServerConfig.regが生成されます。

    SrServerConfig.regファイルを新しいSession Recordingサーバーにコピーし、powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection – 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ストレージマネージャーサービスの開始モードを自動(遅延開始)に変更します。