Citrix Virtual Apps and Desktops

セッション

最高のユーザーエクスペリエンスを提供するためには、日々のセッションアクティビティを保守することが重要です。ネットワークの信頼性が低い、通信速度が一定していない、ワイヤレスデバイスの伝送距離が制限されているなどの理由でネットワーク接続が失われると、ユーザーの労働意欲が損なわれます。ワークステーション間をすばやく移動でき、ログオンするたびに同じアプリケーションのセットにアクセスできることは、病院の医療スタッフなど多くのモバイルワーカーにとっての優先事項です。

この記事で説明する機能では、セッションの信頼性が最適化され、利便性が向上し、ダウンタイムの増加や生産性の低下を防ぐことができます。また、モバイルユーザーがデバイス間をすばやく移動できるようになります。

また、ユーザーのセッションからのログオフ、セッションの切断、およびセッションの事前起動と残留の構成も実行できます。「デリバリーグループの管理」を参照してください。

セッション画面の保持

セッション画面の保持機能は、ICAセッションをアクティブのまま保持し、ネットワークの接続が切断されても、セッションの画面を表示したままにできます。ユーザーは、接続が回復するまでセッション画面を見ることができます。

この機能は、ワイヤレス接続を使用するモバイルユーザーにとって特に有用です。たとえば、ワイヤレス接続でのセッション中にトンネルや障害物などの影響で接続に障害が生じた場合、通常はセッションが切断され、セッションの画面が表示されなくなります。この場合、切断セッションに再接続されるまで、そのセッションでは何もできません。セッション画面の保持機能を有効にすると、データを損失することなくセッションがアクティブのまま保持されます。ネットワークが中断されると、セッション画面が停止し、カーソルの形が砂時計に変わるため、ユーザーにもネットワークが切断されていることがわかります。このとき、セッションウィンドウが閉じたりエラーメッセージが表示されたりする代わりに画面表示が保持され、バックグラウンドで再接続が試行されます。ネットワーク接続が回復すると、自動的にセッションでの作業を再開できるようになります。また、セッションに再接続するときに再認証用のログオン画面が表示されないため、ユーザーは即座に作業を再開できます。

Citrix Workspaceアプリのユーザーは、Controller側の設定を上書きできません。

セッション画面の保持機能と共に、TLS(Transport Layer Security)を使用できます。TLSは、ユーザーデバイスとCitrix Gateway間で送信されるデータのみを暗号化します。

セッション画面の保持機能は、以下のポリシー設定で構成します。

  • [セッション画面の保持]ポリシー設定により、セッション画面の保持を許可または禁止します。
  • [セッション画面の保持のタイムアウト]ポリシー設定には、デフォルトで180秒(3分)が設定されています。この時間を長く設定することもできますが、この機能の本来の目的は、ネットワークから切断されたユーザーを再認証することなくセッションに再接続することにあるので注意が必要です。必要以上に長い時間を設定すると、接続の再開を待ちきれないユーザーが席を離れてしまい、その間に不正なユーザーがセッションにアクセスしてしまう危険性があります。
  • セッション画面の保持機能が有効な受信接続ではポート2598が使用されます。このポート番号はポリシーの[セッション画面の保持のポート番号]設定で変更できます。
  • 切断したセッションに再接続するユーザーを再認証する場合は、クライアントの自動再接続機能を使用します。[クライアントの自動再接続時の認証]ポリシー設定を構成して、中断されたセッションにユーザーが再接続するときに再認証を要求することができます。

セッション画面の保持機能とクライアントの自動再接続機能を一緒に使用する場合は、次のように処理されます。まず、ネットワークが切断されると、セッション画面の保持機能により、セッションがアクティブのままサーバー上に保持されます。[セッション画面の保持のタイムアウト]設定で指定した時間が経過すると、サーバー上のセッションが終了または切断されます。この後で[クライアントの自動再接続]の各ポリシー設定が有効になり、切断セッションへの再接続が行われます。

クライアントの自動再接続

クライアント自動再接続機能では、ネットワークの問題などによって切断されたセッションをCitrix Workspaceアプリが検出して、そのセッションに自動的に再接続します。この機能がサーバーで有効になっていると、ユーザーは作業を続けるために手動で再接続する必要がありません。

アプリケーションセッションでは、Citrix Workspaceアプリは、接続に成功するかユーザーがキャンセルするまで再接続を繰り返し試行します。

デスクトップセッションでは、Citrix Workspaceアプリは、指定された時間にわたり、接続に成功するかユーザーがキャンセルするまで再接続を繰り返し試行します。デフォルトでは、この時間は5分です。この時間を変更するには、ユーザーデバイスで以下のレジストリを編集します。

HKLM\Software\Citrix\ICA Client\TransportReconnectRetryMaxTimeSeconds; DWORD;<seconds>

<seconds>には、セッションの再接続の試行をやめるまでの時間を秒数で指定します。

クライアント自動再接続機能は、以下のポリシー設定で構成します。

  • クライアントの自動再接続: 接続が中断した場合のCitrix Workspaceアプリによる自動再接続を有効または無効にします。
  • クライアントの自動再接続時の認証: 自動再接続時にユーザーの認証を要求するかどうかを指定します。
  • クライアントの自動再接続のログ: 再接続イベントのイベントログへの記録を有効または無効にします。ログ機能は、デフォルトで無効になっています。この機能を有効にすると、サーバーのシステムログに自動再接続の成功および失敗イベントが記録されます。再接続イベントのログは、サイト全体で記録されるのではなく、そのイベントが発生した個々のサーバーのシステムログに記録されます。

クライアントの自動再接続機能には、暗号化されたユーザー資格情報に基づく再認証メカニズムが使用されています。ユーザーが最初にログオンしたときに、サーバーにより暗号化されたユーザー資格情報がメモリに格納され、その暗号キーを含んだCookieがCitrix Workspaceアプリに送信されます。Citrix Workspaceアプリは、再接続時にこのキーをサーバーへ送信します。サーバーは復号化した資格情報をWindowsのログオンプロセスに送信して認証を求めます。Cookieの有効期限が切れた場合、ユーザーは資格情報を再入力する必要があります。

[クライアントの自動再接続時の認証]設定を有効にした場合、Cookieは使用されません。その代わりに、Citrix Workspaceアプリの切断セッションへの自動再接続時に、ユーザーの資格情報を入力するためのダイアログボックスが開きます。

ユーザーの資格情報とセッションのセキュリティを最大限に保護するために、クライアントとサイトの間のすべての通信で暗号化機能を使用してください。

Windows向けCitrix Workspaceアプリで自動再接続機能を無効にするには、icaclient.admファイルを編集します。詳しくは、該当するバージョンのWindows向けCitrix Workspaceアプリのドキュメントを参照してください。

接続の設定も、クライアントの自動再接続機能に影響します。

  • 前述のように、クライアントの自動再接続はポリシー設定のデフォルトによりサイト全体で有効になっています。ユーザーの再認証も不要です。ただし、サーバーでICA TCP接続が切断されたときにセッションをリセットするように設定すると、自動再接続は実行されません。クライアントの自動再接続は、エラーの発生またはタイムアウトによりサーバーがセッションを切断した場合にのみ実行されます。ここでのICA TCP接続とは、実際のネットワーク接続ではなく、TCP/IPネットワーク上のセッションで使用されるサーバーの仮想ポートを指します。
  • サーバー上のICA TCP接続では、デフォルトでエラーやタイムアウトが発生した接続のセッションを切断するように設定されています。切断されたセッションはそのままシステムメモリに残るので、Citrix Workspaceアプリで再接続すると作業を続行できます。
  • エラーが生じたりタイムアウトしたりした接続のセッションについてはリセット、つまりログオフされるように構成できます。セッションがリセットされた場合、再接続しようとすると、切断前の作業状態からセッションが復元されるのではなく、アプリケーションが再起動されて新しいセッションが開始されます。
  • セッションがリセットされるようにサーバーが構成されている場合、クライアントの自動再接続により新しいセッションが開始されます。この場合、ユーザーが自分の資格情報を入力して、サーバーにログオンし直す必要があります。
  • 外部からの侵入などによってCitrix Workspaceアプリまたはプラグインから正しくない認証情報が提供された場合、またはセッションの切断が検出されてから自動再接続までの時間が長すぎた場合は、自動再接続に失敗することがあります。

ICA Keep-Alive

ICA Keep-Alive機能を有効にすると、ネットワークの問題により切断されたセッションにユーザーが再接続できなくなることを防ぐことができます。この機能が有効な場合、セッションのアイドル状態(たとえばクロックデータの更新、マウス操作、画面更新などがない状態)が検出されたときに、リモートデスクトップサービスによりセッションが切断されることを防ぐことができます。サーバーは、定期的にKeep-Aliveパケットを送信して、セッションがアクティブかどうかを検出します。セッションがアクティブでないことが検出されると、サーバーにより「切断」状態として認識されます。

重要:

ICA Keep-Aliveは、セッション画面の保持機能を使用しない環境でのみ正しく動作します。セッション画面の保持機能では、ICA Keep-Aliveとは異なるメカニズムで切断セッションが管理されます。セッション画面の保持機能を使用しない環境でのみ、ICA Keep-Aliveを有効にしてください。

ここでのKeep-Alive機能の設定は、Windowsのグループポリシーによる同様の設定よりも優先されます。

ICA Keep-Alive機能は、以下のポリシー設定で構成します。

  • ICA Keep-Aliveタイムアウト: ICA Keep-Aliveメッセージの送信間隔を1~3600秒の範囲で指定します。ただし、ネットワークの問題によるセッションの切断が少なく、アイドル状態のセッションをネットワーク監視ソフトウェアで自動的に閉じるように設定している環境では、このオプションを構成しないでください。

    デフォルト値は60秒で、サーバーからユーザーデバイスにICA Keep-Aliveパケットが60秒おきに送信されます。クライアントが60秒以内に応答しない場合、そのセッションは「切断」状態(タイムアウト)と認識されます。

  • ICA Keep-Alive: ICA Keep-Aliveメッセージを送信するかどうかを指定します。

ワークスペースコントロール

ワークスペースコントロール機能を有効にすると、ユーザーがセッションの途中でデバイスを切り替えても、新しいデバイス上でそのデスクトップやアプリケーションでの作業を継続できます。これにより、ユーザーは自分のデスクトップや作業中のアプリケーションにどこからでもシームレスにアクセスできるようになります。たとえば、病院内の複数のワークステーション間を移動しながら、常に同じアプリケーションセットにアクセスしなければならない医療スタッフをサポートするために、この機能を利用できます。ワークスペースコントロールを構成すると、ユーザーは複数のアプリケーションを一度に切断して、その後で別のクライアントデバイスからそれらのアプリケーションに再接続できます。

ワークスペースコントロールを有効にすると、ユーザーの操作は以下のようになります。

  • ログオン: デフォルトでは、ユーザーが移動先でログオンすると、実行されていたすべてのデスクトップおよびアプリケーションに自動的に再接続されます。デスクトップやアプリケーションを手作業で起動する必要はありません。デスクトップまたはアプリケーションのセッションがほかのクライアントデバイス上でアクティブな場合だけでなく、切断されている場合にも接続されます。ユーザーがデスクトップやアプリケーションとの接続を切断しても、サーバー上のセッションは終了しません。管理者は、ユーザーが切断したものだけが再接続されるように構成することもできます。これにより、移動先のクライアントデバイスを使ってユーザーが再ログオンしたときに、前のクライアントデバイスでアクティブなデスクトップやアプリケーションには再接続されず、切断されているものだけが再接続されます。
  • 再接続: サーバーに再ログオンしたユーザーは、[再接続]をクリックすることで自分のデスクトップやアプリケーションに一度に再接続できます。デフォルトでは、切断されているデスクトップやアプリケーションと、ほかのクライアントデバイスでアクティブなデスクトップやアプリケーションが再接続されます。管理者は、切断されているデスクトップやアプリケーションだけが再接続されるように構成することもできます。
  • ログオフ: ユーザーがStoreFront経由でデスクトップやアプリケーションにアクセスする場合に、[ログオフ]コマンドによりStoreFrontおよびすべてのアクティブセッションからログオフするのか、StoreFrontだけからログオフするのかを管理者が構成できます。
  • 切断: ユーザーは、実行中のすべてのデスクトップやアプリケーションを一度に切断できます。個々に切断する必要はありません。

ワークスペースコントロールは、Citrix WorkspaceアプリユーザーがCitrix StoreFront経由でデスクトップやアプリケーションにアクセスする場合にのみ使用できます。デフォルトでは、仮想デスクトップセッションではワークスペースコントロールが無効になり、ホストされたアプリケーションセッションでは有効になります。公開デスクトップ上で公開アプリケーションを実行する場合、デフォルトではこれらのセッションは共有されません。

ユーザーが別のクライアントデバイスに移動すると、ポリシー、クライアント側ドライブのマッピング、およびプリンターの設定が適切に変更されます。ポリシーとクライアント側ドライブのマッピングは、ユーザーがセッションにログオンするクライアントデバイスの条件に基づいて適用されます。たとえば、医療従事者が緊急治療室のクライアントデバイスからログオフして、レントゲン室のワークステーションにログオンして自分のワークスペースに再接続した場合は、レントゲン室でのセッションに適したポリシー、プリンターマッピング、およびクライアント側ドライブのマッピング設定がセッションの開始時に有効になります。

管理者は、ユーザーが場所を移動したときに使用可能になるプリンターをカスタマイズできます。また、ローカルプリンターでの印刷の可否やリモート接続時に使用される帯域幅などの印刷環境を制御することもできます。

ワークスペースコントロール機能を有効にして構成する方法については、StoreFrontのドキュメントを参照してください。

セッションローミング

デフォルトでは、ユーザーのクライアントデバイス間でセッションローミングが行われます。ユーザーがセッションを開始した後に別のデバイスに移動した場合、同じセッションが使用され、両方のデバイスでアプリケーションを使用することができます。デバイスや、現在のセッションが存在するかどうかに関係なく、アプリケーションが引き継がれます。多くの場合、アプリケーションに割り当てられたプリンターやそのほかのリソースも引き継がれます。

このデフォルト動作には多数のメリットがありますが、すべてのケースで理想的であるわけではありません。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ユーザーあたり1インスタンスのみ許可する」の影響を受けます。

  • セッションローミングを無効にする場合、このアプリケーション制限も無効にします。
  • このアプリケーション制限を有効にする場合、新規デバイスでの新規セッションを許可する2つの値は、どちらも設定しないでください。

ログオン間隔

デスクトップVDAがインストールされている仮想マシンが、ログオンプロセスが完了する前に終了する場合は、プロセスにより多くの時間を割り当てることができます。7.6以降のバージョンのデフォルトは180秒です(7.0~7.5は90秒です)。

マシン上(またはマシンカタログで使用されるマスターイメージ上)で、以下のレジストリキーを設定します:

キー:HKLM\SOFTWARE\Citrix\PortICA

  • 値:AutoLogonTimeout
  • 種類:DWORD
  • 十進法時間(秒)を0~3600の範囲で指定します。

マスターイメージを変更する場合は、カタログを更新してください。

この設定は、デスクトップ(ワークステーション)VDAを搭載した仮想マシンにのみ適用されます。サーバーVDAを搭載したマシンのログオンタイムアウトは、Microsoft社により制御されます。

セッション