Citrixサポートブログ Citrix Virtual Apps and Desktopsの運用TIPS

トラブルシューティング

Citrix NetScaler Gateway を使用した場合のXenApp7.15の公開アプリケーション起動処理の流れ

公開日:
更新日:
トラブルシューティング
#Port-Number
#NetScaler
Citrix NetScaler Gateway を使用した場合のXenApp7.15の公開アプリケーション起動処理の流れ

こんにちは。Citrix製品のサポートを担当している川東(かわひがし)です。

Citrix XenApp(※現在の製品名はCitrix Virtual Apps)は、複数のコンポーネントが連動して動作するため、公開アプリケーション起動で問題が発生した際に、起動処理の流れが把握できていると問題切り分けをスムーズに行える場合があります。

※製品名の変更の詳細はこちら をご参照ください。

本記事は、Citrix NetScaler Gateway(以下、NetScaler Gateway)を使用した場合のXenApp7.15の公開アプリケーション起動処理の流れについて説明します。NetScaler Gatewayを使用しない場合の以下の記事を先に読んで頂くと本記事の内容がイメージしやすくなると思いますので、是非ご参照ください!

1.StoreFrontサイトへのログインから公開アプリケーションアイコン一覧の表示
2.公開アプリケーションのアイコンをクリック後、起動用のICAファイルがダウンロードされるまで
3.クライアント端末からVDAサーバに対して公開アプリケーションの起動要求を送信してから起動完了まで

本記事は1ページで以下の3つに内容を分けて説明しています。

  • NetScaler Gatewayサイトへのログインから公開アプリケーションアイコン一覧の表示まで

  • 公開アプリケーションのアイコンをクリック後、起動用のICAファイルがダウンロードされるまで

  • クライアント端末から公開アプリケーションの起動要求を送信してから起動が完了するまで

【参考情報】 Citrix サポートブログ Windows ファイアウォール使用してXenApp(Citrix Virtual Apps)のポートをブロックする動作テスト

https://www.ashisuto.co.jp/citrix_blog/article/201903-FireWall-XenApp.html

※開放する必要のあるポート番号を検証環境で動作確認する場合、こちらの記事をご参考にしてください。

CTX227054
NetScaler Gateway, StoreFront and XenDesktop Integration Communication Workflow
https://support.citrix.com/article/CTX227054

CTX236889
Application and Desktop Launch Process for internal network users
https://support.citrix.com/article/CTX236889

CTX128909
XenDesktop Connection Process and Communication Flow
https://support.citrix.com/article/CTX128909

CTX101810
Communication Ports Used by Citrix Technologies
https://support.citrix.com/article/CTX101810

本記事で説明しているXenApp7.15環境の構成図

以下の構成図を用いて説明します。VDAサーバ1号機にXenAppデータベースを同居する場合も多いと思いますが、今回は説明の都合上、XenAppサイトデータベースを別サーバにしています。

NSGとXenApp7.15の起動処理の流れ1

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。

流れ

内容

行きの通信ポート

①

クライアント端末にてブラウザを開き、
NetScaler Gatewayのサイトにログインします。
※Citrix Receiver を使用した接続も同様です。

TCP/443

②

NetScaler Gatewayとドメインコントローラ間で
認証処理が行われます。

TCP/389(LDAP)

③

NetScaler Gatewayがログイン情報を StoreFront
に送信します。

TCP/80(HTTP)

④

StoreFrontとドメインコントローラ間でユーザの
資格情報が正しいことを確認します。

TCP/88(Kerberos)
TCP/445
TCP/3268

⑤

StoreFront が デリバリーコントローラサーバの
Citrix Broker Service にログオン情報を送信します。

TCP/80(HTTP)

⑥

デリバリーコントローラサーバとドメインコント
ローラ間で資格情報が正しいことを確認します。

TCP/88(kerberos)

⑦

デリバリーコントローラはXenAppのサイト
データベース(SQL Server)へ、ユーザが利用
できる公開アプリケーションの情報を問い合わせます。

TCP/1433

⑧

デリバリーコントローラは⑦で取得したデータを
StoreFrontへ送信します。

戻り通信

⑨

StoreFrontはユーザに表示する画面を生成して
NetScaler Gatewayに送信します。

戻り通信

⑩

クライアント端末の画面にログインしたユーザ
アカウントで利用できる公開アプリケーションの
一覧が表示されます。

戻り通信

公開アプリケーションのアイコンをクリック後、起動用のICAファイルがダウンロードされるまで

NSGとXenApp7.15の起動処理の流れ2

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。

流れ

内容

行きの通信ポート

①

クライアント端末にて公開アプリケーションのアイコンをクリックします。

TCP/443

②

NetScaler GatewayからStoreFrontサーバへリクエスト情報を送信します。

TCP/80(HTTP)

③

StoreFrontサーバからデリバリーコントローラサーバへリクエスト情報を送信します。

TCP/80(HTTP)

④

デリバリーコントローラサーバからドメインコントローラへ資格情報を問い合わせます。

TCP/88(Kerberos)

⑤

デリバリーコントローラサーバからXenAppサイトデータベースへ、公開アプリケーションを起動するための最適なVDAサーバを問い合わせます。
XenDesktopの場合、ユーザ割り当てがランダムの場合は空いているデスクトップVDAが選ばれます。ユーザが事前割り当ての場合は、自身のアカウントが設定されているデスクトップVDAが選ばれます。

TCP/1433

⑥

⑤で取得した最適なマシンを起動する必要がある場合は、ハイパーバイザーに起動要求を出します。

※2019/10/10更新
XenServer:TCP/80
Hyper-V:TCP/8100
vCenter Server:TCP/443

⑦

例えば、5でVDAサーバ2号機が最適なサーバとして選ばれた場合、デリバリーコントローラのCitrix Broker ServiceからVDAサーバの Citrix Desktop Serviceへ接続をして、VDAサーバからセッションキーを取得します。

TCP/80(HTTP)

⑧

デリバリーコントローラからStoreFrontへ公開アプリケーションを起動するためのデータを送信します。

戻り通信

⑨

StoreFrontは、デリバリーコントローラサーバのSTAにチケットの生成を要求して取得します。こちらのチケットに⑦の情報は含まれません。STAにて保持されます。

TCP/80(HTTP)

⑩

StoreFrontサーバにて⑨で取得したチケット情報をもとに、クライアント端末のReceiverが参照するための起動用のファイル(ICAファイル)を作成して、NetScaler Gateway へ送信します。

戻り通信

⑪

NetScaler Gatewayからクライアント端末へ起動用のファイル(ICAファイル)を転送します。

戻り通信

クライアント端末から公開アプリケーションの起動要求を送信してから起動が完了するまで

NSGとXenApp7.15の起動処理の流れ3

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。

流れ

内容

行きの通信ポート

①

クライアント端末のCitrix Receiverは、起動用ファイル(ICAファイル)のSSLProxyHostで指定されているNetScaler Gatewayに接続します。

TCP/443

②

NetScaler Gateway とデリバリーコントローラサーバのSecure Ticket Authority(STA)間で、チケットの検証をします。

TCP/80(HTTP)

③

チケットが正しいことを確認後、NetScaler GatewayがVDAサーバ2号機へ接続します。

TCP/2598
もしくは
TCP/1494

④

VDAサーバ2号機からデリバリーコントローラサーバへ、セッション起動をする通知をします。

TCP/80(HTTP)

⑤

デリバリーコントローラサーバからCitrixライセンスサーバへ、ライセンスのチェックアウトの処理をします。
※チェックアウトの処理はTCP/7279の通信ですが、Citrix StudioからCitrix ライセンスサーバ間の通信はTCP/27000とTCP/8083も使用されます。

TCP/7279

⑥

デリバリーコントローラサーバからXenAppサイトデータベースへ、セッション情報を登録します。

TCP/1433

⑦

デリバリーコントローラサーバからVDAサーバへ該当のセッションに紐付くトークンが含まれる情報を送信します。

戻り通信

⑧

VDAサーバ2号機からNetScaler Garewayへ「3」の応答を返します。

戻り通信

⑨

NetScaler GatewayからVDAサーバ2号機へ接続してセッションを確立します。

TCP/2598
もしくは
TCP/1494

⑩

VDAサーバにてセッション起動準備をして公開アプリケーションを起動します。Windows の認証処理で、ドメインコントローラサーバに対する認証処理の通信も発生します。

UDP/53 (DNS)
TCP/135 (RPC)
TCP/88 (Kerberos)
TCP/389 (LDAP)
UDP/389 (LDAP

⑪

NetScaler Gateway を介して、クライアント端末とVDAサーバ間にて公開アプリケーションの通信を行います。
※クライアント端末とNetScaler Gateway間は右のA
※クライアント端末とNetScaler Gateway間は右のB 2019/06/20 訂正
※NetScaler GatewayとVDAサーバ2号機間は右のB

A:443
B:TCP/2598 もしくは TCP/1494

まとめ

  • 公開アプリケーションのアイコン一覧をクライアント端末のブラウザに表示させるまでの処理は、NetScaler Gatewayを使用しない場合と同様の流れになります。

  • 公開アプリケーションのアイコンをクリックした後、NetScaler Gateway がSTAから取得したチケットを使用してクライアント端末の代理でXenAppサーバに接続します。

  • 公開アプリケーションの通信は、NetScaler Gateway を介して、クライアント端末とVDAサーバ間にて行います。

いかがでしたでしょうか?公開アプリケーションの起動処理の流れを把握することで、問題切り分けの時間を短縮できる場合がありますのでご参考にして頂けますと幸いです。

Citrix製品紹介セミナーも定期開催しています

クライアント仮想化の基礎知識から、仮想化製品「Citrix Virtual Apps and Desktops(XenAppおよびXenDesktop)」の製品概要、導入検討時に注意すべき点などをご紹介します。
今お持ちのお悩みを解決し、Citrix製品をより有効に活用する方法を具体的に学ぶことができる内容になっております。

CitrixFAQ集ダウンロード

Citrixの設定・トラブル対処方法の良くあるFAQ10選プレゼント中

アシストのCitrixサポートセンターに良くある設定・トラブル対処方法のFAQ10選の資料を無料プレゼント中です。また、Citrix XenApp/XenDesktopの問題発生時に原因を切り分ける方法も掲載しております。以下のバナーからお気軽にダウンロードください。

CitrixFAQ集ダウンロード

この記事をシェアする

著者情報

著者の顔写真

ビジネスインフラ技術本部 アクセスインフラ技術統括部

川東 健吾

ビジネスインフラ技術本部 アクセスインフラ技術統括部

川東 健吾