Windows Virtual Desktop デモ環境を作成する

今回は Windows Virtual Desktop （WVD）のデモ環境を作成します。WVD にはAzure AD と紐づいた Active Directory が必要になります。その環境がない方は 
[Azure VM 上に Active Directory サーバーを立てる（Azure AD connect まで）](https://qiita.com/KentoNakayama/items/7c232d4c5ecd2ba76724 "Azure VM 上に Active Directory サーバーを立てる（Azure AD connect まで）")
を参考にしてください。この記事では上記の手順で作成した環境に基づいています。

また今回は **Azure サブスクリプションと紐づいた Azure AD テナント**を使用してデモ環境を作成します。サブスクリプションと Azure AD を別にしたい場合は別の記事にしたいと思っています。

#WVD に必要なリソース
まず、WVD に必要なリソースと役割を確認します。

<dl>
  <dt>Host Pool</dt>
  <dd> WVD 環境を作成するための箱。関係するリソースが紐づけられます </dd>
  <dt>Application group</dt>
  <dd> ユーザーが使用するアプリケーションを管理 </dd>
  <dt> Workspace </dt>
  <dd> Application group が属する箱 </dd>
  <dt> Session Host group</dt>
  <dd> 実際に動作する VM グループ  </dd>
</dl>

※WVD v1（ARM非対応版）では作成するリソースが異なります。

#DNS構成の変更
VNet の DNS を作成した Active Directory に設定しておく必要があります。まず、Active Directory の Windows Server の IP アドレスを確認します。プライベートIP アドレスを使うことにしたので下の例では「10.0.0.4」です。
![servermanager29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/abe4dca5-3421-c427-c346-e7740818a5b6.png)

次に、仮想ネットワークの画面に移動して「DNS server」、「Custom」を選択して、確認した IP アドレスを入力し「Save」をクリックします。
![servermanager30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/d6da6a05-3a07-a752-a5c0-ccb518fdc3f7.png)



#ユーザーの追加
WVD を使用するユーザーを作成します。注意したいのは**Active Directory サーバーで追加したユーザー**を用意することです。
これは WVD のユーザー認証に理由が由来します。WVD では使用するときに認証が2回行われます。
①WVD のアプリケーショングループに割り当てられているかどうか
②ドメイン参加しているユーザーかどうか
ここで、②の認証は Azure AD ではなく、Active Directory を用いて行われるので、ユーザーは Active Directory で作成しておく必要があります。（Azure AD → Active Directory のユーザー追加は行われない）

まず、Active Directory サーバーにアクセスして Server Manager を起動します。次に「Tools」をクリックして「Active Directory Users and Computers」を選択します。
![servermanager21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/8dcdc37d-0fe6-2c8d-6e36-d54ae102ccb3.png)

新しく開いたウィンドウで、「ドメイン名（黒く塗りつぶしているところ）」、「Users」を順番に選択して、赤い枠で囲ったアイコンをクリックします。
![servermanager22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/6b5c66af-a134-9fd7-bb20-23efdd9698bd.png)

適当なユーザー情報を入力して下さい。「Next」をクリックしてパスワードを入力してください。この時**「User must change password at next logon」のチェックボックスを外しておく**とスムーズにログインができます。

![servermanager23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/c8d84870-5b39-a7e3-fba0-39b79ea32c4a.png)
![servermanager24 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/c1525e7c-3718-ca50-3f60-86a991d1a315.png)


ユーザーの追加後は Azure AD との同期をしておきたいので、`Start-ADSyncSyncCycle`を PowerShell で実行します。
![servermanager14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/a5225cf3-0c48-9ec8-de9e-8a4e98b13d1f.png)




# リソースのデプロイ
まずは Host Pool を作成します。 Azure Portal にアクセスして WVD と検索をするとこの画面になります。「Create a host pool」を選択します。

![servermanager16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/2b731265-e45f-5b4e-f56a-1d52b87b82f2.png)

以下の表の値を参考に入力します

| 項目 | 値 | 意味 |
|:-:|:-:|:-:|
| Location  | East US  | 紐づいている情報の格納場所、正直どこでも一緒です |
| Validation environment | Yes | 検証環境かどうか |
|  Host pool type |  Pooled | プール か 個人用 |

次に Next をクリックして 仮想マシンの作成をします。「Add virtual machines」
今回は以下の構成にしました。特にリージョンとネットワークは Active Directory と通信できるようにしておきましょう。

| 項目 | 値 |
|:-:|:-:|
| Virtual Machine location  | 東日本（ADサーバーと同じ）  |
| サイズ  | Standard DS1 v2  |
| Number of VMs  | 2（なんでもいいです）  |
| Name prefix  | デプロイする VM に共通でつけられる名前部分。あとに数字がつきます  |
|  Image type | Gallery  |
| Image  | Windows 10 Enterprise multi-session 系 |
|  OS Disk type |  Standard SSD |
| Virtual Network  | AD サーバーの VM と同じもの  |
| Administrator account |  Active Directory に存在するアカウントを入力（前の手順で作成したもの） |


![servermanager18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/8249e4b9-93bc-3963-6aaf-2c26ba4b1f66.png)

![servermanager19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/b33a6f0c-275f-16c4-ab09-c86af7f9eb49.png)

次にワークスペースの作成です。Yes を選択して適当な名前を付けます。
![servermanager20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/ee41c6b2-99c6-6bdd-3c2a-8c8540c5c7e5.png)

これでデプロイを実行します。
デプロイが完了したので、各リソースを確認してみます。
Host pool では Session Host や紐づいている Application Group の状態が簡単に確認できます。
![servermanager31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/451a9cd7-281d-4ca1-2906-f3526b6c4cc6.png)

Workspace では紐づいている Application Group に飛ぶことができます
![servermanager32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/d01d5616-51f5-8555-530d-057139651fcd.png)

Application Group では WVD にユーザーを割り当てたり、ユーザーが使用するアプリケーションの管理が行えます。
![servermanager33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/2c624f1c-b476-e5ad-fe5b-93ba8d3e65df.png)

# ユーザーの割り当て
ユーザーの割り当てを行います。注意事項としては「Active Directory サーバーで追加したユーザー」を割り当てることです。前述の”ユーザーの追加” と同じ方法で追加したユーザーのことです。
Application group から「Assignments」をクリックします。「Add」をクリックして割り当てたいユーザーを探して**選択してから**「Select」をクリックします。（下の画像は選択前です）
![servermanager34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/b54591de-5e0b-efae-4069-d58385d1b0e7.png)
無事に割り当てが完了すると以下のように表示されます。
![servermanager35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/762d5902-718e-7ed0-859a-dabc9db1574b.png)


#動作確認
以下の URL にプライベートブラウザでアクセスして割り当てたユーザーでログインします。（①の認証）
https://rdweb.wvd.microsoft.com/arm/webclient 
※ARM 非対応版の web クライアントとは URL が異なっています。
![servermanager36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/86979d3a-5d91-b2da-90e0-98e4cb8c75c7.png)

「Default Desktop」をクリックすると再度ログインが求められます。（②の認証）
![servermanager37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/e2eb4040-d37c-7a05-497c-fd2de4fbb9d2.png)
無事にログインができたら完了です。
![servermanager38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/539633/2c2d51fb-bf2f-a6c0-2303-651cdb5700b5.png)

#おわり
今回は**Azure サブスクリプションと紐づいた Azure AD テナント**を使用してデモ環境を作成しました。次回は紐づいていない環境での作成をしてみたいと思います。