Windows Virtual Desktop #2 展開のポイント

この記事のWVDは”Windows Virtual Desktop Spring 2020 Release”が対象です。

Spring 2020 Release としてバージョンアップしたWindows Virtual Desktop の展開のポイントを解説します。 “Spring 2020″での実際の展開を画面のスクリーンショットをもとに構成の考え方と”Fall 2019” との変更点をまじえながら説明します。 

1. Marketplace の変更ポイント

“Spring 2020 Relase” では関連するリソースがARM (Azure Resource Manager)に対応しました。 その結果として、Marketplace からリソースの追加の仕方が変わっています。

1.1. Spring 2020 Realse

Azure Portal にサインインし、リソースの追加画面に移動します。

検索ボックスに”Windows Virtual Desktop” と入力し、Enter キーを押下します。

検索結果が色々出てきます。 “Fall 2019″で使用していた”Windows Virtual Desktop – Provision a host pool”も引き続き残っています。

ここで注目するべきは以下の3つのリソースです。  

  • Host pool
  • Application group
  • Workplace

ポイントは上記のリソースが ARM (Azure Resource Manager) のオブジェクトとして提供されるようになったということです。  詳しくはこちら

また、従来の”Fall 2019″は”Windows Virtual Desktop – Provisioning a host pool”から作成していました。 ”Spring 2020” は”Host pool” から作成する点が一番の違いとなります。 

1.1.1. Host pool

上記のリソース追加から以下をクリックします。

“Spring 2020″のHost pool リソースの作成をここから行うことが出来ます。

以下は概要のスクリーンショットです。

こちらはプランのスクリーンショットです。

作成の具体的な手順は次のセクションで紹介します。 上記だけだと”Fall 2019″も”Spring 2020”も違いが分かりづらいと思います。 画面上の説明にも”Fall 2019”と”Spring 2020”の記載もないためです。

Host pools の概念自体は”Fall 2019″と大きな違いはないように見えます。 公式ドキュメントにもある負荷分散のアルゴリズムの指定をAzure Portal 上で実施できるようになった点位が違いでしょうか。

1.1.2. Application group

次はApplication group です。

こちらからApplication group を作成出来ます。 ”Fall 2019″ではPowershell からのみ追加できるApplication group をAzure Portal から実行できるようになりました。

プランのスクリーンショットも参考情報として載せておきます。 Host pool 同様に課金情報などは無く概要の説明だけです。

App groups も基本的な概念として”Fall 2019″と”Spring 2020″に違いはないようです。 公式ドキュメントはこちら

1.1.3. Workspace

続いてWorkspace です。 Workspace は”Spring 2020″から使われている用語です。 概念としては”Fall 2019″の”Tenant groups” に近いように思われます。

次は”Spring 2020″のWorkspace の説明です。

Workspace

A workspace is a logical grouping of application groups in Windows Virtual Desktop. Each Windows Virtual Desktop application group must be associated with a workspace for users to see the remote apps and desktops published to them.

https://docs.microsoft.com/en-us/azure/virtual-desktop/environment-setup#workspaces

こちらは”Fall 2019″ のTenant groups の説明です。

Tenant groups

In Windows Virtual Desktop, the Windows Virtual Desktop tenant is where most of the setup and configuration happens. The Windows Virtual Desktop tenant contains the host pools, app groups, and app group user assignments. However, there may be certain situations where you need to manage multiple Windows Virtual Desktop tenants at once, particularly if you’re a Cloud Service Provider (CSP) or a hosting partner. In these situations, you can use a custom Windows Virtual Desktop tenant group to place each of the customers’ Windows Virtual Desktop tenants and centrally manage access. However, if you’re only managing a single Windows Virtual Desktop tenant, the tenant group concept doesn’t apply and you can continue to operate and manage your tenant that exists in the default tenant group.

https://docs.microsoft.com/en-us/azure/virtual-desktop/virtual-desktop-fall-2019/environment-setup-2019#tenant-groups

上記の説明だけみるとWorkspace はApplication groups をグルーピングしたもの、Tenant groups はApplication groups だけではなくhost pools やapp group user assignments も含む点に違いはあります。

こちらも参考までにMarketplace 上の画面を紹介します。

こちらかWorkspace を作成することが可能です。

こちらはプランのスクリーンショットです。

1.2. Fall 2019

従来のFall 2019 では以下からリソースを追加していました。

こちら画面から作成を開始できます。

こちらはプランの画面です。

1.3. Windows 7 のリソース

今回のタイミングで追加されたかどうかは不明ですが Windows 7 がMarketplace から追加可能なことに気づきました。 検索キーワード”Windows Virtual Desktop”の結果の中に出てきたので気になりました。

確認してみます。

概要の説明に以下の記載があります。 このソフトウェアはMicrosoft により提供され、Windows Virtual Desktop service のコンポーネントの1つであること、スタンアロンとしての利用は不可と明記されています。 ライセンスについてもVolume licensing agreement は許可していないことも記載あります。

Windows Virtual Desktop で使うWindows 7 用ということです。

“This software is provided by Microsoft. This software is a component of the Windows Virtual Desktop service, and is not available or supported for use on a standalone basis. Use of this software in Microsoft Azure is not permitted except under a volume licensing agreement with Microsoft. By clicking Create, I acknowledge that I or the company I work for is licensed to use this software under a volume licensing agreement with Microsoft and that the right to use it will be subject to that agreement.”

プランででも上記の説明とlegal terms と privacy statement に関する説明があります。

2. Host pool の作成

”Spring 2020″ で実際にHost pool を作成する手順を紹介します。

2.1. Marketplace からのリソース追加

リソースの追加から”Windows Virtual Desktop” を検索し、”Host pool”をクリックします。

“Create” をクリックします。

2.2. Marketplace > Host pool > Create a host pool > Basics

Basics ではAzure のサブスクリプション やHost pool 名などを指定します。

Suscription / Resource group

サブスクリプションとリソースグループの指定は必須です。

Host pool name

Host pool の名前も指定は必須です。

ここで指定した名前はエンドユーザには次の赤枠部分として表示される情報です。

Location

WVD のオブジェクトとメタデータを配置する場所を指定します。

説明文では”Windows virtual desktop object will be created”とあります。 ここでいうobject はmetadata とは説明分からも違うものです。 気になるのはクライアント端末の接続先となる接続ブローカーがこのLocation にあるのかどうか。  

2020/5/6 現在、Location に指定できるのはUS の8地域のみです。

実際に展開した仮想マシンに接続し、Wireshark で応答時間を確認します。

手元の端末からWindows Virtual Desktop までのRTTは40msのようです。  このIP自体は日本国内のようですがここからMicrosoft 内のNetworkに入って、米国にいっているのかいっていないのか。 外側からだと追跡は難しいですね。

なお、手元の端末のネットワーク環境をGoogle のインターネット速度テストで実測した情報は以下。 レイテンシが20ms と遅いです。無線だともっと遅いですがこの環境は有線です。。

実際の操作感、キー入力の応答具合からは日本の中で通信は閉じているようには思えます。

仮想Windows 10 上のYoutube で適当な動画を見てみましたがそれほどコマ落ちもなく画面転送のスループットも安定して10Mbps 前後を推移したので日本にある接続ブローカーを経由している可能性が高いと思いました。

Host pool type

Host pol type では”personal”か”pooled”のどちらかを選択する必要があります。

1ユーザが決まった1台の仮想デスクトップを利用する”personal” では割り当て方法に”Automatic”か”Direct” を指定可能です。

仮想デスクトップを利用するユーザを固定しない”Pooled”では”Max session limit”と”load balancing algorithm”をこのタイミングで指定すること可能になりました。

”Max session limit”ではマルチセッションで1台の仮想デスクトップへサインインできる上限数を指定します。

“Load balancing algorithm” ではユーザーサインイン時にどの仮想デスクトップを割り当てるかを指定します。  

展開済の仮想デスクトップに分散する場合は”Breadth-first”を指定します。 

”Depth-first”はすでに接続しているユーザー数が多い仮想マシンへ割り当てます。集約率を高めたい場合に利用することになります。 使っていない仮想マシンを停止する運用を考える場合はこの”Depth-first”の利用が必要になるでしょう。

2.3. Marketplace > Host pool > Create a host pool > Virtual Machines

ここではHost pool に登録する仮想マシンを構成します。 以下のスクリーンショットを見てわかりますが、仮想マシンの作成は既定では”No”です。 ”Fall 2019″では作成が必要でしたが”Spring 2020″ではあとから作ることも可能です。

”Add virtual machines” で”Yes”を指定すると仮想マシンをhost pool 作成と一緒に展開出来ます。

Resource group

仮想マシンを作成するリソースグループを指定します。

Virtual machine location

仮想マシンのリージョンを指定します。

日本は東日本と西日本を指定可能です。  2020/5/6 現在32リージョンが対応しています。

Virtual machine size / Number of VMs / Name prefix

仮想マシンのサイズと展開する台数、仮想マシンの名前付けのプレフィクスを指定します。 ”Fall 2019″では接続数などからスペックや台数の参考構成を自動算出されましたが”Spring 2020″ではなくなったようです。 まあ自動算出はあまり使わず、マニュアルを参考にしつつPoC でのベンチマークで見出すか、クラウドの利点でもある後で変えればよいかでざっくりと決める、になるのかなと。

Image type / Image

OSイメージの入手元とどのOSを利用するかを指定します。

Gallery からは3つから選択です。 

以下の画面は”Fall 2019″のスクリーンショットです。Server 2016だったのがServer 2019に変わっています。 Mulit-session with Office 365 ProPlus が”Spring 2020″のリストから削除されたのは気になります。

ただ、”Browse all images and disks”から標準でリストされる3つ以外のOSを指定することも可能です。

Windows 10 + Office 365 で1809 / 1903 / 1909 の3つを選べます。 ただ、私自身は既定の3つのリストの中の”Windows 10 Enterprise for Virtual Desktops, Version 1909 + Office 365 ProPlus” で展開出来ることは確認しましたが、他は試せていません。

Image type にblob を選ぶとダウンロードのURIを指定するテキストボックスが表示されます。 

説明を見る限り”generalized.vhd”とファイル名を固定してblobで公開する必要があります。 また、blob 指定時はストレージアカウントの指定も求められるのでそこらへんでセキュリティは担保できそうです。

os disk type

仮想マシン単体でのSLA を求める場合はPremium SSD を指定しましょう。

Network and security

ネットワークに関する設定が増えています。 ”Fall 2019″ではVNetとsubnet の2つしか項目はありませんでした。

”Spring 2020″ではPublic IP の付与を指定できます。 付与する場合はインバウンド通信の許可ポートをあわせて指定できます。

NSGではBasic と Advanced を指定できます。 

Specify domain or unit

コンピュータオブジェクトが配置されるドメインとOU を指定することも可能です。

ドメイン名とOUを指定できます。

Administrator account

Active Directory Domain Service のアカウントを指定します。 Administrator accont とありますがドメイン参加だけなので一般ユーザーでも大丈夫かも(1ユーザ10回の制限はありますが)。今回の展開ではAzure AD Domain service 上の管理者権限で実施しています。

2.4. Marketplace > Host pool > Create a host pool > Workspace

Workspace の作成を行うことが可能です。

”Register desktop app group” で”Yes” を指定し、既存のWorkspaceを選択することも新たに作成することも可能です。

2.5. Marketplace > Host pool > Create a host pool > Tags

Tags を設定できます。 これも”Spring 2020″ の新機能です。

2.6. Marketplace > Host pool > Create a host pool > Review + create

構成に間違いないか確認します。 問題なければ開始します。

3. 作成後のリソースの確認

Azure Portal からリソースを確認します。 ”West US 2″に展開されたWindows Virtual Desktop のリソースと”Japan East”に展開された仮想マシンリソースが確認できます。 他はAzure AD domain services とBastion などです。

“Host pool” と”Application group”、”workspace”についてどのような情報をAzure Portal 上から確認できるようになったのか、また、変更できるようになったのかを説明します。

なお、クライアントから接続するにはApplication group へのユーザ・グループのアサインの設定が必要です。 3.2. のManage > Assignments を参考にしてください。

3.1. Host pool

Overview

Overview ではHost pool の全体の状況を確認できます。 なお画面は英語ですが、Azure Portal から言語に日本語を指定すれば日本語表示が可能です。 ”Spring 2020″の公式ドキュメントが英語がメインということもありポータルも英語にしているだけです。

セッションホストの台数やユーザーの接続数を画面から確認できるようになりました。

Host pool への仮想マシンの登録に利用するKey の確認機能も追加されました。 どう使うかは公式ドキュメント参照。

Settings > Propertie

”Basic” 画面ではHost pool のプロパティの確認と設定が可能です。

“Max session limit” と “Load balancing algorithm”を変更可能です。 Azure Portal 上は変更し、保存すると10秒かからずに完了しました。なお、実際に設定どおりに動作が変わるかどうかまでは確認していません。

”RDP settings” 画面ではディスプレイの解像度やリダイレクションの制御に関する設定が可能です。 項目は少なく、Windows Server 標準のVDI (RD 接続ブローカなど)とあまり違いはありませんが、Azure Portal から実施できるようになっただけでも大きな改善です。

Manage > Application groups

Application group リソースの概要を確認できます。 また、Name をクリックすることで各Application group の管理画面にアクセス可能です。

Manage > Session hosts

Hosts pool に登録されている仮想マシンのリストを確認できます。 Name をクリックすることで各仮想マシンの管理画面にアクセス可能です。

仮想マシンの稼働を示す”Status” や サインイン数を示す”Active sessions” など使用状況を簡単に確認することが出来るようになりました。

Drain mode では対象の仮想マシンへのサインインを明示的に抑止することが出来ます。 同じ画面からmode のon/off の指定が可能です。

Monitoring > Diagnostic settings

Log Analytics などと連携いて監視を構成することが出来ます。 まだ未構成ですが後日確認します。

3.2. Application groups

Overview

Application groups の概要。 既定のものは”-DAG”が付与される模様。 DAG はDesktop Application Group のそれぞれの先頭1文字かと。 DAGというとExchange Server を思い出してしまいました。

Settings > Properties

“Friendly name” と “Description” が変えられるくらい。

Manage > Assignments

ユーザとグループの紐づけします。 グループが対応したのは”Fall 2019”からの大きな機能改善点です。

この画面からAzure AD 上のグループを検索し、選択可能です。

3.3. Workspace

Overview

Workspace の構成情報を確認できます。

Settings > Properties

“Friendly name” と “Description” が変えられるくらい。

4. まとめ

“Spring 2020” についてHost pool の展開をスクリーンショット付きで解説してみました。 公式ドキュメントのTutorialには 文字による説明しかないので”Fall 2019″とどう変わったのかイメージしにくい部分があったかと思います。 これから”Spring 2020″の検討を始める際に少しでも参考になればと思います。

実際に展開してみての所感です。 初期展開について”Fall 2019″に比べて設定項目も増えたところはありますが基本的な考え方はほぼ変わらないので過去に”Fall 2019″で展開したことがある場合はすんなり進められると思います。 PowerShell でしか出来なかった設定もある程度Azure Portal から実施出来るようになったのも大きな改善です。

また、以下の設定がAzure Portal から実施できるようになっています。 Citrix に比べてしまうと出来ることに大きな開きはありますが少しづつ改善が進んでいくのかなと思います。

今後の検証としては以下を考えています。

  • “Fall 2019″で必要だったAzure AD アカウントでのWVD Tenant 利用申請は不要なのか
  • 接続ブローカーの場所はどこなのか? Location で指定したリージョンに配置されるという”Windows Virtual Desktop objects”とは何なのか?
  • エージェントは”Fall 2019″と”Spring 2020″で違いがあるのか?
  • LogAnalytics と連携