Azure でセッション録画を展開し、負荷分散する
前提条件
- Azure に シトリックス バーチャルアプリ&デスクトップ™ または シトリックス DaaS (旧称 シトリックス バーチャルアプリ&デスクトップ サービス) がインストール済みであること。
- Azure アカウントを持っていること。
ステップ 1: シトリックス バーチャルアプリ&デスクトップ™ インストーラーを Azure にアップロードする
注:
Citrixアカウントの資格情報を使用してCitrix Virtual Apps and Desktopsダウンロードページにアクセスし、製品ISOファイルをAzureのVMにダウンロードする場合は、ステップ1をスキップしてください。
-
Azure portal で、general-purpose v2 ストレージアカウントを作成し、既定のパフォーマンス層である Standard を受け入れます。
Azure Storageへのすべてのアクセスは、ストレージアカウントを介して行われます。

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

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

ステップ 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.

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

ステップ5:インストーラーを実行してSession RecordingコンポーネントをAzure VMにインストールする
詳細については、セッションレコーディング管理コンポーネントのインストールを参照してください。
ステップ6:記録を保存するためのAzureファイル共有を構成する
記録を保存するためのAzureファイル共有を作成するには、次の手順を実行します。
-
Azure portalで、ストレージアカウントを作成し、Azureファイル共有を作成します。
クイックスタートガイドについては、Create and manage Azure file shares with the Azure portalを参照してください。以下の表は、検討すべき構成を推奨しています。
記録ファイルサイズ(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ヶ月の保持期間に基づいて計算されます。
-
Session RecordingサーバーをインストールしたホストにAzureファイル共有の資格情報を追加します。
-
管理者としてコマンドプロンプトを起動し、ドライブを<Session Recording server installation path>\Binフォルダーに変更します。
デフォルトでは、Session Recordingサーバーは
C:\Program Files\Citrix\SessionRecording\Serverにインストールされます。 -
Run the SsRecUtils.exe -AddAzureFiles <storageAccountName> <fileShareName> <accesskey> command.
ここで、
- <storageaccountname>は、Azureのストレージアカウントの名前です。
- <filessharename>は、ストレージアカウントに含まれるファイル共有の名前です。
- <accesskey>は、ファイル共有へのアクセスに使用できるストレージアカウントキーです。
ストレージアカウントキーを取得する方法は2つあります。
-
ファイル共有ページで接続アイコンをクリックすると表示される接続文字列から、ストレージアカウントキーを取得できます。

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

-
Session RecordingサーバーをインストールしたホストにAzureファイル共有をマウントします。
- 「セッションレコーディングサーバーのプロパティ」を開きます。
- StorageタブでAddをクリックします。
-
Enter the UNC path in the format of \\<storageaccountname>.file.core.windows.net\<filessharename>\<subfolder>.
レコーディングファイルを保存するために、ファイル共有の下にサブフォルダーを指定します。Session Recordingサーバーは、自動的にサブフォルダーを作成します。

- File Storage DirectoryダイアログボックスでOKをクリックします。
- 「セッションレコーディングサーバーのプロパティ」ウィンドウで「適用」をクリックします。
- Applyがグレー表示されたらOKをクリックします。
-
Session Recording Storage Managerサービスを再起動するよう求められたら、Yesをクリックします。

-
手順7:ロードバランサーを追加する
Session Recordingサーバーが複数ある場合は、それらの前にロードバランサーを追加することをお勧めします。Azureは、トラフィック要求をロードバランスするための多くのオプションを提供します。このセクションでは、AzureでCitrix ADC、Azure Load Balancer、およびAzure Application Gatewayを作成するプロセスについて説明します。
オプション1:AzureでCitrix ADC VPXインスタンスを作成する
-
Azure portalで、検索ボックスに「Citrix ADC」と入力します。

-
「Citrix ADC VPX Bring Your Own License」というプランを選択し、その後「作成」をクリックします。
プランの選択(/ja-jp/session-recording/2311/media/choose-a-plan.png)
-
リソースグループを選択または作成し、「基本」タブでその他の設定を行います。
-
VM構成を設定します。
VM構成(/ja-jp/session-recording/2311/media/vm-configurations.png)
-
必要に応じてネットワーク設定を確認および変更します。パブリック受信ポートには「ssh (22)、http (80)、https (443)」を選択します。
仮想ネットワークが自動的に作成されます。Session Recording環境がすでにインストールされている場合は、その仮想ネットワークとサーバーサブネット設定を使用できます。
Citrix ADCネットワーク設定(/ja-jp/session-recording/2311/media/citrix-adc-network-settings.png)
その他のCitrix ADCネットワーク設定(/ja-jp/session-recording/2311/media/more-citrix-adc-network-settings.png)
-
「次へ: 確認 + 作成」をクリックしてCitrix ADC VPXインスタンスを作成し、展開が完了するまで待ちます。
Citrix ADC VPXインスタンス作成の検証に合格しました(/ja-jp/session-recording/2311/media/validation-passed.png)
-
サブネットIP (SNIP) アドレスとCitrix ADC VIPアドレスを同じサブネットに設定します。
SNIPアドレスとVIPアドレスは同じサブネット上にある必要があります。この例では、VIPアドレスをSNIPアドレスのサブネット上に設定します。
- 「citrix-adc-vpx」仮想マシンを停止します。
-
VIPアドレスのサブネットを変更します。


- citrix-adc-vpx 仮想マシンを起動します
オプション2:Azureロードバランサーを作成する
Azure Load BalancerはTCPパススルーサービスです。次の図は、TCPパススルーによるロードバランシングを示しています。

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

Create load balancerページのBasicsタブで、次の表に示すように設定を構成します。
設定 値 サブスクリプション サブスクリプションを選択します。 リソースグループ 例えば、以前作成したsrlbtestを選択します。 名前 「SRLoadBalance」と入力してください。 リージョン (US) East USを選択します。 種類 Internalを選択します。 SKU Standardを選択します。 仮想ネットワーク 例えば、以前作成したsrazureautovnetを選択します。 サブネット 例えば、以前作成したsrazureautosubnetを選択します。 IPアドレスの割り当て Dynamicを選択します。 可用性ゾーン ゾーン冗長を選択します。 
-
バックエンドプール、ヘルスプローブ、ロードバランシングルールなどのロードバランサーリソースを追加します。
-
バックエンドプールを追加します。
リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで [バックエンドプール] をクリックします。[追加] をクリックしてバックエンドプールを追加します。
バックエンドプールの追加(/ja-jp/session-recording/2311/media/add-a-back-end-pool.png)
新しいバックエンドプールの名前を入力し、[追加] をクリックします。
バックエンドプールが追加されました(/ja-jp/session-recording/2311/media/added-a-back-end-pool.png)
-
ヘルスプローブを追加します。
リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで [ヘルスプローブ] をクリックします。
ヘルスプローブの追加(/ja-jp/session-recording/2311/media/add-health-probes.png)
ポート 80、22334、1801、および 443 にヘルスプローブを追加するには、[追加] をクリックします。
ポート上のヘルスプローブ(/ja-jp/session-recording/2311/media/health-probes-on-ports.png)
たとえば、ポート 80 にヘルスプローブを作成するには、次の設定を使用します。
設定 値 名前 「SRHealthProbe80」という名前を入力します。 プロトコル 「TCP」を選択します。 ポート 「80」と入力します。 間隔 5 異常しきい値 VMが異常と見なされるまでに発生する必要がある異常しきい値または連続プローブ失敗の回数として「2」を選択します。 ポート80でのヘルスプローブの例(/ja-jp/session-recording/2311/media/example-health-probe-on-port80.png)
-
負荷分散ルールを追加します。
リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで「負荷分散ルール」をクリックします。「追加」をクリックして負荷分散ルールを追加します。

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

たとえば、ポート80の負荷分散規則を作成するには、次の設定を使用します。
設定 値 名前 名前を入力します。例: SRTCPRule80。 IPバージョン IPv4を選択します。 フロントエンドIPアドレス 「LoadBalancerFrontEnd」という項目を選択してください。 プロトコル TCPを選択します。 ポート 「80」と入力します。 バックエンドポート 「80」と入力します。 バックエンドプール SRBackendPool を選択してください。 ヘルスプローブ SRHealthProbe80 を選択するようにしてください。 セッション永続性 「Client IP」を選択します。 アイドルタイムアウト (分) デフォルト設定を受け入れます。 TCPリセット 「Enabled」を選択します。 送信元ネットワークアドレス変換 (SNAT) 「(推奨) 送信ルールを使用して、バックエンドプールメンバーにインターネットへのアクセスを提供します」を選択します。 ポート80のロードバランシング規則の例(/ja-jp/session-recording/2311/media/load-balancer-rule-for-port80.png)
-
セッションレコーディングサーバーがインストールされているAzure VMをバックエンドプールに追加します。
セッションレコーディングサーバーVMをバックエンドプールに追加(/ja-jp/session-recording/2311/media/add-back-end-servers.png)
バックエンドプール内のVM(/ja-jp/session-recording/2311/media/added-back-end-servers.png)
-
-
Azureロードバランサーをテストします。
サーバーをバックエンドプールに追加できず、NetworkInterfaceAndLoadBalancerAreInDifferentAvailabilitySetsというエラーメッセージが表示される場合は、サーバーのネットワークインターフェースのパブリックIPアドレスを関連付け解除します。
パブリックIPアドレスの関連付けを解除(/ja-jp/session-recording/2311/media/disassociate-a-public-ip-address.png)
-
オプション3:Azureアプリケーションゲートウェイを作成する
ヒント:
Application Gateway V2は、NTLM対応プロキシを介した要求のルーティングをサポートしていません。
-
Azureアプリケーションゲートウェイを作成します。
アプリケーションゲートウェイを作成する際に、次の設定を構成します。
- 基本タブで、階層をStandardに設定します。
- フロントエンドタブで、フロントエンドIPアドレスの種類をプライベートに設定します。新しいアプリケーションゲートウェイは、内部ロードバランサーとして使用されます。
-
バックエンドプールを追加します。
「Azure アプリケーションゲートウェイのバックエンドプール」(/ja-jp/session-recording/2311/media/azure-application-gateway-back-end-pool.png)
-
HTTP 設定を作成します。
Azure Application Gateway は、バックエンドサーバーへの要求ルーティングに HTTP と HTTPS の両方をサポートしています。ポート 80、443、および 22334 の HTTP 設定を作成します。
-
ポート 80 経由の HTTP
「ポート 80 経由の HTTP」(/ja-jp/session-recording/2311/media/http-over-port-80.png)
-
ポート 443 経由の HTTP
Application Gateway V1 のバックエンドサーバーを許可するには、認証証明書が必要です。認証証明書は、Base-64 エンコードされた X.509(.CER) 形式のバックエンドサーバー証明書の公開キーです。TLS/SSL 証明書から公開キーをエクスポートする方法については、「認証証明書のエクスポート (v1 SKU の場合)」を参照してください。
「ポート 443 経由の HTTP」(/ja-jp/session-recording/2311/media/http-over-port-443.png)
「ポート 443 経由の HTTP の追加設定」(/ja-jp/session-recording/2311/media/http-over-port-443-2.png)
-
ポート 22334 経由の HTTP または HTTPS
WebSocket が HTTP を使用する場合は、ポート 80 と同じ設定を使用します。 WebSocket が HTTPS を使用する場合は、ポート 443 と同じ設定を使用します。
-
-
フロントエンド IP アドレスを追加します。
「フロントエンド IP 構成」(/ja-jp/session-recording/2311/media/front-end-ip-configurations.png)
-
リスナーを追加します。
たとえば、ポート 80、443、および 22334 にリスナーを追加します。

- ポート80のリスナー

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

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

-
要求ルーティングルールを作成します。
たとえば、ポート80、443、22334のルールを作成します。

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


-
ポート443用ルーティングルール
ポート443用リクエストルーティングルール - リスナー タブ(/ja-jp/session-recording/2311/media/request-routing-rule-for-port-443.png)
ポート443用リクエストルーティングルール - バックエンドターゲット タブ(/ja-jp/session-recording/2311/media/request-routing-rule-for-port-443-2.png)
-
ポート22334用ルーティングルール
ポート22334用リクエストルーティングルール - リスナー タブ(/ja-jp/session-recording/2311/media/request-routing-rule-for-port-22334.png)
ポート22334用リクエストルーティングルール - バックエンドターゲット タブ(/ja-jp/session-recording/2311/media/request-routing-rule-for-port-22334-2.png)
-
-
Session RecordingサーバーがインストールされているAzure VMをバックエンドプールに追加します。
-
Session Recording サーバーの構成については、Knowledge Center の記事 CTX230015 に詳細が記載されていますので、そちらを参照して設定を行ってください。
この記事の概要
- 前提条件
- ステップ 1: シトリックス バーチャルアプリ&デスクトップ™ インストーラーを Azure にアップロードする
- ステップ 2: Azure portal で SQL マネージド インスタンスを作成する
- ステップ3:Azure仮想マシン(VM)を作成する
- ステップ4:リモートデスクトップでCitrix Virtual Apps and DesktopsインストーラーをAzure VMにダウンロードする
- ステップ5:インストーラーを実行してSession RecordingコンポーネントをAzure VMにインストールする
- ステップ6:記録を保存するためのAzureファイル共有を構成する
- 手順7:ロードバランサーを追加する