Session Recording

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

既存のSession Recording展開でCitrix ADCを使用してロードバランシングノードを追加できます。以下に示すサーバーは例として使用されます。また、AzureでSession Recordingを展開し、ロードバランシングすることもできます(/ja-jp/session-recording/2308/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 のようにドメインを共有します。サーバーログオンには、たとえば lb\administrator のようなドメイン管理者アカウントが使用されます。

  • シトリックス ADC

    ホスト名 サーバーの役割 管理IPアドレス (NSIP) サブネットIPアドレス (SNIP)
    ネットスケーラー Citrix 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. ドメイン管理者アカウントを使用して、Session Recordingサーバーにログオンします。

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

    セッションレコーディングサーバーのプロパティ(/ja-jp/session-recording/2308/media/session-recording-server-properties.png)

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

    注:

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

    UNCパスを追加(/ja-jp/session-recording/2308/media/add-unc-paths.png)

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

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

    レジストリキー値を追加(/ja-jp/session-recording/2308/media/add-registry-key-value.png)

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

ステップ3:Citrix ADCで負荷分散を構成する

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    保存をクリック(/ja-jp/session-recording/2308/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/2308/media/add-load-balancing-services.png)

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

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

    各ロードバランシングサービスにTCPプロトコルモニターをバインドします。

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

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

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

    ヒント:

    ポート22334のロードバランシングサービスは、WebSocketサーバーバージョン1.0でのみ必要です。

  6. ロードバランシング仮想サーバーを追加します。

    WebSocketサーバーバージョン1.0の場合は、ポート80、443、1801、および22334のロードバランシング仮想サーバーを追加するために、次の手順を完了します。WebSocketサーバーバージョン2.0の場合は、ポート80、443、および1801のロードバランシング仮想サーバーを追加します。例:

    仮想サーバーを保存(/ja-jp/session-recording/2308/media/save-virtual-servers.png)

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

    仮想サーバーを追加(/ja-jp/session-recording/2308/media/add-virtual-servers.png)

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

    負荷分散仮想サーバー(/ja-jp/session-recording/2308/media/load-balancing-virtual-server.png)

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

    負荷分散仮想サーバーサービスバインディング(/ja-jp/session-recording/2308/media/virtual-server-service-binding.png)

    仮想サーバーサービスバインディングを追加(/ja-jp/session-recording/2308/media/add-virtual-server-service-binding.png)

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

    負荷分散方法を選択(/ja-jp/session-recording/2308/media/choose-load-balancing-method.png)

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

    永続性を構成(/ja-jp/session-recording/2308/media/configure-persistence.png)

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

    ホストレコードを作成(/ja-jp/session-recording/2308/media/create-host-record.png)

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

    SAN証明書

SSLオフロードによる負荷分散の構成

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

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

    SSLオフロードによる負荷分散の構成

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

    SSLオフロードによる負荷分散の構成

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

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

    基本機能の構成

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

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

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

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

    負荷分散サーバーを追加

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

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

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

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

  5. 前のステップで追加した各セッションレコーディングサーバーに対して、負荷分散サービスを追加します。

    各セッションレコーディングサーバーに対して、次の負荷分散サービスを追加します:

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

    例えば、

    サーバーの負荷分散サービス(/ja-jp/session-recording/2308/media/load-balancing-services-for-a-server.png)

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

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

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

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

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

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

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

    各セッションレコーディングサーバーにポート443のSSL負荷分散サービスを追加します。 負荷分散サービスの名前を入力し、既存のサーバーを選択し、セッションレコーディングサーバーのIPアドレスを選択し、サーバープロトコルとしてSSLを選択し、ポート番号443を入力して、OKをクリックします。

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

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

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

    各セッションレコーディングサーバーにポート1801のTCP負荷分散サービスを追加します。 負荷分散サービスの名前を入力し、既存のサーバーを選択し、セッションレコーディングサーバーのIPアドレスを選択し、サーバープロトコルとしてTCPを選択し、ポート番号1801を入力して、OKをクリックします。

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

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

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

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

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

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

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

    WebSocket接続を有効にする(/ja-jp/session-recording/2308/media/enable-websocket-connections.png)

    HTTPプロファイルの名前を入力します。たとえば、websocket_SSL

    ポート22334の各SSLロードバランシングサービスに戻ります。たとえば、srv-1-22334+ プロファイルをクリックします。

    プロファイルを追加

    HTTPプロファイルを選択します。たとえば、websocket_SSLOKをクリックし、次に完了をクリックします。

    追加するプロファイルを選択(/ja-jp/session-recording/2308/media/select-a-profile-to-add.png)

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

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

    ホストレコードを作成(/ja-jp/session-recording/2308/media/create-a-host-record-ssl-offloading.png)

  9. ロードバランシング仮想サーバーを追加します。

    Citrix ADC VIPアドレスを使用して、以下のロードバランシング仮想サーバーを追加します。

    • (WebSocketサーバーバージョン1.0を使用している場合にのみ必要) SSLベースのポート22334のロードバランシング仮想サーバー
    • SSLベースのポート443のロードバランシング仮想サーバー
    • TCPベースのポート1801のロードバランシング仮想サーバー

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

    3つのポート番号のロードバランシング仮想サーバー(/ja-jp/session-recording/2308/media/load-balancing-virtual-servers-of-three-port-numbers.png)

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

    仮想サーバーを追加(/ja-jp/session-recording/2308/media/add-virtual-servers.png)

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

    ポート80の仮想サーバー(/ja-jp/session-recording/2308/media/virtual-server-port-80.png)

    各仮想サーバーを、同じポートのロードバランシングサービスにバインドします。例:

    同じポートのロードバランシングサービスにバインド(/ja-jp/session-recording/2308/media/bind-to-service-of-same-port.png)

    ヒント:

    ポート22334のロードバランシングサービスは、WebSocketサーバーバージョン1.0を使用している場合にのみ必要です。

    ロードバランシング方法を選択します。

    ロードバランシング方法(/ja-jp/session-recording/2308/media/least-bandwidth.png)

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

    永続性を構成(/ja-jp/session-recording/2308/media/sourceip.png)

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

    ポート22334のロードバランシング仮想サーバーにHTTPプロファイルを追加(/ja-jp/session-recording/2308/media/add-profile-for-virtual-server-of-port-22334.png)

  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) を使用する場合は、この手順を完了します。

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

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

    各 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/2308/media/create-host-record-for-citrix-adc-vip-address.png)

    各セッションレコーディングサーバーで、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/2308/media/add-redirections.png)

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

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

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

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

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

ステップ6:構成済みの既存のセッションレコーディングサーバーで負荷分散が機能するかどうかを確認する

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

ステップ7:セッションレコーディングサーバーを追加する

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

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

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

    同じデータベース名を使用します(/ja-jp/session-recording/2308/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/2308/media/shared-database.png)

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

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

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

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

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

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

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

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

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

    既存のセッションレコーディングサーバー(例: 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>コマンドを実行します。新しいセッションレコーディングサーバーのHKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\ServerにあるレジストリキーにEnableLB値が追加され、C:\Windows\System32\msmq\Mappingの下にsr_lb_map.xmlファイルが追加されます。

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

トラブルシューティング

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

  • 記録ファイルはローカルに保存できますが、汎用名前付け規則 (UNC) パスには保存できません。この問題に対処するには、Citrix セッションレコーディング ストレージマネージャー サービスの開始モードをAutomatic (Delayed Start)に変更します。