Session Recording

既存の展開でロードバランシングを構成する

この記事では、既存のSession Recording展開でCitrix ADCを使用してロードバランシングノードを追加するプロセスについて説明します。このプロセス全体を通して、以下のサーバーが例として使用されます。また、Azure でSession Recordingを展開し、ロードバランシングすることもできます(/ja-jp/session-recording/2204/best-practices/deploy-and-load-balance-session-recording-in-azure.html)。

  • セッションレコーディング

    ホスト名 サーバーの役割 OS IPアドレス
    SRサーバー1 セッションレコーディングサーバー ウィンドウズサーバー 10.63.32.55
    エルビーディーシー ドメインコントローラー ウィンドウズサーバー 10.63.32.82
    ティーエスブイディーエー セッションレコーディングエージェント ウィンドウズサーバー 10.63.32.215
    エスアールエスキューエル Session Recording データベースとファイルサーバー ウィンドウズサーバー 10.63.32.91

    すべてのSession Recordingコンポーネントとドメインコントローラーは、たとえば lb.com のように、1つのドメインを共有します。たとえば、lb\administrator のようなドメイン管理者アカウントは、サーバーログオンに使用されます。

  • シトリックス ADC

    ホスト名 サーバーの役割 管理IPアドレス (NSIP) サブネットIPアドレス (SNIP)
    ネットスケーラー シトリックス ADC VPX インスタンス 10.63.32.40 10.63.32.109

    詳細については、「Citrix ADC VPX インスタンスを展開する」を参照してください。

ステップ1:ファイルサーバー上に共有フォルダーを作成する

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

  2. 録画を保存するフォルダーを作成し、そのフォルダーに SessionRecording という名前を付けます(例: C:\SessionRecording)。そのフォルダーの読み取り/書き込み権限をセッションレコーディングサーバーと共有します。SRServer1 を例として使用し、LB\SRSERVER1$ と入力します。ドル記号 $ は必須です。

    フォルダーの共有権限

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

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

    フォルダーの共有権限

  4. アーカイブされた録画を復元するための別のフォルダーを作成し、そのフォルダーに SessionRecordingsRestored という名前を付けます(例: C:\ SessionRecordingsRestored)。そのフォルダーの読み取り/書き込み権限をセッションレコーディングサーバーと共有します。SRServer1 を例として使用し、LB\SRSERVER1$ と入力します。ドル記号 $ は必須です。

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

ステップ2:既存のセッションレコーディングサーバーを構成して負荷分散をサポートする

この手順では、既存のセッションレコーディングサーバーを構成して負荷分散をサポートする方法について説明します。ステップ7 では、既存の展開にセッションレコーディングサーバーを追加する手順について詳しく説明します。

  1. ドメイン管理者アカウントを使用して、セッション録画サーバーにログオンします。

  2. セッションレコーディングサーバーのプロパティ」を開きます。

    セッションレコーディングサーバーのプロパティ

  3. 手順1で作成したUniversal Naming Convention (UNC) パスを追加して、録画ファイルを保存および復元します。この例では、\\SRSQL\SessionRecording\share\\SRSQL\SessionRecordingRestored\shareです。SRSQLはファイルサーバーのホスト名です。

    注:

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

    UNCパスの追加

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

    値の名前: EnableLB 値のデータ: 1 (D_WORD、有効を意味します)

    レジストリキー値の追加

  5. Citrix セッションレコーディング ストレージマネージャー サービスを再起動します。

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

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

TCPパススルーによる負荷分散の構成

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

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

    TCPパススルーによる負荷分散の構成(/ja-jp/session-recording/2204/media/load-balancing-through-tcp-passthrough.png)

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

    TCPパススルーによる負荷分散の構成(/ja-jp/session-recording/2204/media/load-balancing-through-tcp-passthrough-websockte2-0.png)

TCPパススルーによる負荷分散を構成するには、次の手順を完了します。

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

  2. 構成 > システム > 設定 > 基本機能の構成に移動します。

    基本機能の構成(/ja-jp/session-recording/2204/media/configure-basic-features.png)

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

    負荷分散の選択(/ja-jp/session-recording/2204/media/select-load-balancing.png)

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

    トラフィック管理 > 負荷分散 > サーバーに移動し、追加をクリックします。

    負荷分散サーバーの追加(/ja-jp/session-recording/2204/media/add-load-balancing-servers.png)

    セッションレコーディングサーバーの名前とIPアドレスを入力し、Createをクリックします。例:

    負荷分散サーバーの作成(/ja-jp/session-recording/2204/media/create-a-load-balancing-server.png)

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

    保存をクリック(/ja-jp/session-recording/2204/media/save-icon.png)

  5. WebSocketサーバーバージョン1.0の場合、各Session Recordingサーバーに対してポート80、1801、22334、および443の負荷分散サービスを追加します。WebSocketサーバーバージョン2.0の場合、各Session Recordingサーバーに対してポート80、1801、および443の負荷分散サービスを追加します。

    トラフィック管理 > ロードバランシング > サービスに移動し、追加をクリックします。

    負荷分散サービスを追加(/ja-jp/session-recording/2204/media/add-load-balancing-services.png)

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

    負荷分散サービスを作成(/ja-jp/session-recording/2204/media/create-a-load-balancing-service.png)

    TCPプロトコルモニターを各負荷分散サービスにバインドします。

    TCPプロトコルモニターをバインド(/ja-jp/session-recording/2204/media/bind-tcp-protocol-monitor.png)

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

    作成したサービスを保存(/ja-jp/session-recording/2204/media/services-save-icon.png)

    ヒント:

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

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

    WebSocketサーバーバージョン1.0の場合、ポート80、443、1801、および22334の負荷分散仮想サーバーを追加するには、次の手順を完了します。WebSocketサーバーバージョン2.0の場合、ポート80、443、および1801の負荷分散仮想サーバーを追加します。例:

    仮想サーバーを保存

    トラフィック管理 > 負荷分散 > 仮想サーバーに移動し、追加をクリックします。

    仮想サーバーを追加

    TCPプロトコルに基づいて、Citrix ADC VIPアドレスを持つ各仮想サーバーを追加します。

    負荷分散仮想サーバー

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

    負荷分散仮想サーバーサービスバインディング

    仮想サーバーサービスバインディングを追加

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

    負荷分散方式を選択

    各仮想サーバーで永続性を構成します。永続性タイプとしてSOURCEIPを選択することをお勧めします。詳細については、「永続性設定」を参照してください。

    永続性を構成

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

    ホストレコードを作成

  8. HTTPS経由でWebプレーヤーにアクセスするには、SAN証明書がCitrix ADCと各Session Recordingサーバーの両方で利用可能であることを確認してください。SAN証明書には、Citrix ADCと各Session RecordingサーバーのFQDNが含まれています。

    SAN証明書(/ja-jp/session-recording/2204/media/san-certificate.png)

SSLオフロードを介して負荷分散を構成する

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

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

    SSLオフロードを介して負荷分散を構成する(/ja-jp/session-recording/2204/media/load-balancing-through-ssl-offloading.png)

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

    SSLオフロードを介して負荷分散を構成する(/ja-jp/session-recording/2204/media/load-balancing-through-ssl-offloading-websocket-2-0.png)

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

  2. 構成 > システム > 設定 > 基本機能の構成 に移動します。

    基本機能を構成する(/ja-jp/session-recording/2204/media/configure-basic-features.png)

  3. SSLオフロード負荷分散を選択し、OKをクリックします。

    SSLオフロードと負荷分散を選択(/ja-jp/session-recording/2204/media/select-ssl-offloading-and-load-balancing.png)

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

    トラフィック管理 > 負荷分散 > サーバー」に移動し、「追加」をクリックします。

    負荷分散サーバーを追加(/ja-jp/session-recording/2204/media/add-load-balancing-servers.png)

    セッションレコーディングサーバーの名前とIPアドレスを入力し、作成をクリックします。例:

    ロードバランシングサーバーを作成(/ja-jp/session-recording/2204/media/create-a-load-balancing-server.png)

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

    保存をクリック(/ja-jp/session-recording/2204/media/save-icon.png)

  5. 前の手順で追加した各セッションレコーディングサーバーに、ロードバランシングサービスを追加します。

    各セッションレコーディングサーバーに、次のロードバランシングサービスを追加します。

    • (WebSocketサーバーバージョン1.0を使用している場合にのみ必要) TCPモニターにバインドするポート22334のSSLロードバランシングサービス
    • HTTPSモニターにバインドするポート443のSSLロードバランシングサービス
    • TCPモニターにバインドするポート1801のTCPロードバランシングサービス

    例えば、

    サーバーのロードバランシングサービス(/ja-jp/session-recording/2204/media/load-balancing-services-for-a-server.png)

    トラフィック管理 > 負荷分散 > サービス」に移動し、「追加」をクリックします。

    ロードバランシングサービスを追加(/ja-jp/session-recording/2204/media/add-load-balancing-services.png)

    (WebSocketサーバーバージョン1.0を使用している場合にのみ必要) 各セッションレコーディングサーバーにポート22334のSSLロードバランシングサービスを追加します。 ロードバランシングサービスの名前を入力し、既存のサーバーを選択し、セッションレコーディングサーバーのIPアドレスを選択し、サーバープロトコルとしてSSLを選択し、ポート番号22334を入力して、OKをクリックします。

    例として、次のスクリーンショットを参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

    システム > プロファイル > HTTPプロファイル」に移動し、「追加」をクリックします。

    HTTPプロファイルを追加(/ja-jp/session-recording/2204/media/add-http-profiles.png)

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

    WebSocket接続を有効にする

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

    ポート22334の各SSL負荷分散サービスに戻ります。例: srv-1-22334。「+ プロファイル」をクリックします。

    プロファイルを追加

    HTTPプロファイルを選択します。例: websocket_SSL。「OK」をクリックし、次に「完了」をクリックします。

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

  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つのポート番号の負荷分散仮想サーバー

    トラフィック管理 > 負荷分散 > 仮想サーバーに移動し、追加をクリックします。

    仮想サーバーの追加

    各仮想サーバーを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. 各 SSL 負荷分散仮想サーバーに SAN 証明書をバインドします。

    トラフィック管理 > 負荷分散 > 仮想サーバー」に移動し、SSL負荷分散仮想サーバーを選択して、「サーバー証明書」をクリックします。

    サーバー証明書

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

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

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

  2. セッションレコーディングエージェントのプロパティ」を開きます。

  3. TCP 経由の Microsoft Message Queuing (MSMQ) を使用している場合は、この手順を完了します。

    Type the FQDN of your Citrix ADC VIP address in the Session Recording Server box.

    セッションレコーディングサーバーボックス

    各 Session Recording サーバーで、HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\MSMQ\Parameters の下にある IgnoreOSNameValidation DWORD 値を 1 に追加して設定します。

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

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

    Citrix ADC VIPアドレスのホストレコードを作成する(/ja-jp/session-recording/2204/media/create-host-record-for-citrix-adc-vip-address.png)

    各Session Recordingサーバーで、powershell.exe -file SrServerConfigurationSync.ps1 –Action AddRedirection – ADCHost <ADCHost>コマンドを実行して、Citrix ADCからローカルホストへのリダイレクトを追加します。<ADCHost>はCitrix ADC VIPアドレスのFQDNです。たとえば、sr_lb_map.xmlのようなリダイレクトファイルがC:\Windows\System32\msmq\Mappingの下に生成されます。

    リダイレクトを追加する(/ja-jp/session-recording/2204/media/add-redirections.png)

    注: PowerShell.exeを実行するときは、SrServerConfigurationSync.ps1があるフォルダーに移動してください。

    セッションレコーディングサーバー」ボックスに、Citrix ADC VIPアドレスのFQDNを入力します。例:

    Citrix ADC VIPアドレスのFQDNを入力する様子(/ja-jp/session-recording/2204/media/type-fqdn-of-citrix-adc-vip-address.png)

手順5:既存のSession Recordingプレーヤーを構成して負荷分散をサポートする

Session Recordingプレーヤーコンポーネントをインストールした各マシンで、Citrix ADC VIPアドレスまたはそのFQDNを接続されたSession Recordingサーバーとして追加します。

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

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

手順7:セッションレコーディングサーバーをさらに追加する

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

    Session RecordingサーバーとSession Recording管理者ログモジュールのみをインストールする(/ja-jp/session-recording/2204/media/install-only-session-recording-server-and-administrator-logging-modules.png)

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

    同じデータベース名を使用する(/ja-jp/session-recording/2204/media/use-the-same-database-names.png)

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

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

    すべてのSession Recordingサーバーマシンアカウントを共有Session Recordingデータベースに追加する(/ja-jp/session-recording/2204/media/shared-database.png)

    データベース権限を割り当てる(/ja-jp/session-recording/2204/media/assign-database-permission.png)

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

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

    新しいセッションレコーディングサーバー

    新しいSession Recordingサーバーの負荷分散サービスを追加する(/ja-jp/session-recording/2204/media/add-load-balancing-services-for-new-session-recording-server.png)

    仮想サーバーを編集する(/ja-jp/session-recording/2204/media/edit-virtual-servers.png)

    仮想サーバーサービスバインド(/ja-jp/session-recording/2204/media/virtual-server-service-binding-2.png)

  7. Copy the Session Recording Authorization Console configuration file, SessionRecordingAzManStore.xml, from the existing Session Recording server to the new Session Recording server. The file lives in <Session Recording Server installation path>\App_Data.

  8. 新しいセッションレコーディングサーバーでHTTPまたはHTTPS経由でMSMQを使用するには、現在機能しているセッションレコーディングサーバーのレジストリ設定をインポートするために、以下の手順を完了します。

    既存のセッションレコーディングサーバー(例: SRServer1)で、<ADCHost>がCitrix ADC VIPアドレスのFQDNであるpowershell.exe -file SrServerConfigurationSync.ps1 –Action Export – ADCHost <ADCHost >コマンドを実行します。エクスポートされたレジストリファイルSrServerConfig.regが生成されます。

    SrServerConfig.regファイルを新しいセッションレコーディングサーバーにコピーし、powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection – ADCHost <ADCHost>コマンドを実行します。EnableLB値が新しいセッションレコーディングサーバーのレジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Serverに追加され、C:\Windows\System32\msmq\Mappingの下にsr_lb_map.xmlファイルが追加されます。

  9. 別のセッションレコーディングサーバーを追加するには、この手順を繰り返します。

トラブルシューティング

  • セッションレコーディングサーバーにCNAMEレコードまたはALIASレコードを使用すると、セッションが記録されません。この問題に対処するには、Microsoftドキュメントを参照してください。

  • 記録ファイルはローカルに保存できますが、Universal Naming Convention (UNC) パスには保存できません。この問題に対処するには、Citrix Session Recording Storage Managerサービスの開始モードをAutomatic (Delayed Start)に変更してください。