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サイトデータベースを別サーバにしています。

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。
流れ | 内容 | 行きの通信ポート |
|---|---|---|
① | クライアント端末にてブラウザを開き、 | TCP/443 |
② | NetScaler Gatewayとドメインコントローラ間で | TCP/389(LDAP) |
③ | NetScaler Gatewayがログイン情報を StoreFront | TCP/80(HTTP) |
④ | StoreFrontとドメインコントローラ間でユーザの | TCP/88(Kerberos) |
⑤ | StoreFront が デリバリーコントローラサーバの | TCP/80(HTTP) |
⑥ | デリバリーコントローラサーバとドメインコント | TCP/88(kerberos) |
⑦ | デリバリーコントローラはXenAppのサイト | TCP/1433 |
⑧ | デリバリーコントローラは⑦で取得したデータを | 戻り通信 |
⑨ | StoreFrontはユーザに表示する画面を生成して | 戻り通信 |
⑩ | クライアント端末の画面にログインしたユーザ | 戻り通信 |
公開アプリケーションのアイコンをクリック後、起動用のICAファイルがダウンロードされるまで

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。
流れ | 内容 | 行きの通信ポート |
|---|---|---|
① | クライアント端末にて公開アプリケーションのアイコンをクリックします。 | TCP/443 |
② | NetScaler GatewayからStoreFrontサーバへリクエスト情報を送信します。 | TCP/80(HTTP) |
③ | StoreFrontサーバからデリバリーコントローラサーバへリクエスト情報を送信します。 | TCP/80(HTTP) |
④ | デリバリーコントローラサーバからドメインコントローラへ資格情報を問い合わせます。 | TCP/88(Kerberos) |
⑤ | デリバリーコントローラサーバからXenAppサイトデータベースへ、公開アプリケーションを起動するための最適なVDAサーバを問い合わせます。 | TCP/1433 |
⑥ | ⑤で取得した最適なマシンを起動する必要がある場合は、ハイパーバイザーに起動要求を出します。 | ※2019/10/10更新 |
⑦ | 例えば、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ファイル)を転送します。 | 戻り通信 |
クライアント端末から公開アプリケーションの起動要求を送信してから起動が完了するまで

※以下の表に記載のポート番号は筆者の検証環境で確認出来た番号です。
流れ | 内容 | 行きの通信ポート |
|---|---|---|
① | クライアント端末のCitrix Receiverは、起動用ファイル(ICAファイル)のSSLProxyHostで指定されているNetScaler Gatewayに接続します。 | TCP/443 |
② | NetScaler Gateway とデリバリーコントローラサーバのSecure Ticket Authority(STA)間で、チケットの検証をします。 | TCP/80(HTTP) |
③ | チケットが正しいことを確認後、NetScaler GatewayがVDAサーバ2号機へ接続します。 | TCP/2598 |
④ | VDAサーバ2号機からデリバリーコントローラサーバへ、セッション起動をする通知をします。 | TCP/80(HTTP) |
⑤ | デリバリーコントローラサーバからCitrixライセンスサーバへ、ライセンスのチェックアウトの処理をします。 | TCP/7279 |
⑥ | デリバリーコントローラサーバからXenAppサイトデータベースへ、セッション情報を登録します。 | TCP/1433 |
⑦ | デリバリーコントローラサーバからVDAサーバへ該当のセッションに紐付くトークンが含まれる情報を送信します。 | 戻り通信 |
⑧ | VDAサーバ2号機からNetScaler Garewayへ「3」の応答を返します。 | 戻り通信 |
⑨ | NetScaler GatewayからVDAサーバ2号機へ接続してセッションを確立します。 | TCP/2598 |
⑩ | VDAサーバにてセッション起動準備をして公開アプリケーションを起動します。Windows の認証処理で、ドメインコントローラサーバに対する認証処理の通信も発生します。 | UDP/53 (DNS) |
⑪ | NetScaler Gateway を介して、クライアント端末とVDAサーバ間にて公開アプリケーションの通信を行います。 | A:443 |
まとめ
公開アプリケーションのアイコン一覧をクライアント端末のブラウザに表示させるまでの処理は、NetScaler Gatewayを使用しない場合と同様の流れになります。
公開アプリケーションのアイコンをクリックした後、NetScaler Gateway がSTAから取得したチケットを使用してクライアント端末の代理でXenAppサーバに接続します。
公開アプリケーションの通信は、NetScaler Gateway を介して、クライアント端末とVDAサーバ間にて行います。
いかがでしたでしょうか?公開アプリケーションの起動処理の流れを把握することで、問題切り分けの時間を短縮できる場合がありますのでご参考にして頂けますと幸いです。
Citrix製品紹介セミナーも定期開催しています
クライアント仮想化の基礎知識から、仮想化製品「Citrix Virtual Apps and Desktops(XenAppおよびXenDesktop)」の製品概要、導入検討時に注意すべき点などをご紹介します。
今お持ちのお悩みを解決し、Citrix製品をより有効に活用する方法を具体的に学ぶことができる内容になっております。
Citrixの設定・トラブル対処方法の良くあるFAQ10選プレゼント中
アシストのCitrixサポートセンターに良くある設定・トラブル対処方法のFAQ10選の資料を無料プレゼント中です。また、Citrix XenApp/XenDesktopの問題発生時に原因を切り分ける方法も掲載しております。以下のバナーからお気軽にダウンロードください。
著者情報
ビジネスインフラ技術本部 アクセスインフラ技術統括部
川東 健吾
ビジネスインフラ技術本部 アクセスインフラ技術統括部
川東 健吾
関連記事
この記事のハッシュタグ #Port-Number #NetScaler から関連する記事を表示しています。

