1.はじめに
今回、自身の理解のためにAVDを構築し、ログイン確認まで行ってみました。
初心者の方も、おおよそ全てこの通りに行えばAVDを構築できる、というハンズオン形式でブログを書いておりますので、
是非一緒にAVDを構築していきましょう。
なお、今回筆者はAzureの無料トライアルでAVDの構築をしております。
無料トライアルでは権限については気にしなくて大丈夫ですが、既存の検証環境を使用される場合は、権限の確認などを適宜行ってください。
それでは、早速AVDの構築に進んでいきましょう。
注意点:途中で作成するMicrosoft Entra Domain Servicesは作成にかなり時間がかかることが予測されますので、
とりあえずMicrosoft Entra Domain Servicesの作成まで完了させることをお勧めします
2.AVD構築
1.Vnet作成
この後作成するMicrosoft Entra Domain Servicesと、ホストプールはVnet上に構築されるため、まずVnetを作成していきます。
え?Microsoft Entra Domain Servicesとホストプールって何??と思われるかもしれません。
それぞれ作成時に少し説明させていただくので、今はとりあえずVnetの作成に移りましょう。
Azureポータルを開き、検索にて「Vnet」と検索し、新規作成していきます。
最初の画面で、リソースグループの新規作成ができるため、新規でリソースグループを作成しておきましょう。
筆者は「avd」と名付け、リソースグループを作成しました。
次に、Vnetの名前です。
こちらも好きにつけていいですが、筆者は「vnet-avd」として作成します。
上記設定が完了したら、「次へ」を押します。
セキュリティの項目は全て既定値のままでいいので、「次へ」をまた押します。
すると、「IPアドレス」の項目になります。
ここでの設定が重要ですので、ここは設定します。
このIPアドレスの設定箇所では、Vnetを分割する「サブネット」を作成することができます。
まず、vnet-aaddsというサブネットを作成します。
このサブネットは、先ほど言及したMicrosoft Entra Domain Servicesというサービスを入れるために作成します。
最初からサブネット「default」というのが入っておりますので、それは右側のゴミ箱アイコンから削除し、
新たに「+サブネットの追加」からサブネットを追加していきます。
設定は以下です。
サブネットの目的:Default
名前:vnet-aadds
他は全て既定でいいので、「追加」を押すと、サブネットにvnet-aaddsが追加されているのが確認できます。
次に、ホストプール用のサブネットも作成します。
ホストプール用も同様に、サブネットの追加から、サブネットの目的はDefault、サブネットの名前をvnet-avdとして作成します。
以下画像のように、サブネットが2つできていたら、「レビューと作成」でVnetを作成しましょう。
これでVnetの作成は完了です。
2.Microsoft Entra Domain Services構築
AVDでは、ユーザーが入るためのセッションホスト(VM)を用意しますが、その際にセッションホストをドメインに参加させる必要があります。
Microsoft Entra Domain Servicesを使うことで、セッションホストを簡単にドメインに参加させることができます。
いやドメインって何さ、という方向けに少し説明させていただくと、今回言及しているドメインというのは、
ActiveDirectoryドメインのことを言っており、
これは同一組織のリソース(ユーザーやコンピューター)を一元管理するために使用されます。
例えば、ドメインが”contoso.com”だとして、”sato@contoso.com”というユーザーや”taro@contoso.com”は同じ組織のユーザーだと判断できますが、”sato@nisemono.com”などドメインが違うユーザーは組織範囲外だと認識できます。
2台とか数台であれば管理も難しくありませんが、会社組織では複数台ではなく、数百台など多くのパソコンを効率よく管理しなければならないため、ドメインを使用することで、管理者が一元管理しやすくする仕組みになります。
Microsoft Entra Domain Servicesはそのドメインサービスの運用管理を自動で行ってくれるマネージドドメインサービス、というものになります。
それでは、Microsoft Entra Domain Servicesを構築していきましょう、と言いたいところですが、
ここまで読んでいただいた人は察しているかもしれません。
ドメインが必要になります。
そのため、まずはドメインを無料で取得していきましょう。
今回は「no-ip」というドメインを無料で取得できるサービスを使用します。
Webサイトの検索から、「no-ip」と検索してもらい、サイトに入ったら、「Sign up」ボタンで自身のアカウントを作成しましょう。
無料でサインアップができたら、次に「Dynamic DNS」を開き、「No-Ip Hostnames」の中に、「Create Hostname」を選択してください。
Create Hostnameを選択すると、好きなホスト名を打ち込むことができます。
なお、ここでIPアドレスを入力する項目がありますが、入力しなくても大丈夫です。
筆者は「avd-kensho.zapto.org」として作成しました。
これで、ドメインの作成が完了です。
なお、no-ipは1か月に1度、使用しているドメインを更新する必要があるので、
1か月以上AVD環境を使用したい場合は、更新を忘れないようにしてください。
それでは、ようやくMicrosoft Entra Domain Servicesの構築に入っていきます。
Azureポータルの検索にて、「Microsoft Entra ドメインサービス」、または「Microsoft Entra Domain Services」と検索してください。
サービスが出てきたら、上部の「+追加」より構築に移っていきましょう。
DNSドメイン名に関しては、先ほどno-ipで作成したドメインを入力しますので、筆者の場合は「avd-kensho.zapto.org」となります。
また、検証用なのでSKUはStandardにしておきましょう。
「次へ」でネットワークの設定に移ります。
ネットワークの設定にて、「1.Vnet作成」にて作成したVnetと、Domain Services用に作成したサブネット「vnet-aadds」を選択します。
他の項目は全て既定で構いませんので、「確認および作成」を押下します。
「作成」で作成します。
デプロイ完了まで、30分から1時間かかり、完了し、リソースを選択すると、以下画面のように、「展開中」という表示になっています。
この「展開中」ではなく、「実行中」にならないといけないのですが、ここから実行中になるまで、筆者の場合は4時間以上かかりました。
「実行中」になったら、上部に「お客様のマネージドドメインの構成の問題が検出されました。構成診断を実行して診断の詳細をご覧ください」という表記が出るので、クリックしてください。
クリックすると、「構成の診断」という項目に飛ぶため、「実行」を押して、診断を実行してください。
ここでは、Vnet上でDNS設定を変更するように言われています。
「修正」をクリックしてください。
ここで行っているのは、簡単に言うと、VnetのDNS設定を変更することで、
Vnet内のリソースがMicrosoft Entra Domain Servicesと正しく通信できるようにしよう、ということです。
どういうことかというと、Microsoft Entra Domain Servicesはユーザーからは確認できませんが、
2つのVMが中でドメインコントローラーとして稼働してます。
普段はAzureのデフォルトDNSサーバを使用していますが、この2つのVMのプライベートアドレスをDNSに指定することで、
Microsoft Entra Domain Servicesが提供するカスタムDNSサーバを使うように設定でき、
Vnet内に入れるセッションホスト(VM)がドメイン参加できるようになります。
そのため、この作業を飛ばしてしまうと、後々うまくいかないことになるので、注意してください。
「修正」をクリックすると、DNSレコードが表示されるので、「修正」をクリックします。
ただ、下記のようにIPアドレスが一つだけしか表示されない場合、「修正」を押しても問題が解決しない場合があります。
先ほど述べた通り、Microsoft Entra Domain ServicesにはVMが2つあり、それぞれのIPアドレスを登録しなければならないため、
2つIPアドレスを登録する必要があります。
そのため、IPアドレスが2つ表示されるまで待ってください。
筆者の場合、翌日には2つ表示されていました。
2つ表示され、修正が完了したら、Vnetにて、「DNSサーバ」という項目を確認してみましょう。
「カスタム」で2つIPアドレスが登録されていたら、Microsoft Entra Domain Servicesの構築完了です。
3.グループ及びユーザー作成
それでは、次にグループとユーザーを作成していきましょう。
ここでは、Microsoft Entra IDからグループとユーザーを作成していきます。
作成するユーザーは以下です。
まず検証用のユーザーが入るグループを作成します。
Microsoft Entraと検索し、Entra IDが出てきたら、「管理」を開き、その中の「グループ」を選択し、「追加」から追加していきます。
グループの種類はセキュリティ、グループの名前などは自由に設定し、作成します。
筆者は「AVD_kensho_Users」というグループを作成しました。
次に管理者ユーザーの作成です。
ユーザープリンシパル名で、onmicrosoft.comになっていても問題ありません。
また、ユーザープリンシパル名、パスワードはこの後必要になりますので、保存しておいてください。
プロパティの設定は飛ばし、「割り当て」で、「AAD DC Administorator」のグループに割り当てます。
このAAD DC Administoratorグループは既定で作成されている管理者が入っているグループとなります。
ここまでできたら、レビューと作成から作成していきましょう。
作成ができたら、まず管理者アカウントで一度Azureにサインインをしておきましょう。
Edgeのアイコンを右クリックし、「InPrivate」を選択し、Azureを開きます。
サインイン画面で先ほど保存したユーザープリンシパル名を入力すると、「パスワードの更新」となるので、
現在のパスワードは先ほど保存した初期パスワード、新しいパスワードは自身で新たにメモした上で記入してください。
次へ進んでいくと、「アクションが必要」という表示が出ます。
これは、現在Azureでは多要素認証が義務付けられているため、多要素認証が必要になるためです。
そのため、Authenticatorなどで画面通りに進め、Azureポータルにサインインしましょう。
Azureポータルにサインインできたら、管理者アカウントの作業は完了です。
ここで一度サインインまでした理由は、この後のホストプールにセッションホストを追加する際、一度もログインしていないと、パスワードの更新を行っていない状態のままになるため、エラーとなり、セッションホストを作成できないためです。
それでは、検証用のユーザーを作成していきましょう。
管理者と同じように、Entra IDのユーザーから追加を行い、作成を行っていきます。
この検証用のユーザーも、ユーザープリンシパル名はonmicrosoft.comとなっていて大丈夫です。
ユーザープリンシパル名と、パスワードを保存し、割り当てにて「AVD_kensho_Users」を選択し、作成します。
全て作業が完了すると、以下のようになっているはずです。
これで、グループとユーザーの作成作業は完了です。
4.ホストプール、セッションホスト作成
それでは、ホストプールの作成に入っていきましょう。
ポータルの検索にて、「Azure Virtual Desktop」と検索し、「管理」から「ホストプール」を選択してください。
ホストプールの画面に移ったら、「+追加」よりホストプールの追加に移っていきます。
リソースグループは最初に作成した「avd」、検証環境は「いいえ」、セッションホスト構成の作成は「いいえ」で、作成してください。
負荷分散アルゴリズムは、深さ、幅どちらでもいいです。
例えばセッションホストが2つあり、それぞれセッションの上限が2であった場合、合計すると4セッションあることになります。
深さ、では、1つのセッションの上限の2に達するまで、他のセッションを使わないため、2人目のユーザーも同じセッションに入ります。
幅は、その逆で、1つのセッションに1人入っていたら、もう一方のセッションに新たなユーザーは入りますので、合計2台を使います。
次へ、でセッションホストへ進みます。
ここでは、ホストプールの中に実際に作成されるセッションホストを設定していきます。
「仮想マシンの追加」では「はい」を選択し、選択するとセッションホストの設定項目が出現します。
ここはほぼVMの作成画面と変わりません。
「名前のプレフィックス」はセッションホストの最初につく名前で、以下画像のように「host-avd」と設定すると、1台目は「host-avd-0.ドメイン名」という名前のセッションホストとなります。
その下に「ネットワークとセキュリティ」の項目がありますが、ほぼ既定のままでよく、仮想ネットワークを1で作成したVnetにし、
サブネットも「vnet-avd」とセッションホスト用に作成したサブネットを指定しましょう。
次の”参加するドメイン”が重要です。
参加するディレクトリは「ActiveDirectory」で、ADドメイン参加UPNに先ほど作成した管理者のユーザープリンシパル名を入れるのですが、
ここではonmicrosoft.comではなく、ご自身で作成したドメインを付けたユーザープリンシパル名にしてください。
例えば、筆者は「avdadmin@avd-kensho.zapto.org」となります。
パスワードは先ほどリセットした後のパスワードを入力します。
仮想マシンの管理者アカウントは、ローカルの管理者となるので、自由に設定してください。
次へでワークスペースの作成に移りましょう。
ここでは、ワークスペースとアプリケーショングループについて設定を行います。
ワークスペースは簡単に言えばアプリケーショングループを管理するためのスペースですが、特にこちらで設定することはありません。
アプリケーショングループは簡単に言えばAVDでユーザーが利用できるアプリケーションを管理するためのグループです。
デスクトップアプリグループの登録は「はい」とし、新規でワークスペースを作成します。
ここまでできたら、作成しましょう。
ホストプールの設定に加え、セッションホスト(=VM)2台を作成しているため、デプロイ完了まで少し時間がかかります。
デプロイが完了したら、ホストプールの中を確認してみましょう。
ホストプールを開いたら、管理を開き、「セッションホスト」を選択してください。
すると、先ほど2台作成するように設定したため、2台のセッションホストが作られていることがわかります。
また、VMの一覧を開くと、セッションホストと同じ名前のVMが作成されています。
セッションホストとはいっても、その本質はVMです。
それでは、次にアプリケーショングループに検証で作成したADグループを紐づけましょう。
アプリケーショングループは先ほどアプリケーションを管理するグループと言いましたが、それだけではなく、
アプリケーショングループにユーザーまたはグループを登録することで、アプリケーショングループが配置されているホストプールにて、
アプリケーショングループに登録しているアプリをユーザーは利用できるようになる、というとても大事な役割もあります。
わかりづらいので簡潔に言うと、アプリケーショングループにユーザーやグループを割り当てることで、
割り当てられたユーザーやグループは、AVDに接続できるという仕組みです。
要はアプリケーショングループにユーザーなどを割り当てないと、ユーザーはAVD使えないよ、という話になります。
説明するよりも設定する方がわかりやすく早いということで、早速割り当てていきましょう。
先ほどセッションホストを見た管理タブと同じところに「アプリケーショングループ」があるため、
クリックすると、アプリケーショングループの概要画面に遷移します。
左タブから管理を開き、「割り当て」を選択し、「+追加」にて、ユーザー、またはグループの割り当てを行います。
なお、ここでは、先ほど作成した2人の検証ユーザーが入っている
グループ「AVD_kensho_Users」を選択し、割り当てます。
これで割り当ては完了です。
一応アプリケーショングループの中を確認すると、先ほどホストプール作成時に、
「デスクトップアプリグループの登録」で”はい”としたため、
アプリケーションには”SessionDesktop”のみ登録されている状態です。
ここまでAVDの設定を行い、これにて完了しましたので、次はAVDへのログイン確認となります。
5.接続確認
それでは接続確認に移っていきましょう。
まずWebでアクセスするため、以下URLにアクセスしてください。
https://rdweb.wvd.microsoft.com/arm/webclient
Webでアクセスするのは「検証1」ユーザーにします。
上記URLを押すと、Microsoftのサインイン画面が出るので、以下画像のように入力し、サインインを行います。
この時、ドメインはonmicrosoft.comで大丈夫です。
サインインが完了すると、現在アクセスできるワークスペースと、
それに管理されているアプリケーショングループ内のアプリケーションが表示されます。
ここでは、アプリケーショングループにデスクトップが設定されていたため、デスクトップが表示されています。
それではSessionDesktopをダブルクリックして接続していきましょう。
「資格情報を入力してください」と表示されるため、ユーザー名とパスワードを入力します。
この時、ドメインはonmicrosoftでも、作成したドメインでもどちらでも接続できると思います。
これはEntra IDとEntra Domain Servicesが同期されているためです。
送信を押すと、デスクトップに入ることができました。
デスクトップに入った状態でAzureポータルのセッションホストを確認すると、「セッションの合計」が”1″になっているかと思います。
これは、host-avd-0のセッションホストに接続しているユーザーが1人いることを指しています。
host-avd-0をクリックして進み、「ユーザーの状態」を確認すると、今はkensho1がセッションに入っていると確認もできます。
次に、アプリのリモートデスクトップから同じようにサインインしてみましょう。
アプリを持っていない場合は、以下URLから、「最新リリース」の中の64bitなどでダウンロードしてください。
Windows 用リモート デスクトップ クライアントの新機能 – リモート デスクトップ クライアント |マイクロソフト ラーン
既に持っている方は、登録していきましょう。
リモートデスクトップアプリを開き、右上の三点リーダーをクリックして、「登録」を選択します。
そうすると、Microsoftの恒例のサインイン画面に遷移するので、サインインしましょう。
恐らく、パスワードの更新やAuthenticatorも求められますので、登録します。
すべて完了したら、アプリのリモートデスクトップに先ほどホストプールの設定で一緒に作成したワークスペースが表示されます。
それではアプリでも同様に、接続していきましょう。
資格情報の入力が求められるため、パスワードを入力して入りましょう。
入力してOKを押下したら、無事デスクトップに入ることができました。
kensho1の時と同じようにAzureポータルを確認しましょう。
今度はhost-avd-0のセッションの合計が2となっているのがわかります。
これはホストプール作成時に、幅優先ではなく、深さ優先で設定したためです。
もし幅優先だった場合、2台目が入った際は、host-avd-01に入ることになります。
セッションホストを見ていくと、ユーザーは2人入っていて、kensho1とkensho2であることがわかります。
AVDを抜ける際は、Windowsを右クリックし、「サインアウト」で抜けましょう。
これにてログイン確認は完了です!
3.その他AVDに関すること
本章では構築本編では言及できなかった点などについて言及などしたいと思います。
スケーリングプランについて
AVDにはスケーリングプランという、使用率に合わせて、自動でセッションホストを起動したり停止したりしてくれる便利機能があります。
AVDのコスト削減につながりますし、AVDは何もしないとコストがかなりかかるので、一度設定することをおすすめします。
ここでも紹介させていただこうと思いましたが、思いのほかブログが長くなってしまったため、
本サイトでスケーリングプランについて記載しているブログのURLを貼り付けておこうと思いますので、是非ご参照ください。
Azure Virtual Desktop(AVD)のスケーリングプランを設定するポイント – Cloud Steady | パーソルクロステクノロジー株式会社
アプリケーショングループのアプリの表示名変更について
小ネタですが、アプリケーショングループのアプリの表示名は変更できます。
Azureポータルのアプリケーショングループを開き、管理タブを開いて「アプリケーション」を選択してください。
今はSessionDesktopがあると思います。
SessionDesktopを選択すると、「表示名」というところが編集できるようになっていますので、好きに編集してみてください。
私は表示名を「デスクトップ」に変更してみました。
それでは変更が完了したら、リモートデスクトップのアプリを見てみましょう。
「デスクトップ」という名前に変更できました。
4.おわりに
ここまでAVDを構築してきました。
ただ、今回はAVDを構築する上で、プロファイルの置き場所であるファイルサービス系を入れていないことや、
AD管理サーバなどを立ててGPOなども制御していないこと、
またVMではイメージ作成などもしていないなどかなり簡易的なAVDの構築にとどまっています。
このブログが「一度AVDを作成してみたい」という方に届いていれば幸いです。