前回、Horizon8のRDSH公開デスクトップの構築手順を公開しました。
今回は、Horizon8のもう一つの機能であるRDSH公開アプリケーションの機能を検証していきたいと思います。
なお、Horizon8の構築については以下の記事でインストール手順を公開しています。
期待する目標
本手順で期待する目標は以下の通りです。
- RDSHで公開アプリケーションを展開できること
- RDSH公開アプリケーションへアクセスできること
前提条件
検証するにあたり、以下の環境を使用しております。
【Connection Server】
- CPU : 2vCPU
- MEM : 4GB
- DISK : 60GB
- Horizon Version : Horizon8 2111 (Ver. 8.4)
【UAG】
- CPU : 2vCPU
- MEM : 4GB
- DISK : 20GB
- NIC : 1NIC構成
- UAG Version : UAG 2106
【RDSH】
- CPU : 2vCPU
- MEM : 4GB
- DISK : 60GB
- OS : Windows Server 2022
- ドメイン : 参加済み
RDSHの公開デスクトップを実行するにあたり、ホストとなるOSが必要となります。
ホストOSの要件として、物理または仮想化されたWindows Serverが必要となります。
対応するOSは、Windows Server 2012 R2以降のOSとなります。
また、Windows Server 2012 R2、2016、2019でRDSHを構成する場合は、以下の事前準備が必要となります。
- Active Directoryドメインに参加していること
- デスクトップエクスペリエンスがインストール済みであること(GUIが利用できること)
- Microsoft Visual C++ Redistributableがインストールされている場合、2005 SP1以降がインストールされていること
これ以外に公開アプリケーションを使用するため、アプリケーションのインストーラが必要となります。
公開アプリケーションについては、ものによって使用できるもの、できないものがあると思われるため、本番環境に展開する前に十分に検証する必要があります。
Horizon RDSH公開アプリケーション展開までの道のり
今回は以下の順序でRDSH公開デスクトップを展開していきます。
- Windows Updateの無効化 or ドライバーアップデートの無効化
- RDSHへロールのインストール(1回目のHorizon Agentインストーラの実行)
- RDSHへHorizon Agentのインストール(2回目のHorizon Agentインストーラの実行)
- ファームの作成
- RDSHアプリケーションの割り当て
- 接続検証
今回は、Horizon Agnetのインストールを行った後に、デフォルトでインストールされているアプリケーションの割り当てを行い、正常にRDSHアプリケーションが展開できるか確認します。
問題なくRDSHアプリケーションが展開できることを確認したら、実際にGoogle ChromeをインストールしてRDSHアプリケーションとして展開していきたいと思います。
Windows Updateの無効化 or ドライバーアップデートの無効化
RDSH公開デスクトップ時には、行っていませんでしたが、VMWareのKBによると、Windows Updateの無効化やドライバーアップデートの無効化はしたほうがよさそうなので、適宜行っていきます。
今回は、Windows UpdateについてはGPOで制御をかけ、ドライバのアップデート無効化のみ実行していきます。

[システムのプロパティ]-[ハードウェア]-[デバイスのインストール設定]より、[デバイスのインストール設定]を押下します。

[デバイスのインストール設定]より、[いいえ(デバイスが適切に機能しない可能性があります)]を選択し、[変更の保存]を押下します。
以上で、ドライバアップデート無効化は完了です。
RDSHへロールのインストール

Horizon Agnetのインストーラを実行して、RDSHロールのインストールを開始します。

[VMWare Horizon Agnet インストールウィザードへようこそ]より、インストールするHorizon Agnetのバージョンを確認して、[次へ]を押下します。

[使用許諾契約書]より、EULAを一読し同意できる場合は、[使用許諾契約の条項に同意します]を選択し、[次へ]を押下します。

[デスクトップOS構成]より、[RDSモード]を選択し、[次へ]を押下します。

RDSHに必要なロールをインストールするため、[OK]を押下し、必要なロールをインストールします。

RDSHに必要なロールがインストールされるので、完了するまで待機します。

必要なロールのインストールが完了すると、[デスクトップOSの構成]に戻るため、[次へ]を押下します。

[インストーラの完了]より、[完了]を押下します。

[VMware Horizon Agentインストーラ情報]より、再起動を求められるため、[はい]を押下し、OSを再起動します。
以上でHorizon Agnetを使用したRDSHロールのインストールは完了です。
RDSHへHorizon Agentのインストール

Horizon Agentの1回目のインストールが完了したら、2回目のインストールを実行していきます。

[VMware Horizon Agnetインストールウィザードへようこそ]より、インストールするHorizon Agnetのバージョンを確認し、[次へ]を押下します。

[使用許諾契約書]より、EULAを一読し同意できる場合は、[使用許諾契約の条項に同意します]を選択し、[次へ]を押下します。

[ネットワークプロトコル構成]より、使用するプロトコルバージョンを選択します。
今回は、IPv4でConnection Serverを構成しているため、[IPv4]を選択し、[次へ]を押下します。

[カスタムセットアップ]より、必要な機能がある場合、機能を選択し、[次へ]を押下します。
今回は検証のため、[3D RDSH]を選択しています。

[Horizon Connection Serverに登録]より、以下の設定を行います。
- Connection Server : Connection ServerのFQDNまたはIPアドレス
- 管理者の認証情報を指定する : ●
- ユーザ名 : ドメイン名\ユーザ名(Connection Serverに割り当てている管理者ユーザを選択)
- パスワード : 選択したユーザに対するパスワードを入力
今回は、管理者の認証情報を指定する方法を選択しましたが、Connection Serverの管理者としてログインしている場合は、[現在ログオンしているユーザとして認証する]を選択していただいても構いません。
設定が完了したら、[次へ]を押下します。

[プログラムのインストール準備]より、[インストール]を押下します。

[インストーラの完了]より、[完了]を押下します。

[VMware Horizon Agentインストーラ情報]より、再起動を求められるため、[はい]を押下し、OSを再起動します。
以上でRDSHへのHorizon Agentのインストールは完了です。
ファームの作成

Horizon Administratorへログインし、[インベントリ]-[ファーム]より、[追加]を押下します。

[タイプ]より、[手動ファーム]を選択し、[次へ]を押下します。


[IDおよび設定]より、以下の設定を行います。
- ID : 任意のファーム名
- 説明 : 任意のファームの説明
- アクセスグループ : / (任意のアクセスグループを設定)
- デフォルト表示プロトコル : VMWare Blast (任意のプロトコルを設定)
- ユーザによるプロトコル選択を許可 : はい (必要に応じて設定)
- 事前起動セッションのタイムアウト(アプリケーションのみ) : 経過時間10分
- 空のセッションのタイムアウト (アプリケションのみ) : 経過時間1分
- タイムアウトの発生時 : 切断 (任意の挙動を設定)
- 切断されたセッションからログアウト : しない (任意の挙動を設定)
- セッションタイムアウトを回避 : □ (任意の挙動を設定)
今回は、検証用のファームということで、設定値はほぼデフォルトの状態で設定しました。
設定が完了したら、[次へ]を押下します。

[ロードバランシングの設定]より、以下の設定を行います。
- カスタムスクリプトを使用 : □ (任意)
- 含めるセッション数 : ■有効 (任意)
- CPU使用率のしきい値 : 90
- メモリ使用率のしきい値 : 90
- ディスクキュー長のしきい値 : 0
- ディスクの読み取り遅延のしきい値 : 0
- ディスクの書き込み遅延のしきい値 : 0
- 接続セッションのしきい値 : 20
- ロードインデックスしきい値 : 0
本設定は、VMwareの推奨する設定らしいので、設定してみましたが実際にどのように効果があるかはわかりません。本番環境で設定する場合は、PoCなどで確認する必要があると思います。
設定が完了したら、[次へ]を押下します。

[RDSホストを選択]より、Horizon AgentをインストールしたRDSHのホストを選択します。
OSの選択が完了したら、[次へ]を押下します。

[設定内容の確認]より、設定内容を確認し、[送信]を押下します。

Horizon Administratorより、[インベントリ]-[ファーム]を選択し、設定したファームが追加されていることを確認します。
以上でファームの作成は完了です。
RDSHアプリケーションの割り当て
ファームの追加が完了したらRDSHアプリケーションを割り当てていきます。
今回は、追加した初回なので、Windows Server 2022にデフォルトでインストールされているアプリケーションを割り当てて稼働確認をしてみます。

Horizon Administratorより、[インベントリ]-[アプリケーション]へ移動します。
[追加]-[インストール済みのアプリケーションから追加]を押下します。

[アプリケーションを選択]より、以下の設定を行います。
- アプリケーションプールタイプ : RDSファーム
- RDSファーム : 作成したRDSHファームを選択
以上の設定を行うと、[インストールされているアプリケーションを選択]画面にインストールされているアプリケーション一覧が表示されます。

今回は無難なアプリケーションである電卓を選択しました。
アプリケーションの選択後、[プールの追加後にユーザに資格を付与]にチェックを入れ、[次へ]を押下します。

[アプリケーションを編集]より、以下の設定を行います。
- ID : ユニークな任意のIDを設定
- 表示名 : Horzion Clinetで表示する表示名を設定
設定が完了したら、[送信]を押下します。

[資格を追加]より、[追加]を押下します。

[ユーザまたはグループを検索]より、プールを割り当てるユーザを検索し、追加するユーザにチェックが入っていることを確認し、[OK]を押下します。
また、ここで一つポイントですが、Active Directoryに大量のユーザが存在する場合、検索に時間がかかってしまうことがあるので、ユーザを検索する際は、完全一致で検索することをおすすめします。

[資格の追加]より、追加するユーザがリストに存在することを確認し、[OK]を押下します。

[アプリケーションプール]より、作成したRDSHアプリケーションが存在することを確認します。
以上でRDSH公開アプリケーションの割り当ては完了です。
接続検証
前項にてRDSH公開アプリケーションの割り当てが完了したら動作確認を行っていきたいと思います。

Horizon Clientを起動し、Connection ServerやUAGのアドレスを指定し、ログインします。
プール一覧より、前項で割り当てたRDSH公開アプリケーションが表示されていることを確認します。
今回は、電卓を割り当てたので、電卓が表示されています。
通常のプールに接続する場合と同様に電卓をダブルクリックし、電卓へ接続します。

電卓が起動したことが確認できました。
以上で接続確認は完了です。
RDSH公開アプリケーションでGoogle Chromeを追加する
前項ではWindows Serverにデフォルトでインストールされている電卓をRDSH公開アプリケーションとして展開しました。
本項では、Windows Server 2022にChromeをインストールしてRDSH公開アプリケーションとして展開したいと思います。

Horizon Agentを構成したRDSHのOS上にGoogle Chromeのインストーラを用意します。
今回は、通常のChromeではなく、ChromeEnterpriseのMSIインストーラを用意しました。

インストーラを実行し、Chromeをインストールしていきます。

Chromeのインストールが完了しました。

Horizon Administratorより、[インベントリ]-[アプリケーション]を選択します。
[アプリケーションプール]より、[追加]-[インストール済みのアプリケーションから追加]を押下します。

[アプリケーションを選択]より、以下の設定を行います。
- アプリケーションタイプ : RDSファーム
- ファーム : 設定したファームを選択
- インストールされているアプリケーションを選択 : Google Chrome
インストールされているアプリケーションでは、展開するアプリケーションを選択します。
最初Chromeが見つからないなーと思ったら2ページ目にありました。

Chromeの追加したら、[プールの追加後にユーザに資格を付与]にチェックを入れ、[次へ]を押下します。

[アプリケーションを編集]より、以下の設定を行います。
- ID : ユニークな任意のIDを設定
- 表示名 : Horzion Clinetで表示する表示名を設定
設定が完了したら、[送信]を押下します。

[資格を追加]より、[追加]を押下します。

[ユーザまたはグループを検索]より、プールを割り当てるユーザを検索し、追加するユーザにチェックが入っていることを確認し、[OK]を押下します。
また、ここで一つポイントですが、Active Directoryに大量のユーザが存在する場合、検索に時間がかかってしまうことがあるので、ユーザを検索する際は、完全一致で検索することをおすすめします。

[アプリケーションプール]より、追加したアプリケーションプールが存在していることを確認します。

Horizon Clientを起動し、Connection ServerやUAGのアドレスを指定し、ログインします。
プール一覧より、割り当てたRDSH公開アプリケーションが表示されていることを確認します。
Google Chromeをダブルクリックして起動します。

Chromeが起動できました。
以上でChromeのRDSH公開アプリケーションの割り当ては完了です。
まとめ
前回に引き続き、Horizon8のRDSHを検証しました。
今回はRDSHの公開アプリケーションを使用してアプリケーションの仮想化を行いました。
RDSHの公開アプリケーションを使用することで、通常使用するブラウザと特定の用途のみ使用できるブラウザなどインターネット分離ができたり、標準化されたPCに部署ごとに追加でアプリケーションを配信したりする場合に便利だなーと思いました。
また、画面転送でアプリケーションが使用できるので、比較的重いようなアプリケーションでもサーバ側で処理ができそうなので、持ち運び用の軽量端末や、iPadなどのタブレット端末でもアプリケーションが使用できそうなので、RDSHの公開デスクトップやVDIまでは必要ないけど、アプリケーションを簡単に集約して配置したいなどの需要にもこたえることができるのではないでしょうか?
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント