ロードバランシング
セッションレコーディングは、セッションレコーディングサーバー間でのロードバランシングをサポートしています。この記事では、Citrix ADC を例として、ロードバランシングの構成についてまとめます。詳細については、(/ja-jp/session-recording/2104/best-practices/configure-load-balancing-in-an-existing-deployment.html) および (/ja-jp/session-recording/2104/best-practices/deploy-and-load-balance-session-recording-in-azure.html) を参照してください。
すべてのセッションレコーディングサーバー間でロードバランシング構成を同期できます。
注:
ロードバランシング機能には、セッションレコーディングサーバーおよびセッションレコーディングエージェントのバージョン7.16以降が必要です。
ロードバランシングをサポートするためのセッションレコーディングの変更点:
- すべてのセッションレコーディングサーバーは、録画ファイルを保存するために1つのフォルダーを共有します。
- すべてのセッションレコーディングサーバーは、1つのセッションレコーディングデータベースを共有します。
- (推奨) セッションレコーディングポリシーコンソールは1つだけインストールし、すべてのセッションレコーディングサーバーでこのコンソールを共有します。
ロードバランシングの構成
この機能を使用するには、Citrix ADC およびさまざまなセッションレコーディングコンポーネントで次の手順を実行します。
ロードバランシングの構成 (Citrix ADC の部分)
ロードバランシングサーバーの構成
Citrix ADC のロードバランシングサーバーにセッションレコーディングサーバーを追加します。
ロードバランシングサービスの構成
- 各Session Recording Serverで、必要なプロトコルごとに負荷分散サービスを追加します。
- (推奨) 各サービスモニターをバインドするために、関連するプロトコルモニターを選択します。
負荷分散仮想サーバーを構成する
- 必要なプロトコルに基づいて同じCitrix ADC VIPアドレスを持つ仮想サーバーを作成し、その仮想サーバーを関連する負荷分散サービスにバインドします。
- 各仮想サーバーで永続性を構成します。
- (推奨) 負荷分散方法として、デフォルトの方法 (LEASTCONNECTION) ではなく、LEASTBANDWITHまたはLEASTPACKETSを選択します。
- HTTPS仮想サーバーをUP状態にするために証明書を作成します。
負荷分散を構成する (Session Recording部分)
Session Recording Serverをインストールした各サーバーで、次の操作を行います
- (Recommended) Type the same Session Recording Database name during the Session Recording Server installation.
- 管理者ログ機能を選択する場合、Citrixは各Session Recording Serverをインストールする際に、同じ管理者ログデータベース名を入力することを推奨します。
- ファイルストレージフォルダーの読み取り/書き込み権限をすべてのSession Recording Serverマシンアカウントと共有した後、Session Recording Serverのプロパティで、そのファイルストレージフォルダーを共有フォルダーとして使用するように変更します。詳しくは、「録画の復元場所を指定する」を参照してください。
- Add a value to the Session Recording Server registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server. Value name: EnableLB Value data: 1 (DWORD, meaning enable)
-
Session Recording Storage ManagerメッセージキューにHTTPまたはHTTPSプロトコルを選択する場合、Citrix ADC VIPアドレスのホストレコードを作成し、C:\Windows\System32\msmq\Mapping\sample_mapにリダイレクトを追加して、メッセージキューサービスを再起動します。
リダイレクトは次のようになります。
<redirections xmlns="msmq-queue-redirections.xml"> <redirection> <from>http://<ADCHost>*/msmq/private$/CitrixSmAudData</from> <to>http://<LocalFqdn>/msmq/private$/CitrixSmAudData</to> </redirection> <redirection> <from>https://<ADCHost>*/msmq/private$/CitrixSmAudData</from> <to>https://<LocalFqdn>/msmq/private$/CitrixSmAudData</to> </redirection> </redirections> <!--NeedCopy-->**\<ADCHost\>**は、作成されたCitrix ADC VIPアドレスのFQDNであり、**\<LocalFqdn\>**はローカルホストのFQDNです。 -
(推奨) 1つのSession Recording Serverレジストリを構成した後、
**<Session Recording Server installation path\>\Scripts\SrServerConfigurationSync.ps1**スクリプトを使用して、このサーバーレジストリから構成をエクスポートし、他のSession Recording Serverレジストリにレジストリをインポートできます。また、**SrServerConfigurationSync.ps1**スクリプトを使用して、メッセージキューイングのリダイレクトマッピングを追加することもできます。-
1つのセッションレコーディングサーバーで、EnableLB レジストリ値を構成した後、管理者としてコマンドプロンプトを起動し、powershell.exe -file SrServerConfigurationSync.ps1 –Action Export,AddRedirection –ADCHost <ADCHost> コマンドを実行します。ここで、<ADCHost> は作成されたCitrix ADCの仮想IPアドレスの完全修飾ドメイン名です。
-
スクリプトの実行後、
**SrServerConfig.reg**という名前のエクスポートされたレジストリファイルが生成され、**sr\_lb\_map.xml**ファイルが**C:\\Windows\\System32\\msmq\\Mapping**パスに追加されます。 -
他のセッションレコーディングサーバーで、前の手順で生成されたSrServerConfig.reg をコピーし、管理者としてコマンドプロンプトを起動し、powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection –ADCHost <ADCHost> コマンドを実行します。ここで、<ADCHost> は作成されたCitrix ADCの仮想IPアドレスの完全修飾ドメイン名です。
-
スクリプトの実行後、他のセッションレコーディングサーバーのレジストリキーにEnableLB値が追加され、C:\Windows\System32\msmq\Mappingパスにsr_lb_map.xmlファイルが追加されます。
-
Session Recording Agentがインストールされているマシンで、Session Recording Agentのプロパティで次の操作を実行します
- Session Recording Storage ManagerのメッセージキューにHTTPまたはHTTPSプロトコルを選択した場合は、Citrix ADCの仮想IPアドレスの完全修飾ドメイン名をSession Recording Server テキストボックスに入力します。
- Session Recording Storage ManagerのメッセージキューにデフォルトのTCPプロトコルを選択した場合は、Citrix ADC VIPアドレスを
**Session Recording Server**テキストボックスに入力します。
Session Recording Playerをインストールしたマシンで、以下を実行します
接続されたSession Recording Serverとして、Citrix ADCの仮想IPアドレスまたはその完全修飾ドメイン名を追加します。
セッションレコーディングデータベースをインストールしたSQLサーバー上で、以下を実行します
すべてのセッションレコーディングサーバーマシンアカウントを共有セッションレコーディングデータベースに追加し、それらに db_owner 権限を割り当てます。