セッションの回復性設定
セッションアクティビティを維持することは、最高のユーザーエクスペリエンスを提供するために不可欠です。信頼性の低いネットワーク、変動の大きいネットワーク遅延、ワイヤレスデバイスの範囲制限による接続性の喪失は、ユーザーの不満につながる可能性があります。ワークステーション間を素早く移動し、ログオンするたびに同じアプリケーションセットにアクセスできることは、病院の医療従事者など、多くのモバイルワーカーにとって優先事項です。
この記事で説明する機能は、セッションの信頼性を最適化し、不便さ、ダウンタイム、生産性の損失を軽減します。これらの機能を使用することで、モバイルユーザーはデバイス間を素早く簡単に移動できます。
セッションの信頼性
セッションの信頼性により、ネットワーク接続が中断されてもセッションはアクティブな状態を保ち、ユーザーの画面に表示されます。ユーザーは、ネットワーク接続が再開されるまで、使用しているアプリケーションを引き続き見ることができます。
この機能は、ワイヤレス接続を使用するモバイルユーザーにとって特に便利です。たとえば、ワイヤレス接続を使用しているユーザーが鉄道トンネルに入り、一時的に接続が失われたとします。通常、セッションは切断されてユーザーの画面から消え、ユーザーは切断されたセッションに再接続する必要があります。セッションの信頼性を使用すると、セッションはマシン上でアクティブなままになります。接続が失われたことを示すために、ユーザーのディスプレイはフリーズし、カーソルは回転する砂時計に変わり、トンネルの反対側で接続が再開されるまで続きます。ユーザーは中断中もディスプレイにアクセスし続け、ネットワーク接続が復元されるとアプリケーションとの対話を再開できます。セッションの信頼性は、再認証のプロンプトなしでユーザーを再接続します。
Citrix Workspace™アプリのユーザーは、Controllerの設定を上書きできません。
セッションの信頼性は、Transport Layer Security (TLS) とともに使用できます。TLSは、ユーザーデバイスとCitrix Gatewayの間で送信されるデータのみを暗号化します。
次のポリシー設定を使用して、セッションの信頼性を有効にして構成します。
-
セッションの信頼性接続ポリシー設定は、セッションの信頼性を許可または禁止します。
-
セッションの信頼性タイムアウトポリシー設定のデフォルトは180秒、つまり3分です。セッションの信頼性がセッションを開いたままにする時間を延長することはできますが、この機能はユーザーの利便性のために設計されており、再認証をユーザーに促すことはありません。セッションを開いたままにする時間を延長すると、ユーザーが注意散漫になり、ユーザーデバイスから離れてしまい、セッションが不正なユーザーにアクセス可能になる可能性が高まります。
-
受信セッションの信頼性接続は、セッションの信頼性ポート番号ポリシー設定でポート番号を変更しない限り、ポート2598を使用します。
-
ユーザーが再認証なしで中断されたセッションに再接続できないようにしたい場合は、自動クライアント再接続機能を使用します。自動クライアント再接続認証ポリシー設定を構成して、中断されたセッションに再接続する際にユーザーに再認証を促すことができます。
セッションの信頼性と自動クライアント再接続の両方を使用する場合、これら2つの機能は順次動作します。セッションの信頼性は、セッションの信頼性タイムアウトポリシー設定で指定した時間の経過後にユーザーセッションを閉じ、または切断します。その後、自動クライアント再接続ポリシー設定が有効になり、切断されたセッションにユーザーを再接続しようとします。
自動クライアント再接続
Auto Client Reconnect機能を使用すると、Citrix Workspaceアプリは意図しないICA®セッションの切断を検出し、影響を受けるセッションにユーザーを自動的に再接続できます。この機能がサーバーで有効になっている場合、ユーザーは作業を続行するために手動で再接続する必要はありません。
アプリケーションセッションの場合、Citrix Workspaceアプリは、再接続が成功するか、ユーザーが再接続の試行をキャンセルするまで、セッションへの再接続を試行します。
デスクトップセッションの場合、Citrix Workspaceアプリは、再接続が成功するか、ユーザーが再接続の試行をキャンセルしない限り、指定された時間セッションへの再接続を試行します。デフォルトでは、この時間は5分です。この期間を変更するには、ユーザーデバイスで次のレジストリを編集します。
HKLM\Software\Citrix\ICA Client\TransportReconnectRetryMaxTimeSeconds; DWORD;<seconds>
secondsは、セッションの再接続がそれ以上試行されなくなるまでの秒数です。
次のポリシー設定でAuto Client Reconnectを有効にして構成します。
-
自動クライアント再接続: 接続が中断された後、Citrix Workspaceアプリによる自動再接続を有効または無効にします。
-
自動クライアント再接続認証: 自動再接続後のユーザー認証の要件を有効または無効にします。
-
自動クライアント再接続ログ記録: イベントログでの再接続イベントのログ記録を有効または無効にします。ログ記録はデフォルトで無効になっています。有効にすると、サーバーのシステムログに、成功した自動再接続イベントと失敗した自動再接続イベントに関する情報がキャプチャされます。各サーバーは、再接続イベントに関する情報を独自のシステムログに保存します。サイトは、すべてのサーバーの再接続イベントの結合されたログを提供しません。
Auto Client Reconnectは、暗号化されたユーザー資格情報に基づく認証メカニズムを組み込んでいます。ユーザーが最初にログオンすると、サーバーはユーザー資格情報を暗号化してメモリに保存し、暗号化キーを含むCookieを作成してCitrix Workspaceアプリに送信します。Citrix Workspaceアプリは、再接続のためにキーをサーバーに送信します。サーバーは資格情報を復号化し、認証のためにWindowsログオンに送信します。Cookieの有効期限が切れると、ユーザーはセッションに再接続するために再認証する必要があります。
自動クライアント再接続認証設定を有効にしている場合、Cookieは使用されません。代わりに、Citrix Workspaceアプリが自動的に再接続を試行するときに、資格情報を要求するダイアログボックスがユーザーに表示されます。
ユーザー資格情報とセッションを最大限に保護するために、クライアントとサイト間のすべての通信に暗号化を使用してください。
icaclient.admファイルを使用して、Windows向けCitrix WorkspaceアプリでAuto Client Reconnectを無効にします。詳しくは、お使いのWindows向けCitrix Workspaceアプリのバージョンのドキュメントを参照してください。
接続の設定もAuto Client Reconnectに影響します。
-
デフォルトでは、上記のように、Auto Client Reconnectはサイトレベルのポリシー設定を通じて有効になっています。ユーザーの再認証は不要です。ただし、サーバーのICA TCP接続が、通信リンクが切断されたセッションをリセットするように構成されている場合、自動再接続は行われません。Auto Client Reconnectは、接続が切断されたかタイムアウトした場合にサーバーがセッションを切断する場合にのみ機能します。この文脈では、ICA TCP接続とは、TCP/IPネットワーク上のセッションに使用されるサーバーの仮想ポート(実際のネットワーク接続ではなく)を指します。
-
デフォルトでは、サーバー上のICA TCP接続は、切断された接続またはタイムアウトした接続を持つセッションを切断するように設定されています。切断されたセッションはシステムメモリにそのまま残り、Citrix Workspaceアプリによる再接続が可能です。
-
接続は、切断された接続またはタイムアウトした接続を持つセッションをリセットまたはログオフするように構成できます。セッションがリセットされると、再接続を試みると新しいセッションが開始されます。ユーザーを使用中のアプリケーションの同じ場所に戻すのではなく、アプリケーションが再起動されます。
-
サーバーがセッションをリセットするように構成されている場合、自動クライアント再接続によってセッションが作成されます。このプロセスでは、ユーザーはサーバーにログオンするために資格情報を入力する必要があります。
-
Citrix Workspaceアプリまたはプラグインが誤った認証情報を送信した場合、自動再接続が失敗することがあります。これは、攻撃中に発生したり、サーバーが切断された接続を検出してから時間が経ちすぎたと判断した場合に起こり得ます。
ICA キープアライブ
ICA Keep-Alive機能を有効にすると、切断された接続が切断されるのを防ぎます。有効にすると、サーバーがアクティビティを検出しない場合(たとえば、時刻の変更、マウスの移動、画面の更新がない場合)、この機能はリモートデスクトップサービスがそのセッションを切断するのを防ぎます。サーバーは数秒ごとにキープアライブパケットを送信して、セッションがアクティブであるかどうかを検出します。セッションがアクティブでなくなった場合、サーバーはそのセッションを切断済みとしてマークします。
重要:
ICA Keep-Aliveは、セッションの信頼性を使用していない場合にのみ機能します。セッションの信頼性には、切断された接続が切断されるのを防ぐ独自のメカニズムがあります。ICA Keep-Aliveは、セッションの信頼性を使用しない接続に対してのみ構成してください。
ICA Keep-Alive設定は、Microsoft Windowsグループポリシーで構成されているキープアライブ設定を上書きします。
次のポリシー設定を使用して、ICA Keep-Aliveを有効にして構成します。
-
ICAキープアライブタイムアウト: ICAキープアライブメッセージの送信に使用される間隔(1~3600秒)を指定します。切断された接続が非常にまれで、ユーザーがセッションに再接続できることが問題にならない環境で、ネットワーク監視ソフトウェアに非アクティブな接続を閉じさせたい場合は、このオプションを構成しないでください。デフォルトの間隔は60秒です。ICA Keep-Aliveパケットは60秒ごとにユーザーデバイスに送信されます。ユーザーデバイスが60秒以内に応答しない場合、ICAセッションのステータスは切断済みに変わります。
-
ICAキープアライブ: ICAキープアライブメッセージを送信するか、送信を防止します。
ワークスペースコントロール
ワークスペースコントロールを使用すると、デスクトップとアプリケーションがユーザーをあるデバイスから別のデバイスへと追跡できます。このローミング機能により、ユーザーは各デバイスでデスクトップやアプリケーションを再起動することなく、ログオンするだけでどこからでもすべてのデスクトップや開いているアプリケーションにアクセスできます。たとえば、ワークスペースコントロールは、病院で異なるワークステーション間を迅速に移動し、ログオンするたびに同じアプリケーションセットにアクセスする必要がある医療従事者を支援できます。ワークスペースコントロールオプションを許可するように構成した場合、これらの従業員は1つのクライアントデバイスで複数のアプリケーションから切断し、別のクライアントデバイスで同じアプリケーションを開くために再接続できます。
ワークスペースコントロールは、次のアクティビティに影響します。
-
ログオン: デフォルトでは、ワークスペースコントロールにより、ユーザーはログオン時に実行中のすべてのデスクトップとアプリケーションに自動的に再接続でき、手動で再開する必要がなくなります。ワークスペースコントロールを通じて、ユーザーは切断されたデスクトップやアプリケーション、および別のクライアントデバイスでアクティブになっているものを開くことができます。デスクトップまたはアプリケーションから切断しても、それはサーバー上で実行されたままになります。あるクライアントデバイスで一部のデスクトップまたはアプリケーションを実行したまま、別のクライアントデバイスでデスクトップまたはアプリケーションのサブセットに再接続する必要があるローミングユーザーがいる場合、以前にユーザーが切断したデスクトップまたはアプリケーションのみを開くようにログオン再接続動作を構成できます。
-
再接続: サーバーにログオンした後、ユーザーは「再接続」をクリックすることで、いつでもすべてのデスクトップまたはアプリケーションに再接続できます。デフォルトでは、「再接続」は切断されたデスクトップまたはアプリケーション、および現在別のクライアントデバイスで実行されているものを開きます。以前にユーザーが切断したデスクトップまたはアプリケーションのみを開くように「再接続」を構成できます。
-
ログオフ: StoreFront™ を介してデスクトップまたはアプリケーションを開くユーザーの場合、「ログオフ」コマンドを構成して、StoreFront とすべてのアクティブなセッションから同時にユーザーをログオフさせるか、StoreFront からのみログオフさせることができます。
-
切断: ユーザーは、実行中のすべてのデスクトップとアプリケーションから一度に切断でき、個別に切断する必要はありません。
ワークスペースコントロールは、Citrix StoreFront接続またはCitrix Workspaceアプリを介してデスクトップやアプリケーションにアクセスするユーザーが利用できます。デフォルトでは、ワークスペースコントロールは仮想デスクトップセッションでは無効になっていますが、ホスト型アプリケーションでは有効になっています。公開デスクトップと、そのデスクトップ内で実行されている公開アプリケーションとの間で、セッション共有はデフォルトでは行われません。
ユーザーが新しいクライアントデバイスに移動すると、ユーザーポリシー、クライアントドライブマッピング、およびプリンター構成が適切に変更されます。ポリシーとマッピングは、ユーザーがセッションにログオンしているクライアントデバイスに応じて適用されます。たとえば、医療従事者が病院の救急治療室にあるクライアントデバイスからログオフし、病院のX線検査室にあるワークステーションにログオンした場合、X線検査室でのセッションに適したポリシー、プリンターマッピング、およびクライアントドライブマッピングがセッション開始時に有効になります。
ユーザーが場所を変更したときに表示されるプリンターをカスタマイズできます。また、ユーザーがローカルプリンターに印刷できるかどうか、ユーザーがリモートで接続したときに消費される帯域幅の量、およびその他の印刷エクスペリエンスの側面を制御することもできます。
ユーザー向けにワークスペースコントロールを有効化および構成する方法については、StoreFrontのドキュメントを参照してください。
セッションローミング
注:
以下の情報は、PowerShellを使用してセッションローミングを構成する方法を説明しています。代わりにStudioを使用することもできます。詳細については、「デリバリーグループの管理」を参照してください。
デフォルトでは、セッションはユーザーとともにクライアントデバイス間をローミングします。ユーザーがセッションを起動し、別のデバイスに移動すると、同じセッションが使用され、アプリケーションは両方のデバイスで同時に利用可能になります。複数のデバイスでアプリケーションを表示できます。アプリケーションは、デバイスや現在のセッションの有無にかかわらず追従します。多くの場合、アプリケーションに割り当てられたプリンターやその他のリソースも追従します。
このデフォルトの動作には多くの利点がありますが、すべての場合に理想的とは限りません。PowerShell SDKを使用してセッションローミングを防止できます。
例1:医療専門家が2つのデバイスを使用しており、デスクトップPCで保険フォームを完成させ、タブレットで患者情報を確認しています。
-
セッションローミングが有効になっている場合、両方のアプリケーションが両方のデバイスに表示されます(一方のデバイスで起動されたアプリケーションは、使用中のすべてのデバイスで表示されます)。これはセキュリティ要件を満たさない可能性があります。
-
セッションローミングが無効になっている場合、患者記録はデスクトップPCに表示されず、保険フォームはタブレットに表示されません。
例2:生産管理者がオフィスにあるPCでアプリケーションを起動します。デバイス名と場所によって、そのセッションで利用できるプリンターやその他のリソースが決まります。その日の後半、彼は会議のために隣の建物のオフィスに行き、そこでプリンターを使用する必要があります。
-
セッションローミングが有効になっている場合、生産管理者は会議室近くのプリンターにアクセスできない可能性があります。なぜなら、彼がオフィスで以前に起動したアプリケーションによって、その場所に近いプリンターやその他のリソースが割り当てられているためです。
-
セッションローミングが無効になっている場合、彼が別のマシンに(同じ資格情報を使用して)ログオンすると、新しいセッションが開始され、近くのプリンターやリソースが利用可能になります。
セッションローミングを構成する
セッションローミングを構成するには、「SessionReconnection」プロパティとともに以下のエンタイトルメントポリシー規則コマンドレットを使用します。オプションで、「LeasingBehavior」プロパティも指定できます。
デスクトップセッションの場合:
Set-BrokerEntitlementPolicyRule <Delivery-Group-name> -SessionReconnection <value> -LeasingBehavior Allowed|Disallowed
アプリケーションセッションの場合:
Set-BrokerAppEntitlementPolicyRule <Delivery-Group-name> -SessionReconnection <value> -LeasingBehavior Allowed|Disallowed
ここで、
valueは次のいずれかになります。
-
Always: クライアントデバイスやセッションが接続されているか切断されているかに関係なく、セッションは常にローミングします。これがデフォルト値です。
-
DisconnectedOnly: 既に切断されているセッションにのみ再接続します。それ以外の場合は、新しいセッションを起動します。(セッションは、まず切断するか、ワークスペースコントロールを使用して明示的にローミングすることで、クライアントデバイス間をローミングできます。)別のクライアントデバイスからのアクティブな接続済みセッションは決して使用されません。代わりに、新しいセッションが起動されます。
-
SameEndpointOnly: ユーザーは、使用するクライアントデバイスごとに一意のセッションを取得します。これにより、ローミングが完全に無効になります。ユーザーは、以前セッションで使用したのと同じデバイスにのみ再接続できます。
「LeasingBehavior」プロパティについては、以下で説明します。
他の設定による影響:
セッションローミングを無効にすると、デリバリーグループのアプリケーションプロパティにあるアプリケーション制限「ユーザーごとにアプリケーションのインスタンスを1つのみ許可する」の影響を受けます。
-
セッションローミングを無効にする場合は、「Allow only one instance ...」アプリケーション制限も無効にします。
-
「Allow only one instance ...」アプリケーション制限を有効にする場合は、新しいデバイスで新しいセッションを許可する2つの値のいずれも構成しないでください。
ログオン間隔
デスクトップVDAを含む仮想マシンがログオンプロセス完了前に閉じられた場合、そのプロセスにより多くの時間を割り当てることができます。バージョン7.6以降のデフォルトは180秒です(バージョン7.0~7.5のデフォルトは90秒です)。
マシン(またはマシンカタログで使用されるマスターイメージ)で、次のレジストリキーを設定します。
キー:
HKLM\SOFTWARE\Citrix\PortICA
-
値:
AutoLogonTimeout -
種類:
DWORD -
0~3600の範囲で、10進数の時間を秒単位で指定します。
マスターイメージを変更する場合は、新しいイメージをカタログに展開します。詳しくは、「マスターイメージの変更」を参照してください。
この設定は、シングルセッションデスクトップ(ワークステーション)VDAを持つVMにのみ適用されます。マルチセッションサーバーVDAを持つマシンでのログオンタイムアウトは、Microsoftによって制御されます。