AzureでSession Recordingを展開して負荷分散する
前提条件
- AzureにCitrix Virtual Apps and DesktopsまたはCitrix DaaS(旧称Citrix Virtual Apps and Desktopsサービス)をインストールしてある。
- Azureアカウントを持っている。
手順1:Citrix Virtual Apps and Desktopsインストーラーを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ポータルでSQL Managed Instanceを作成する
詳しくは、Azure SQLマネージドインスタンスの作成を参照してください。
手順3:Azure仮想マシン(VM)を作成する
[Image]で [Windows Server 2019 Datacenter – Gen1] を選択し、[Size]で [Standard_D4as_v4 – 4 vcpus, 16GiB memory] を選択します。詳しくは、「Azure PortalでWindows仮想マシンを作成する」参照してください。
手順4:リモートデスクトップにし、Citrix Virtual Apps and DesktopsインストーラーをAzureにアップロードする
手順5:インストーラーを実行して、Azure VMにSession Recordingコンポーネントをインストールする
詳しくは、「Session Recording Administrationコンポーネントのインストール」を参照してください。
手順6:録画を保存するためのAzureファイル共有を構成する
録画を保存するためのAzureファイル共有を作成するには、次の手順を実行します:
-
Azure Portalで、ストレージアカウントを作成してから、Azureファイル共有を作成します。
クイックスタートガイドについては、Azure Portalを使用したAzureファイル共有の作成および管理を参照してください。次の表は、検討すべきお勧めの構成です。
録画ファイルサイズ(MB/時間) 1日あたりの録画されたセッション数 ファイル共有タイプ ファイル共有クォータ(TB) Session Recordingサーバーの数 Session Recordingサーバーのサイズ < 6.37 < 1,000 HDD Standard (StorageV2) 2 1 Standard D4as_v4 < 6.37 1,000~2,000 SSD Premium 3 1 Standard D4as_v4 < 6.37 2,000~3,000 SSD Premium 5 1 Standard D4as_v4 < 6.37 3,000~4,000 SSD Premium 6 1 Standard D4as_v4 約10 < 1,000 HDD Standard (StorageV2) 3 1 Standard D4as_v4 約10 1,000~2,500 SSD Premium 6 1 Standard D4as_v4 約10 2,500~4,000 SSD Premium 10 2 Standard D4as_v4 ファイル共有クォータは、1日あたり8時間、1か月あたり23営業日、各録画ファイルの1か月の保有期間に基づいて計算されます。
-
Session Recordingサーバーをインストールしたホストに、Azureファイル共有の資格情報を追加します。
-
管理者としてコマンドプロンプトを起動し、ドライブを <Session Recordingサーバーのパス>\Binフォルダーに変更します。
デフォルトでは、Session Recordingサーバーは
C:\Program Files\Citrix\SessionRecording\Server
にインストールされています。 -
「SsRecUtils.exe -AddAzureFiles <storageAccountName> <fileShareName> <accesskey>」コマンドを実行します。
各項目の意味は次のとおりです。
- <storageaccountname> は、Azureのストレージアカウントの名前です。
- <filessharename> は、ストレージアカウントに含まれるファイル共有の名前です。
- <accesskey> は、ファイル共有へのアクセスに使用できるストレージアカウントキーです。
ストレージアカウントキーを取得するには、次の2つの方法があります:
-
ストレージアカウントキーは、ファイル共有ページの [Connect] アイコンをクリックしたときに表示される接続文字列から取得できます。
-
ストレージアカウントページの左側のナビゲーションにある [Access keys] をクリックして、ストレージアカウントキーを取得することもできます。
-
Session Recordingサーバーをインストールしたホストに、Azureファイル共有をマウントします。
- [Session Recordingサーバーのプロパティ] を開きます。
- [格納場所] タブで [追加] をクリックします。
-
次の形式でUNCパスを入力します:\\<storageaccountname>.file.core.windows.net\\<filessharename>\<subfolder>。
録画ファイルを保存する場所として、ファイル共有の下にあるサブフォルダーを指定します。そうすると、Session Recordingサーバーが自動的にサブフォルダーを作成します。
- [ファイル格納フォルダー] ダイアログボックスで [OK] をクリックします。
- [Session Recordingサーバーのプロパティ] ウィンドウで [適用] をクリックします。
- [適用] がグレー表示になったら、[OK] をクリックします。
-
Session Recordingストレージマネージャーサービスを再起動するよう求められたら、[はい] をクリックします。
-
手順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] プランを選択し、[Create] をクリックします。
-
リソースグループを選択または作成し、[Basics] タブで他の設定を行います。
-
[VM Configurations]を設定します。
-
必要に応じて、ネットワーク設定を確認および変更します。パブリック受信ポートには、[ssh (22), http (80), https (443)] を選択します。
仮想ネットワークが自動的に作成されます。Session Recording環境が既にインストールされている場合は、その仮想ネットワークとサーバーのサブネット設定を使用できます。
-
[Next: Review + create] をクリックしてCitrix ADC VPXインスタンスを作成し、展開が完了するのを待ちます。
-
サブネットIP(SNIP)アドレスとCitrix ADC VIPアドレスを同じサブネット上に設定します。
SNIPアドレスとVIPアドレスは同じサブネット上にある必要があります。この例では、VIPアドレスをSNIPアドレスのサブネット上に設定します。
- citrix-adc-vpx仮想マシンを停止します。
-
VIPアドレスのサブネットを変更します。
- citrix-adc-vpx仮想マシンを起動します。
オプション2:Azure Load Balancerを作成する
Azure Load Balancerは、TCPパススルーサービスです。次の図は、TCPパススルーによる負荷分散を示しています。
- Azure Load Balancerを作成します。
-
Azure Portalで検索し、[Marketplace] で [Load Balancers] を選択します。
[Create load balancer] ページの [Basics] タブで、次の表のとおりに設定します:
設定 値 サブスクリプション サブスクリプションを選択します。 リソースグループ たとえば、前に作成した [srlbtest] を選択します。 名前 「SRLoadBalance」と入力します。 リージョン [(US) East US] を選択します。 種類 [Internal] を選択します。 SKU [Standard] を選択します。 仮想ネットワーク たとえば、前に作成した [srazureautovnet] を選択します。 サブネット たとえば、前に作成した [srazureautosubnet] を選択します。 IP address assignment [Dynamic] を選択します。 アベイラビリティゾーン [Zone-redundant] を選択します。 -
バックエンドプール、ヘルスプローブ、負荷分散の規則などのロードバランサーリソースを追加します。
-
バックエンドプールを追加します。
リソースリストから、作成したロードバランサーを選択し、左側のナビゲーションで [Backend pools] をクリックします。[Add] をクリックして、バックエンドプールを追加します。
新しいバックエンドプールの名前を入力してから、[Add] をクリックします。
-
ヘルスプローブを追加します。
リソースリストから、作成したロードバランサーを選択し、左側のナビゲーションで [Health probes] をクリックします。
[Add] をクリックして、ポート80、22334、1801、443にヘルスプローブを追加します。
たとえば、次の設定を使用して、ポート80にヘルスプローブを作成します。
設定 値 名前 「SRHealthProbe80」と入力します。 プロトコル [TCP] を選択します。 ポート 「80」と入力します。 間隔 5 Unhealthy threshold VMが異常であると判断される前に必ず発生する、異常なしきい値、または連続するプローブエラーの数として、2を選択します。 -
負荷分散の規則を追加します。
リソースリストから、作成したロードバランサーを選択し、左側のナビゲーションで [Load balancing rules] をクリックします。[Add] をクリックして、負荷分散の規則を追加します。
[Add] をクリックして、ポート80、22334、1801、443の負荷分散の規則を追加します。
たとえば、次の設定を使用して、ポート80の負荷分散の規則を作成します。
設定 値 名前 「SRTCPRule80」などの名前を入力します。 IP Version [IPv4] を選択します。 Frontend IP address [LoadBalancerFrontEnd] を選択します。 プロトコル [TCP] を選択します。 ポート 「80」と入力します。 Backend port 「80」と入力します。 Backend pool [SRBackendPool] を選択します。 Health probe [SRHealthProbe80] を選択します。 Session persistence [Client IP] を選択します。 Idle timeout (minutes) デフォルト設定のままにします。 TCP reset [有効] をクリックします。 送信元ネットワークアドレス変換(SNAT) [(Recommended) Use outbound rules to provide backend pool members access to the internet] ((推奨)送信規則を使用してバックエンドプールのメンバーにインターネットへのアクセス権を付与する)を選択します。 -
Session RecordingサーバーがインストールされているAzure VMをバックエンドプールに追加します。
-
-
Azure Load Balancerをテストします。
サーバーをバックエンドプールに追加できず、次のエラーメッセージにNetworkInterfaceAndLoadBalancerAreInDifferentAvailabilitySetsと表示される場合は、サーバーネットワークインターフェイスのパブリックIPアドレスの関連付けを解除します。
-
オプション3:Azureアプリケーションゲートウェイを作成する
ヒント:
Application Gateway V2は、NTLM対応プロキシを介したルーティング要求をサポートしていません。
-
Azureアプリケーションゲートウェイを作成します。
アプリケーションゲートウェイを作成するときに、次の設定を構成します。
- [Basics] タブで、[Tier] を [Standard] に設定します。
- [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にリスナーを追加します:
- ポート80のリスナー
-
ポート443のリスナー
HTTPSリスナーを作成するとき、自己署名証明書を作成してAzure Portalにアップロードします。詳しくは、「TLS終端でサポートされる証明書」および「自己署名証明書の作成」を参照してください。
-
ポート22334のリスナー
WebSocketがHTTPを使用する場合は、ポート80と同じ設定を使用します。WebSocketがHTTPSを使用する場合は、ポート443と同じ設定を使用します。次の例は、ポート22334でのHTTPSリスナーの設定を示しています。
-
要求ルーティングの規則を作成します。
次の例のように、ポート80、443、22334の規則を作成します:
-
ポート80のルーティングの規則
-
ポート443のルーティングの規則
-
ポート22334のルーティングの規則
-
-
Session RecordingサーバーがインストールされているAzure VMをバックエンドプールに追加します。
-
Knowledge Centerの記事CTX230015に従って、Session Recordingサーバーを構成します。
この記事の概要
- 前提条件
- 手順1:Citrix Virtual Apps and DesktopsインストーラーをAzureにアップロードする
- 手順2:AzureポータルでSQL Managed Instanceを作成する
- 手順3:Azure仮想マシン(VM)を作成する
- 手順4:リモートデスクトップにし、Citrix Virtual Apps and DesktopsインストーラーをAzureにアップロードする
- 手順5:インストーラーを実行して、Azure VMにSession Recordingコンポーネントをインストールする
- 手順6:録画を保存するためのAzureファイル共有を構成する
- 手順7:ロードバランサーを追加する