この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
ARM 版 Windows Virtual Desktop におけるそれぞれのリソースの関係性を解説します。
まず公式ドキュメントはこちらです。
Windows Virtual Desktop environment
https://docs.microsoft.com/en-us/azure/virtual-desktop/environment-setup
全体像
公式ドキュメントの説明を図にすると概ねこのようなイメージとなります。
実際に Azure Portal 上で触ってみた上での挙動も踏まえて解説していきます。
ホストプール:Host pools
ホストプールは、セッションホスト(VM)の集まりです。
ホストプールにはそれぞれのセッションホストに対してユーザーを 1 対 1 で紐付ける Personal タイプと1つのセッションホストを複数のユーザーで利用する Pooled タイプがあります。
管理
管理画面上はユーザーセッションの最大値の設定やユーザーをどのようにセッションホストに割り当てるかの設定の他、紐付くアプリケーショングループを追加・変更したり、リダイレクトなど各種 RDP の設定を変更したりすることが出来ます。
制約等
通常のオペレーションで作成すると、1つのホストプールには1つの VM イメージが紐付いており、あとからそのイメージのセッションホストを追加することが出来ます。
一方、手作業でセッションホストとホストプールを紐付けると、ホストプールに VM イメージが紐付かない形となり、その後の VM 追加も手作業で行うことになるためご注意ください。
2020年5月20日追記
VM 追加を手作業で行うことで vmTemplate などのパラメータが空になるのは仕様のようですが、その後 VM 追加時にエラーになるのはバグのようで現在はエラーにはならなくなりました。しかし、入力フォームの途中でエラーになります。
今後、このエラーも解消されることですべての問題がクリアされる見込みです。
アプリケーショングループ:Application Groups
アプリケーショングループは、ホストプール内のデスクトップやアプリケーションを論理的にまとめたグループで、Desktop Application Group と RemoteApp Application Group があります。当然ながら、アプリケーショングループで設定するアプリケーションはセッションホストにインストールされている必要があります。
ブラウザや WVD クライアントアプリケーション上に実際に表示されるデスクトップやアプリケーションのアイコンがこちらです。
管理
管理画面上はアイコンとして表示するアプリケーションの設定のほか、アイコンの表示名の変更、このアプリケーションを誰が使用することできるかを設定することが出来ます。
制約等
アプリケーショングループは必ず1つのホストプールに紐付いており、Desktop Application Group とホストプールは 1 対 1 で紐付き、1つのホストプールに複数の RemoteApp Application Group を作成することが可能です。
ワークスペースにアプリケーショングループを紐付ける際、同一のホストプールの Desktop Application Group と RemoteApp Application Group は同じワークスペースに紐付ける必要があります。
ワークスペース:Workspaces
ワークスペースは、ブラウザや WVD クライアントアプリケーションに対して紐付いたアプリケーショングループのフィードを提供します。
管理
管理画面上、ワークスペースの表示名の変更とどのアプリケーショングループを紐付けるかしか設定する要素はありません。
制約等
アプリケーショングループごとに 1 つの Desktop Application Group と複数の RemoteApp Application Group を紐付けることが可能です。複数のアプリケーショングループを用意することで 1 つのワークスペースに複数の Desktop Application Group を紐付けることも可能です。
ただし、同一のアプリケーショングループにおいて Desktop Application Group と RemoteApp Application Group を異なるワークスペースに登録することは出来ません。
個別に作成していく場合の順番
通常、画面通りに作ればワークスペース、アプリケーショングループ、ホストプールの作成する順番を意識する必要はありませんが、それぞれのリソースを個別に作成する場合は順序が決まっていることに注意ください。
まず、ワークスペースはいつ作成しても問題ありません。ワークスペースはアプリケーショングループと後に紐付けるだけで、他のリソースと依存関係はありません。
最初に作成するのはホストプールです。一般的にホストプールを作成する際にセッションホストも作成することになると思いますが、後からセッションホストを用意することも可能です。
次にアプリケーショングループを作成します。ホストプールがない状態でアプリケーショングループを作成することは出来ません。アプリケーショングループへのユーザーの割当はこれ以降いつ行っても問題ありません。
最後に、アプリケーショングループとワークスペースを紐付けます。
まとめ
従来の WVD は RDS テナントを頂点にホストプールやアプリケーショングループが階層構造のように構成されていましたが、ARM 版ではほとんどの要素は繋がっているだけで階層構造ではないところが最大のポイントとなります。
ワークスペースに紐付いていないアプリケーショングループを作ったり、異なるワークスペースにアプリケーショングループ紐付け直すことも可能です。
これによってセッションホストのイメージ更新時に従来は一部または全体の In place 方式の更新しか出来ませんでしたが、Blue / Green 方式による入れ替えが容易にできるようになりました。(従来でも頑張れば Blue / Green 方式の入れ替えも出来ましたが、非常に手間がかかりました)
このように、全体の構造をイメージしながら設計・構築していきましょう。