Session Recording

Azure でセッションレコーディングを展開し、負荷分散する

前提条件

  • Azure には、シトリックス バーチャル アプリケーションズ アンド デスクトップス™ または シトリックス DaaS (旧称 シトリックス バーチャル アプリケーションズ アンド デスクトップス サービス) がすでにインストールされている必要があります。
  • Azure アカウントを持っていること。

ステップ 1: シトリックス バーチャル アプリケーションズ アンド デスクトップス™ インストーラーを Azure にアップロードする

注:

Citrix アカウントの資格情報を使用して Citrix Virtual Apps and Desktops のダウンロードページにアクセスし、製品の ISO ファイルを Azure の VM にダウンロードする場合は、ステップ 1 をスキップしてください。

  1. Azure portal で、汎用 v2 ストレージアカウントを作成し、デフォルトのパフォーマンス層である Standard を受け入れます。

    Azure Storage へのすべてのアクセスは、ストレージアカウントを介して行われます。

    ストレージアカウントの作成

  2. 新しいストレージアカウントに移動し、Blob service セクションで コンテナーを選択してコンテナーを作成します。

    コンテナーの作成

  3. Citrix Virtual Apps and Desktops インストーラーをコンテナーにアップロードします。

    BLOB のアップロード

ステップ 2: Azure portal で SQL マネージドインスタンスを作成する

詳細については、Azure SQL Managed Instance の作成を参照してください。

ステップ3: Azure仮想マシン (VM) の作成

Choose Windows Server 2019 Datacenter – Gen1 for the image and Standard_D4as_v4 – 4 vcpus, 16GiB memory for the size. For more information, see Create a Windows virtual machine in the Azure portal.

Azure で仮想マシンを作成

ステップ4: リモートデスクトップでCitrix Virtual Apps and DesktopsインストーラーをAzure VMにダウンロードする

インストーラーをAzure VMにダウンロード

ステップ5: インストーラーを実行してSession RecordingコンポーネントをAzure VMにインストールする

詳細については、Session Recording管理コンポーネントのインストールを参照してください。

ステップ6: 録画を保存するためのAzureファイル共有を構成する

録画を保存するためのAzureファイル共有を作成するには、次の手順を実行します。

  1. Azure portalで、ストレージアカウントを作成し、その後Azureファイル共有を作成します。

    クイックスタートガイドについては、Azure portal で Azure ファイル共有を作成および管理するを参照してください。以下の表は、検討すべき構成を推奨しています。

    録画ファイルサイズ (MB/時間) 1日あたりの録画セッション数 ファイル共有の種類 ファイル共有クォータ (TB) セッション録画サーバーの数量 セッション録画サーバーのサイズ
    6.37未満 1,000未満 ハードディスクドライブ スタンダード (StorageV2) 2 1 スタンダード D4as_v4
    6.37未満 1,000~2,000 SSDプレミアム 3 1 スタンダード D4as_v4
    < 6.37 2,000–3,000 SSDプレミアム 5 1 スタンダード D4as_v4
    < 6.37 3,000–4,000 SSDプレミアム 6 1 スタンダード D4as_v4
    約10 < 1,000 ハードディスク スタンダード (StorageV2) 3 1 スタンダード D4as_v4
    約10 1,000~2,500 SSD プレミアム 6 1 スタンダード D4as_v4
    約10 2,500~4,000 SSD プレミアム 10 2 スタンダード D4as_v4

    ファイル共有クォータは、1日あたり8時間、1ヶ月あたり23営業日、および各記録ファイルの1ヶ月間の保持期間に基づいて計算されます。

  2. セッション記録サーバーをインストールしたホストにAzureファイル共有の資格情報を追加します。

    1. 管理者としてコマンドプロンプトを起動し、ドライブを <Session Recording server installation path>\Bin フォルダーに変更します。

      デフォルトでは、セッション記録サーバーは C:\Program Files\Citrix\SessionRecording\Server にインストールされます。

    2. Run the SsRecUtils.exe -AddAzureFiles <storageAccountName> <fileShareName> <accesskey> command.

      ここで、

      • <storageaccountname> は、Azureのストレージアカウントの名前です。
      • <filessharename> は、ストレージアカウント内に含まれるファイル共有の名前です。
      • <accesskey> は、ファイル共有にアクセスするために使用できるストレージアカウントキーです。

      ストレージアカウントキーを取得する方法は2つあります。

      • ファイル共有ページで Connect アイコンをクリックすると表示される接続文字列から、ストレージアカウントキーを取得できます。

        ストレージアカウントキー情報を含む接続文字列 (/ja-jp/session-recording/2203-ltsr/media/connection-string-that-contains-storage-account-key.png)

      • ストレージアカウントページの左側のナビゲーションで Access keys をクリックして、ストレージアカウントキーを取得することもできます。

        アクセスキー (/ja-jp/session-recording/2203-ltsr/media/access-keys.png)

    3. セッション記録サーバーをインストールしたホストにAzureファイル共有をマウントします。

      1. セッションレコーディングサーバーのプロパティ」を開きます。
      2. ストレージ」タブで「追加」をクリックします。
      3. UNCパスを入力する際には、特定の形式に従う必要があります。具体的には、\\<storageaccountname>.file.core.windows.net<filessharename>\<subfolder> のように、ストレージアカウント名、ファイル共有名、およびサブフォルダー名を指定してください。

        録画ファイルを保存するファイル共有の下にサブフォルダーを指定します。セッションレコーディングサーバーが自動的にサブフォルダーを作成します。

        Azure ファイル共有の例

      4. ファイルストレージディレクトリ」ダイアログボックスで「OK」をクリックします。
      5. セッションレコーディングサーバーのプロパティ」ウィンドウで「適用」をクリックします。
      6. 適用」がグレー表示になったら「OK」をクリックします。
      7. Session Recording Storage Managerサービスを再起動するよう求められたら、「はい」をクリックします。

        サービス再起動のプロンプト

ステップ7:ロードバランサーを追加する

セッションレコーディングサーバーが複数ある場合は、それらの前にロードバランサーを追加することをお勧めします。Azureは、トラフィック要求をロードバランスするための多くのオプションを提供します。このセクションでは、AzureでCitrix ADC、Azure Load Balancer、およびAzure Application Gatewayを作成するプロセスについて説明します。

オプション1:AzureでCitrix ADC VPXインスタンスを作成する

  1. Azure portalで、検索ボックスに「Citrix ADC」と入力します。

    検索ボックスにCitrix ADCと入力

  2. Citrix ADC VPX ライセンス持ち込み プランを選択し、作成 をクリックします。

    プランを選択する(/ja-jp/session-recording/2203-ltsr/media/choose-a-plan.png)

  3. リソースグループを選択または作成し、「基本」タブでその他の設定を行います。

  4. VM構成を設定します。

    VM構成(/ja-jp/session-recording/2203-ltsr/media/vm-configurations.png)

  5. 必要に応じてネットワーク設定を確認および変更します。パブリックインバウンドポートには、ssh (22)、http (80)、https (443) を選択します。

    仮想ネットワークが自動的に作成されます。Session Recording環境がすでにインストールされている場合は、その仮想ネットワークとサーバーサブネット設定を使用できます。

    Citrix ADCネットワーク設定(/ja-jp/session-recording/2203-ltsr/media/citrix-adc-network-settings.png)

    その他のCitrix ADCネットワーク設定(/ja-jp/session-recording/2203-ltsr/media/more-citrix-adc-network-settings.png)

  6. 次へ: 確認 + 作成」をクリックしてCitrix ADC VPXインスタンスを作成し、展開が完了するまで待ちます。

    Citrix ADC VPXインスタンスの作成検証に合格しました(/ja-jp/session-recording/2203-ltsr/media/validation-passed.png)

  7. サブネットIP (SNIP) アドレスとCitrix ADC VIPアドレスを同じサブネットに設定します。

    SNIPアドレスとVIPアドレスは同じサブネット上にある必要があります。この例では、VIPアドレスをSNIPアドレスのサブネット上に設定します。

    1. citrix-adc-vpx 仮想マシンを停止します。
    2. VIPアドレスのサブネットを変更します。

      VIPアドレスのサブネットを変更する

      新しいサブネットを保存する

    3. citrix-adc-vpx仮想マシンを起動します

オプション2:Azureロードバランサーを作成する

Azure Load BalancerはTCPパススルーサービスです。次の図は、TCPパススルーによるロードバランシングを示しています。

TCPパススルーによるロードバランシング

  1. Azureロードバランサーを作成します。
    1. Azure ポータルで検索し、マーケットプレイスからロードバランサーを選択します。

      マーケットプレイスでAzure Load Balancerを検索します(/ja-jp/session-recording/2203-ltsr/media/search–for-azure-load-balancer.png)

      Create load balancerページのBasicsタブで、次の表に示すように設定を構成します。

      設定
      サブスクリプション サブスクリプションを選択します。
      リソースグループ 例えば、以前作成した srlbtest を選択します。
      名前 SRLoadBalance という名前を入力します。
      地域 (US) East US を選択します。
      種類 Internal を選択します。
      SKU Standard を選択します。
      仮想ネットワーク 例えば、以前作成した srazureautovnet を選択します。
      サブネット 例えば、以前作成した srazureautosubnet を選択します。
      IPアドレスの割り当て Dynamic を選択します。
      アベイラビリティゾーン ゾーン冗長を選択します。

      Azure ロードバランサーの作成

    2. バックエンドプール、ヘルスプローブ、ロードバランシングルールを含むロードバランサーリソースを追加します。

      • バックエンドプールを追加します。

        リソースリストから作成したロードバランサーを選択し、左側のナビゲーションでバックエンドプールをクリックします。追加をクリックしてバックエンドプールを追加します。

        バックエンドプールの追加

        新しいバックエンドプールの名前を入力し、追加をクリックします。

        バックエンドプールを追加しました

      • ヘルスプローブを追加します。

        リソースリストから作成したロードバランサーを選択し、左側のナビゲーションでヘルスプローブをクリックします。

        ヘルスプローブの追加

        追加をクリックして、ポート80、22334、1801、および443にヘルスプローブを追加します。

        ポート上のヘルスプローブ

        たとえば、ポート80にヘルスプローブを作成するには、次の設定を使用します。

        設定
        名前 SRHealthProbe80」という名前を入力します。
        プロトコル TCP」を選択します。
        ポート 80」と入力します。
        間隔 5
        異常しきい値 VMが異常と見なされるまでに発生する必要がある異常しきい値または連続プローブ失敗の数として「2」を選択します。

        ポート80でのヘルスプローブの例(/ja-jp/session-recording/2203-ltsr/media/example-health-probe-on-port80.png)

      • 負荷分散ルールを追加します。

        リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで「負荷分散ルール」をクリックします。「追加」をクリックして負荷分散ルールを追加します。

        負荷分散規則の追加

        ポート80、22334、1801、443の負荷分散規則を追加するには、追加をクリックします。

        ポート上の負荷分散規則

        たとえば、ポート80の負荷分散規則を作成するには、次の設定を使用します。

        設定
        名前 名前を入力します(例: SRTCPRule80)。
        IPバージョン IPv4を選択します。
        フロントエンドIPアドレス ロードバランサーフロントエンド」を選択します。
        プロトコル TCPを選択します。
        ポート 80」と入力します。
        バックエンドポート 80」と入力します。
        バックエンドプール SRバックエンドプール」を選択します。
        ヘルスプローブ SRHealthProbe80 という項目を選択します。
        セッション永続性 Client IP」を選択します。
        アイドルタイムアウト (分) 既定の設定をそのまま使用します。
        TCPリセット Enabled」を選択します。
        送信元ネットワークアドレス変換 (SNAT) (推奨) アウトバウンドルールを使用して、バックエンドプールメンバーにインターネットへのアクセスを提供します」を選択します。

        ポート80のロードバランシング規則の例

      • Session RecordingサーバーがインストールされているAzure VMをバックエンドプールに追加します。

        Session RecordingサーバーVMをバックエンドプールに追加

        バックエンドプール内のVM

    3. Azureロードバランサーをテストします。

      サーバーをバックエンドプールに追加できず、NetworkInterfaceAndLoadBalancerAreInDifferentAvailabilitySetsというエラーメッセージが表示される場合は、サーバーのネットワークインターフェイスのパブリックIPアドレスの関連付けを解除します。

      パブリックIPアドレスの関連付けを解除

オプション3:Azureアプリケーションゲートウェイを作成する

ヒント:

Application Gateway V2は、NTLM対応プロキシを介した要求のルーティングをサポートしていません。

  1. Azureアプリケーションゲートウェイを作成します。

    アプリケーションゲートウェイを作成する際に、次の設定を構成します。

    • 基本タブで、階層標準に設定します。
    • Frontendsタブで、Frontend IP address typePrivateに設定します。新しいアプリケーションゲートウェイは、内部ロードバランサーとして使用されます。
  2. バックエンドプールを追加します。

    アジュール アプリケーションゲートウェイ バックエンドプール

  3. HTTP設定を作成します。

    Azure Application Gateway は、バックエンドサーバーへの要求ルーティングに HTTP と HTTPS の両方をサポートしています。ポート 80、443、22334 の HTTP 設定を作成します。

    • ポート 80 経由の HTTP

      ポート 80 経由の HTTP

    • ポート 443 経由の HTTP

      Application Gateway V1 でバックエンドサーバーを許可するには、認証証明書が必要です。認証証明書は、Base-64 エンコードされた X.509 (.CER) 形式のバックエンドサーバー証明書の公開鍵です。TLS/SSL 証明書から公開鍵をエクスポートする方法については、「認証証明書のエクスポート (v1 SKU の場合)」を参照してください。

      ポート 443 経由の HTTP

      ポート 443 経由の HTTP の追加設定

    • ポート 22334 経由の HTTP または HTTPS

      WebSocket が HTTP を使用する場合は、ポート 80 と同じ設定を使用します。 WebSocket が HTTPS を使用する場合は、ポート 443 と同じ設定を使用します。

  4. フロントエンド IP アドレスを追加します。

    フロントエンド IP 構成

  5. リスナーを追加します。

    たとえば、ポート 80、443、22334 にリスナーを追加します。

    ポート上のリスナー(/ja-jp/session-recording/2203-ltsr/media/listeners-on-ports.png)

    • ポート80のリスナー

    ポート80のリスナー(/ja-jp/session-recording/2203-ltsr/media/listener-on-port-80.png)

    • ポート443のリスナー

      HTTPSリスナーを作成する際に、自己署名証明書を作成し、その証明書をAzure portalにアップロードします。詳細については、TLS終端でサポートされる証明書および自己署名証明書の作成を参照してください。

      ポート443のリスナー(/ja-jp/session-recording/2203-ltsr/media/listener-on-port-443.png)

    • ポート22334のリスナー

      WebSocketがHTTPを使用する場合は、ポート80と同じ設定を使用します。WebSocketがHTTPSを使用する場合は、ポート443と同じ設定を使用します。次の例は、ポート22334でのHTTPSリスナーの設定を示しています。

      ポート22334のリスナー(/ja-jp/session-recording/2203-ltsr/media/listener-on-port-22334.png)

  6. 要求ルーティングルールを作成します。

    たとえば、ポート80、443、22334のルールを作成します。

    要求ルーティングルール(/ja-jp/session-recording/2203-ltsr/media/request-routing-rules.png)

    • ポート80のルーティングルール

      ポート80の要求ルーティングルール - リスナー タブ(/ja-jp/session-recording/2203-ltsr/media/request-routing-rule-for-port-80.png)

      ポート80の要求ルーティングルール - バックエンドターゲット タブ(/ja-jp/session-recording/2203-ltsr/media/request-routing-rule-for-port-80-2.png)

    • ポート443のルーティングルール

      ポート443の要求ルーティングルール - リスナー タブ

      ポート443の要求ルーティングルール - バックエンドターゲット タブ

    • ポート22334のルーティングルール

      ポート22334の要求ルーティングルール - リスナー タブ

      ポート22334の要求ルーティングルール - バックエンドターゲット タブ

  7. セッションレコーディングサーバーがインストールされているAzure VMをバックエンドプールに追加します。

  8. セッションレコーディングサーバーを構成します。

    • ステップ1: ファイルサーバー上に共有フォルダーを作成する(/ja-jp/session-recording/2507-ltsr/best-practices/configure-load-balancing-in-an-existing-deployment#step-1-create-shared-folders-on-the-file-server)
    • ステップ2: 既存のセッションレコーディングサーバーを構成して負荷分散をサポートする(/ja-jp/session-recording/2507-ltsr/best-practices/configure-load-balancing-in-an-existing-deployment#step-2-configure-an-existing-session-recording-server-to-support-load-balancing)