ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

リモートデスクトッププロトコルサーバーの負荷分散

リモートデスクトッププロトコル (RDP) はマルチチャネル対応のプロトコルで、プレゼンテーションデータ、シリアルデバイス通信、ライセンス情報、高度に暗号化されたデータ (キーボードとマウスの操作) などを転送するための個別の仮想チャネルを可能にします。

RDPは、ネットワーク上の別のコンピューターにGUIを提供するために使用されます。RDP は Windows ターミナルサーバーで使用され、低帯域幅の接続でも、マウスの動きとキー押下をほぼリアルタイムに伝送して高速アクセスを提供します。

リモートデスクトップサービスを提供するために複数のターミナルサーバーを展開すると、Citrix ADCアプライアンスはターミナルサーバー(Windows 2003および2008 Serverエンタープライズエディション)の負荷分散を提供します。アプリケーションにリモートでアクセスしているユーザーは、アプリケーションをリモートマシンで実行したままにして、ローカルマシンをシャットダウンしたい場合があります。したがって、ユーザはリモートアプリケーションからログアウトせずにローカルアプリケーションを閉じます。リモートマシンに再接続した後、ユーザーはリモートアプリケーションを続行できる必要があります。この機能を提供するために、Citrix ADC RDP実装では、ターミナルサービスセッションディレクトリまたはブローカーによって設定されたルーティングトークン(Cookie)が優先されるため、クライアントは以前に接続されていたターミナルサーバーに再接続できます。セッションディレクトリは、Windows 2003 ターミナルサーバーに実装され、Windows 2008 ターミナルサーバーではブローカーと呼ばれます。

クライアントと負荷分散仮想サーバー間でTCP接続が確立されると、Citrix ADCは指定された負荷分散方法を適用し、いずれかのターミナルサーバーに要求を転送します。ターミナルサーバーはセッションディレクトリをチェックして、クライアントがドメイン内の他のターミナルサーバーで実行されているセッションがあるかどうかを判断します。

他のターミナルサーバーにアクティブなセッションがない場合、ターミナルサーバーはクライアント要求を処理して応答し、Citrix ADCアプライアンスはクライアントに応答を転送します。

他のターミナルサーバーにアクティブなセッションがある場合、要求を受信するターミナルサーバーはアクティブなセッションの詳細を含むクッキー(ルーティングトークンと呼ばれる)を挿入し、パケットをCitrix ADCアプライアンスに返し、パケットをクライアントに返します。サーバーはクライアントとの接続を閉じます。クライアントが接続を再試行すると、Citrix ADCはCookie情報を読み取り、クライアントがアクティブなセッションを持つターミナルサーバーにパケットを転送します。

クライアントマシン上のユーザーがサービスの継続を経験し、特定のアクションを実行する必要はありません。

注:Windows セッションディレクトリ機能を使用するには、Windows XP で最初にリリースされたリモートデスクトップクライアントが必要です。Windows 2000 または Windows NT 4.0 ターミナルサーバークライアントとのセッションが切断され、クライアントが再接続すると、接続が確立されたサーバーが負荷分散アルゴリズムによって選択されます。

次の図は、RDP ロードバランシングを示しています。

図1:RDP のロードバランシングトポロジ

RDPトポロジ

  • RDP サービスが構成されると、ルーティングトークンを使用して永続性が自動的に維持されます。永続性を明示的に有効にする必要はありません。
  • Citrix ADCアプライアンスは、IPベースのクッキーのみをサポートします。
  • nsrdp.plスクリプトは、現在のバージョンのWindowsサーバーではサポートされていません。

ログアウトせずにRDPセッションが切断されたときに、2つのターミナルサーバー間でフラッピングが発生しないように、切断されたRDPセッションがバックエンドのターミナルサーバーでクリアされていることを確認します。詳しくは、「https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc758177(v=ws.10)#BKMK_2」を参照してください。

RDPサービスを追加すると、デフォルトでCitrix ADCはTCPタイプのモニターを追加し、サービスにバインドします。デフォルトのモニターは、RDPサービス用に指定されたサーバーの3389ポートにリスニングプロセスが存在するかどうかを確認する単純なTCPモニターです。3389でリスニングプロセスがある場合、Citrix ADCはこのサービスをUPとしてマークし、リスニングプロセスがない場合は、サービスをダウンとしてマークします。

RDP サービスをより効率的に監視するには、既定のモニターに加えて、RDP プロトコル用のスクリプトモニターを構成できます。スクリプトモニターを構成すると、Citrix ADCは指定されたサーバーへのTCP接続を開き、RDPパケットを送信します。モニタは、物理サーバから接続の確認を受信した場合のみ、サービスを UP としてマークします。したがって、スクリプトモニターから、Citrix ADCは、RDPサービスが要求を処理する準備ができているかどうかを知ることができます。

モニタはユーザータイプのモニタで、スクリプトはCitrix ADC /nsconfig/monitors/nsrdp.plにあります。ユーザーモニターを構成すると、Citrix ADCによってスクリプトが自動的に実行されます。スクリプトモニターを構成するには、モニターを追加し、RDP サービスにバインドします。

RDP 負荷分散を構成するには、RDP タイプのサービスを作成し、RDP 仮想サーバーにバインドします。

コマンドラインインターフェイスを使用して RDP 負荷分散サービスを構成するには

コマンドプロンプトで次のコマンドを入力して、RDP 負荷分散セットアップを構成し、構成を確認します。

add service <name>@ <serverName> <serviceType> <port>

注:サービスを追加するには、前のコマンドを繰り返します。

> add service ser1 10.102.27.182 RDP 3389 Done > add service ser2 10.102.27.183 RDP 3389 Done >show service ser1 ser1 (10.102. 27.182:3389) - RDP State: UP … Server Name: 10.102.27.182 Server ID : 0 Monitor Threshold : 0 Down state flush: ENABLED1) Monitor Name: tcp-default State: UP Weight: 1 … Response Time: 4.152 millisec Done

構成ユーティリティを使用して RDP 負荷分散サービスを構成するには

[トラフィック管理] > [負荷分散] > [サービス]に移動し、RDP タイプのサービスを作成します。

コマンドラインインターフェイスを使用して RDP 負荷分散仮想サーバーを構成するには

コマンドプロンプトで次のコマンドを入力して、RDP 負荷分散仮想サーバーを構成し、構成を確認します。

add lb vserver <name>@ <serviceType> <ipAddress> <port> bind lb vserver <name>@ <serviceName> Bind all the RDP services to be load balanced to the virtual server.

例:

この例では、RDP 仮想サーバーにバインドされた 2 つの RDP サービスがあります。

add lb vs v1 rdP 10.102.27.186 3389 Done bind lb vs v1 ser1 service "ser1" bound bind lb vs v1 ser2 service "ser2" bound Done sh lb vs v1 v1 (10.102.27.186:3389) - RDP Type: ADDRESS State: UP … No. of Bound Services : 2 (Total) 2 (Active) Configured Method: LEASTCONNECTION Current Method: Round Robin, Reason: A new service is bound Mode: IP Persistence: NONE L2Conn: OFF 1) ser1 (10.102.27.182: 3389) - RDPState: UP Weight: 1 2) ser2 (10.102.27.183: 3389) - RDPState: UP Weight: 1 Done

構成ユーティリティを使用して RDP 負荷分散仮想サーバーを構成するには

[トラフィック管理] > [負荷分散] > [仮想サーバー] に移動し、RDP タイプの仮想サーバーを作成し、この仮想サーバーに RDP サービスをバインドします。

コマンドラインインターフェイスを使用して RDP サービスのスクリプトモニターを構成するには

コマンドプロンプトで、次のコマンドを入力します。

add lb monitor <monitorName> USER -scriptName nsrdp.pl bind lb monitor <monitorName> <rdpServiceName>

例:

add service ser1 10.102.27.182 RDP 3389 add lb monitor RDP_MON USER -scriptName nsrdp.pl bind lb monitor RDP_MON ser1

構成ユーティリティを使用して RDP サービスのスクリプトモニターを構成するには

  1. Traffic Management > Load Balancing > Monitorsに移動してタイプUSERのモニターを作成します。
  2. [特殊パラメータ] の [スクリプト名] リストで [nsrdp.pl] を選択し、このモニタを RDP サービスにバインドします。
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。