Azure でのセッションレコーディングの展開と負荷分散
前提条件
- Citrix Virtual Apps and Desktops™ が Azure にすでにインストールされている必要があります。
- Azure アカウントをお持ちであること。
ステップ 1: Citrix Virtual Apps™ and Desktops のインストーラーをアジュールにアップロードします
注:
Citrix アカウントの資格情報を使用して Citrix Virtual Apps and Desktops のダウンロードページにアクセスし、製品の ISO ファイルをダウンロードして Azure の VM に保存する場合は、ステップ 1 をスキップします。
-
Azure portal で、汎用 v2 ストレージアカウントを作成し、デフォルトのパフォーマンス層である Standard を受け入れます。
Azure Storage へのすべてのアクセスはストレージアカウントを介して行われます。

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

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

ステップ 2: Azure portal で SQL マネージドインスタンスを作成する
詳細については、Azure SQL Managed Instance の作成を参照してください。
ステップ3: Azure仮想マシン (VM) を作成する
イメージにはWindows Server 2019 Datacenter – Gen1を、サイズにはStandard_D4as_v4 – 4 vcpus, 16GiB memoryを選択します。詳細については、アジュールポータルで Windows 仮想マシンを作成するを参照してください。

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

ステップ5: インストーラーを実行してSession RecordingコンポーネントをAzure VMにインストールする
詳細については、Session Recording管理コンポーネントのインストールを参照してください。
ステップ6: 記録を保存するためのAzureファイル共有を構成する
記録を保存するためのAzureファイル共有を作成するには、次の手順を実行します。
-
Azure portalで、ストレージアカウントを作成し、その後Azureファイル共有を作成します。
クイックスタートガイドについては、Azure portal で Azure ファイル共有を作成および管理するを参照してください。以下の表は、検討すべき構成を推奨しています。
記録ファイルサイズ MB/時間 1日あたりの記録セッション数 ファイル共有の種類 ファイル共有クォータ (TB) セッション録画サーバー数 セッション録画サーバーサイズ < 6.37 < 1,000 HDD Standard (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 エスエスディー プレミアム 6 1 スタンダード D4as_v4 約10 2,500~4,000 エスエスディー プレミアム 10 2 スタンダード D4as_v4 ファイル共有クォータは、1日8時間、1か月あたり23営業日、および各記録ファイルの1か月間の保持期間に基づいて計算されます。
-
Session Recording ServerをインストールしたホストにAzureファイル共有の資格情報を追加します。
-
管理者としてコマンドプロンプトを起動し、ドライブを <Session Recording Server installation path>\Bin フォルダーに変更します。
デフォルトでは、Session Recording Serverは
C:\Program Files\Citrix\SessionRecording\Serverにインストールされます。 -
Run the SsRecUtils.exe -AddAzureFiles <storageAccountName> <fileShareName> <accesskey> command.
ここで、
- <storageaccountname> は、Azureのストレージアカウントの名前です。
- <filessharename> は、ストレージアカウントに含まれるファイル共有の名前です。
- <accesskey> は、ファイル共有へのアクセスに使用できるストレージアカウントキーです。
ストレージアカウントキーを取得するには、次の2つの方法があります。
-
ファイル共有ページで Connect アイコンをクリックすると表示される接続文字列から、ストレージアカウントキーを取得できます。
ストレージアカウントキー情報を含む接続文字列 (/ja-jp/session-recording/2107/media/connection-string-that-contains-storage-account-key.png)
-
ストレージアカウントページの左側のナビゲーションで Access keys をクリックして、ストレージアカウントキーを取得することもできます。
アクセスキー (/ja-jp/session-recording/2107/media/access-keys.png)
-
Session Recording ServerをインストールしたホストにAzureファイル共有をマウントします。
- セッションレコーディングサーバーのプロパティを開きます。
- 「Storage」タブで「Add」をクリックします。
-
Enter the UNC path in the format of \\<storageaccountname>.file.core.windows.net\<filessharename>\<subfolder>.
記録ファイルを保存するファイル共有の下にサブフォルダーを指定します。Session Recording Serverは、そのサブフォルダーを自動的に作成します。
Azureファイル共有の例(/ja-jp/session-recording/2107/media/azure-file-share-exmaple.png)
- 「File Storage Directory」ダイアログボックスで「OK」をクリックします。
- 「セッションレコーディングサーバーのプロパティ」ウィンドウで「適用」をクリックします。
- 「Apply」がグレー表示されたら、「OK」をクリックします。
-
Session Recording Storage Managerサービスを再起動するよう求められたら、「Yes」をクリックします。
サービス再起動のプロンプト(/ja-jp/session-recording/2107/media/service-restart-prompt.png)
-
ステップ7:ロードバランサーを追加する
Session Recording Serverが複数ある場合は、それらの前にロードバランサーを追加することをお勧めします。Azureには、トラフィック要求をロードバランスするための多くのオプションがあります。このセクションでは、AzureでCitrix ADC、Azure Load Balancer、およびAzure Application Gatewayを作成するプロセスについて説明します。
オプション1:AzureでCitrix ADC VPXインスタンスを作成する
-
Azure portalで、検索ボックスに「Citrix ADC」と入力します。
検索ボックスに「Citrix ADC」と入力する(/ja-jp/session-recording/2107/media/search-for-citrix-adc.png)
-
「Citrix ADC VPX お客様所有ライセンス」プランを選択し、作成をクリックします。
プランを選択してください(/ja-jp/session-recording/2107/media/choose-a-plan.png)
-
リソースグループを選択または作成し、「基本」タブでその他の設定を行います。
-
VM構成を設定します。
VM構成(/ja-jp/session-recording/2107/media/vm-configurations.png)
-
必要に応じてネットワーク設定を確認および変更します。パブリックインバウンドポートには「ssh (22), http (80), https (443)」を選択します。
仮想ネットワークが自動的に作成されます。Session Recording環境がすでにインストールされている場合は、その仮想ネットワークとサーバーサブネット設定を使用できます。
Citrix ADCネットワーク設定(/ja-jp/session-recording/2107/media/citrix-adc-network-settings.png)
その他のCitrix ADCネットワーク設定(/ja-jp/session-recording/2107/media/more-citrix-adc-network-settings.png)
-
「次へ: 確認 + 作成」をクリックしてCitrix ADC VPXインスタンスを作成し、展開が完了するまで待ちます。
Citrix ADC VPXインスタンス作成の検証に合格しました(/ja-jp/session-recording/2107/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/2107/media/add-a-back-end-pool.png)
新しいバックエンドプールの名前を入力し、「追加」をクリックします。
バックエンドプールが追加されました(/ja-jp/session-recording/2107/media/added-a-back-end-pool.png)
-
ヘルスプローブを追加します。
リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで「ヘルスプローブ」をクリックします。
ヘルスプローブの追加(/ja-jp/session-recording/2107/media/add-health-probes.png)
「追加」をクリックして、ポート80、22334、1801、443にヘルスプローブを追加します。
ポート上のヘルスプローブ(/ja-jp/session-recording/2107/media/health-probes-on-ports.png)
たとえば、ポート80にヘルスプローブを作成するには、次の設定を使用します。
設定 値 名前 SRHealthProbe80と入力してください。 プロトコル TCPを選択します。 ポート 80と入力します。 間隔 5 異常しきい値 VMが異常と見なされるまでに発生する必要がある、異常しきい値または連続プローブ失敗の数として「2」を選択します。 ポート80でのヘルスプローブの例(/ja-jp/session-recording/2107/media/example-health-probe-on-port80.png)
-
負荷分散ルールを追加します。
リソースリストから作成したロードバランサーを選択し、左側のナビゲーションで負荷分散ルールをクリックします。追加をクリックして、負荷分散ルールを追加します。
ロードバランシング規則の追加(/ja-jp/session-recording/2107/media/add-load-balancer-rule.png)
ポート80、22334、1801、443のロードバランシング規則を追加するには、[追加] をクリックします。
ポート上のロードバランシング規則(/ja-jp/session-recording/2107/media/load-balancer-rules-for-ports.png)
たとえば、ポート80のロードバランシング規則を作成するには、次の設定を使用します。
設定 値 名前 名前を入力します(例: SRTCPRule80)。 IPバージョン [IPv4] を選択します。 フロントエンドIPアドレス LoadBalancerFrontEnd を選択するようにしてください。 プロトコル [TCP] を選択します。 ポート 「80」と入力します。 バックエンドポート 「80」と入力します。 バックエンドプール 「SRBackendPool」を選択してください。 ヘルスプローブ 「SRHealthProbe80」を選択してください。 セッション永続性 「クライアント IP」を選択します。 アイドルタイムアウト (分) デフォルト設定を受け入れます。 TCP リセット 「有効」を選択します。 送信元ネットワークアドレス変換 (SNAT) 「(推奨) 送信ルールを使用して、バックエンドプールメンバーにインターネットへのアクセスを提供します」を選択します。 ポート80の負荷分散ルールの例(/ja-jp/session-recording/2107/media/load-balancer-rule-for-port80.png)
-
Session Recording ServerがインストールされているAzure VMをバックエンドプールに追加します。

バックエンドプール内のVM(/ja-jp/session-recording/2107/media/added-back-end-servers.png)
-
-
Azureロードバランサーをテストします。
サーバーをバックエンドプールに追加できず、NetworkInterfaceAndLoadBalancerAreInDifferentAvailabilitySetsというエラーメッセージが表示される場合は、サーバーのネットワークインターフェイスのパブリックIPアドレスの関連付けを解除します。
パブリックIPアドレスの関連付けを解除する(/ja-jp/session-recording/2107/media/disassociate-a-public-ip-address.png)
-
オプション3:Azureアプリケーションゲートウェイを作成する
ヒント:
Application Gateway V2は、NTLM対応プロキシを介した要求のルーティングをサポートしていません。
-
Azureアプリケーションゲートウェイを作成します。
アプリケーションゲートウェイを作成する際に、次の設定を構成します。
- 「基本」タブで、「ティア」を「標準」に設定します。
- Frontendsタブで、Frontend IP address typeをPrivateに設定します。新しいアプリケーションゲートウェイは、内部ロードバランサーとして使用されます。
-
バックエンドプールを追加します。

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

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


-
ポート 22334 経由の HTTP または HTTPS
WebSocket が HTTP を使用する場合は、ポート 80 と同じ設定を使用します。 WebSocket が HTTPS を使用する場合は、ポート 443 と同じ設定を使用します。
-
-
フロントエンド IP アドレスを追加します。

-
リスナーを追加します。
たとえば、ポート 80、443、22334 にリスナーを追加します。
ポート上のリスナー(/ja-jp/session-recording/2107/media/listeners-on-ports.png)
- ポート80のリスナー
ポート80のリスナー(/ja-jp/session-recording/2107/media/listener-on-port-80.png)
-
ポート443のリスナー
HTTPSリスナーを作成する際に、自己署名証明書を作成し、その証明書をAzure portalにアップロードします。詳細については、「TLS終端でサポートされる証明書」および「自己署名証明書の作成」を参照してください。
ポート443のリスナー(/ja-jp/session-recording/2107/media/listener-on-port-443.png)
-
ポート22334のリスナー
WebSocketがHTTPを使用する場合は、ポート80と同じ設定を使用します。WebSocketがHTTPSを使用する場合は、ポート443と同じ設定を使用します。次の例は、ポート22334のHTTPSリスナーの設定を示しています。
ポート22334のリスナー(/ja-jp/session-recording/2107/media/listener-on-port-22334.png)
-
要求ルーティングルールを作成します。
たとえば、ポート80、443、22334のルールを作成します。
要求ルーティングルール(/ja-jp/session-recording/2107/media/request-routing-rules.png)
-
ポート80のルーティングルール
ポート80の要求ルーティングルール - リスナー タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-80.png)
ポート80の要求ルーティングルール - バックエンドターゲット タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-80-2.png)
-
ポート443のルーティング規則
ポート443の要求ルーティング規則 - リスナー タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-443.png)
ポート443の要求ルーティング規則 - バックエンドターゲット タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-443-2.png)
-
ポート22334のルーティング規則
ポート22334の要求ルーティング規則 - リスナー タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-22334.png)
ポート22334の要求ルーティング規則 - バックエンドターゲット タブ(/ja-jp/session-recording/2107/media/request-routing-rule-for-port-22334-2.png)
-
-
Session Recording Server がインストールされている Azure VM をバックエンドプールに追加します。
-
ナレッジセンターの記事 CTX230015 に従って、セッションレコーディングサーバーを構成します。
この記事の概要
- 前提条件
- ステップ 1: Citrix Virtual Apps™ and Desktops のインストーラーをアジュールにアップロードします
- ステップ 2: Azure portal で SQL マネージドインスタンスを作成する
- ステップ3: Azure仮想マシン (VM) を作成する
- ステップ4: リモートデスクトップでCitrix Virtual Apps and DesktopsインストーラーをAzure VMにダウンロードする
- ステップ5: インストーラーを実行してSession RecordingコンポーネントをAzure VMにインストールする
- ステップ6: 記録を保存するためのAzureファイル共有を構成する
- ステップ7:ロードバランサーを追加する