今回は、Azure上で仮想デスクトップサービスを提供可能にするWindows VirtualDesktop(WVD)の構築方法を解説します。
少数の仮想デスクトップであれば、その都度仮想マシンを作成してユーザーに
割り当てれば利用可能ですが、数十人以上の利用者を想定した場合では
仮想マシンの作成や提供方法、サービスの管理方法など統一したシステムが
必要となります。
WVDはこれらを解決するための仮想デスクトップサービスとなります。
オンプレミススでは実際の物理サーバーとクラウド上のサーバーを運用しつつ、
クライアントマシンは全てAzure上の仮想デスクトップで提供といった
ハイブリッド化へのヒントとなります。
今回紹介するのは、WVDを実際に動かしてみたいといった、最低限の評価が
できるいたってシンプルな構成を最短で作成する方法となります。以下、Microsoft公式のWindows Virtual Desktop のドキュメントhttps://docs.microsoft.com/ja-jp/azure/virtual-desktop を参考に解説しています。
目次
Windows Virtual Desktopの構成
WVDを構築するにはいくつかのモデルがありますが、今回はすべてをAzure上で完結するシンプルな方法で構築してゆきます。ドメインコントローラーの代わりに、Azure Active Directory Domain Service(AADDS)を利用しています。
オンプレミスとのドメインと同期を取る場合は、前回までに紹介しました、
「Azure AD Connect」(第4回参照 リンク挿入)を利用したアカウントの同期や、Azure VPNゲートウェイを利用した接続構成(第5回参照 リンク挿入)
によるドメイン環境のハイブリッド化が必要となります。
WVDの構築は、以下の手順で行います。
1 AAADDSと管理者アカウントの設定
2 仮想ネットワークの設定
3 ユーザー作成
4 Widows Virtual Desktop テナントの作成
5 サービスプリンシパルとロールの割り当て
6 ホストプールの作成
7 リモートデスクトップで接続確認
それではさっそく進めてゆきましょう!
1.AADDSと管理者アカウントの設定
WVDの仮想デスクトップはドメインアカウントで接続することになります。
すでに運用中のActive Directoryのドメインアカウントも利用可能ですが、
今回はAzure上で全て完結することになるので、Azure Active Directory Domain Service(AADDS)を利用しています。
AADDSの構築については「Azure Active Directory Domain Services の
基本操作( https://www.gmo.jp/report/single/?art_id=243 )」ですでに
紹介済みですので、WVD構築に関する部分にフォーカスして紹介します。
Azureにサインインした直後の既定のAzure Active Directoryを使ってAADDSを構築してゆきます。
WVD構築時に地域は統一しておく必要があります。今回は”東日本”を選択します。
既定の設定で仮想ネットークを作成します。
既定のままで次へ。
こちらも既定のままで次へ。
作成を実行します。
しばらく時間がかかりますが、“実行中”となればAADDSの構築完了です。
AADDSが完成したら、Azure Active Directoryのアカウントとパスワードの
ハッシュ同期を行うために、既存の管理者アカウントのパスワードリセット
を行います。この管理者アカウントはAADのグローバル管理者のロール
(役割)が割り当てられている必要があります。
一度管理者アカウントをサインアウトして、サインインし直します。
ここでパスワードの更新となるので、新しいパスワードを設定する
ことで、ハッシュの生成が有効となります。
2.仮想ネットワークの設定
WVDで仮想デスクトップを提供する仮想マシンが接続するための仮想ネットワークを設定します。AADDSの構築ですでに仮想ネットワークは作成されていて、仮想ネットワークのアドレス空間は”10.0.0.0/16”と広めに変更してあります。ここにホストプール(仮想マシン用の確保領域)専用のサブネットを追加します。
ホストプール用に10.0.2.0/24のサブネットを作成します。
“hostpool-subnet”このサブネットを後程利用します。
3.ユーザー作成
WVDでホストプールを作成する時に使用する専用アカウントを作成します。(管理者アカウントではエラーとなるため)
AADで「新しいユーザー」を選択します。
“[email protected]”というアカウント名で作成します。
こちらのアカウントも同様にパスワードのリセットを実行してハッシュ同期を有効にしておきます。
管理者アカウントと同様に一度サインアウトして、サインインし直します。
もう一つ、リモートデスクトップ接続用のアカウントも作成しておきます。このアカウントでユーザーはリモートデスクトップが利用可能となります。
同様にパスワード更新を行います。
4.Widows Virtual Desktop テナントの作成
WVDテナント(Widows Virtual Desktopのサービス)を作成してゆきます。いくつか前準備が必要となるのでそれぞれ手順を追って解説します。
4-1.アクセス権の割り当て
WVDはAADに対して様々な操作を行うため、アクセス許可をWVD自体に与える必要があります。ブラウザで「Windows Virtual Desktop サーバーアプリに
対する管理者の同意フロー」
https://login.microsoftonline.com/common/adminconsent?client_id=5a0aa725-4958
-4b0c-80a9-34562e23f3b7&redirect_uri=https%3A%2F%2Frdweb.wvd.microsoft.
com%2FRDWeb%2FConsentCallback
を開き管理者アカウントでサインインし、「承認」を選択します。
こちらで完了です。
次に、こちらもブラウザで「Windows Virtual Desktop
クライアントアプリに対する管理者の同意フロー
https://login.microsoftonline.com/common/adminconsent?client_id=fa4345a4-a730-4230
-84a8-7d9651b86739&redirect_uri=https%3A%2F%2Frdweb.wvd.microsoft.com%2FRD
Web%2FConsentCallback
を開き管理者アカウントでサインインし、「承認」を選択します。
こちらで完了です。
4-2.TenantCreator のロール割り当て
WVDのホストプールを作成する際に必要となるロールを専用アカウントに割り当てます。Azureポータルに戻り、すべてのサービスから「エンタープライズアプリケーション」を検索し、選択します。
「Windows Virtual Desktop」を選択します。
「1.ユーザーとグループの割り当て」を選択します。
「ユーザーの追加」を選択して、先ほど作成したホストプールを作成する時に使用する専用アカウント[email protected]にTenantCreatorのロールを割り当てます。
4-3.テナントID (ディレクトリ ID)の取得
テナントIDはディレクトリIDとも呼ばれています。要するにAzure Active Directoryを識別するために割り当てられたID番号となります。
Azureポータルから、AADを選択して「概要」を表示します。後程使いますので「テナントID」の値を取得しておきます。
4-4.サブスクリプションIDの取得
Azureポータルから、「サブスクリプション」を選択します。
サブスクリプションIDが確認できます。
こちらも後程使いますので取得しておきます。
4-5.テナントを作成する
WVDのテナント作成はPowerShellで行う必要があります。PowerShellの実行はお使いのPCから可能です。まずは、PowerShell用のWindows Virtual Desktop
モジュールをインストールします。
RDSアカウントを追加します。サインイン画面が表示されるので、AADの管理者アカウントadmin@[email protected]でサインインします。
テナントを作成します。
:AADの名前と同じにしています。
今回はwin1works.onmicrosoft.comの “win1works” の部分が
テナント名になります。
:先ほど取得したテナントID (ディレクトリ ID)です。
:先ほど取得したサブスクリプションIDです。
実行すると、再びサインイン画面が表示されるので、AADの
管理者アカウントadmin@[email protected]でサインインします。
例)
New-RdsTenant -Name win1works -AadTenantId 00000000-1111-2222-3333-444444444444 -AzureSubscriptionId 55555555-6666-7777-8888-999999999999
5.サービスプリンシパルとロールの割り当て
WVDでは管理者に代わって特定の用途に使用するためのリソースとして、管理タスクを実行する場合などはサービスプリンシパルが代行します。
サービスプリンシパルを作成してゆきます。まずは、PowerShell用のAzureADモジュールをインストールします。
サービスプリンシパルを作成します。
サービスプリンシパルがWVDにサインインできるようにロールの割り当てを行います。
6.ホストプールの作成
ホストプールは仮想デスクトップの提供元となる仮想マシン用の確保領域になります。
Azureポータルから「リソースの作成」-「新規」で“Windows Virtual Desktop”を検索して「Windows Virtual Desktop – Provision a host pool」を選択します。
「Windows Virtual Desktop – Provision a host pool」から「作成」を選択します。
リソースグループ:必ず「新規作成」を選択します。
リージョン:AADのネットワークの「地域」と同じ場所を選択します。
例)東日本
Default desktop users:あらかじめリモートデスクトップ接続が可能となるユーザーアカウントを入力します。各アカウントは「,(カンマ)」区切りで複数入力可能です。ホストプール作成後PowerShellで追加可能です。
例)[email protected],[email protected]
仮想デスクトップを提供する仮想マシンのサイズ(スペック)と台数を設定します。Virtual machine name prefix は仮想マシンに名前付けルーツで、名前の先頭に共通の文字が入ります。
仮想マシンの設定で、利用するOSの種類やディスクのタイプなど選択します。ここでのポイントは以下となります。AD domain jyoin UPN:AADの管理者アカウントではなく、先ほど作成した専用のアカウント
([email protected])を指定します。
▼Virtual network:
AADDS構築時に作成した仮想ネットワークを
選択します。(aadds-vnet)
▼vmSubnet:
ホストプール用に作成したサブネットを選択します。
(hostpool-subnet(10.0.2.0/24))
▼Windows Virtual Desktop tenant group:
既定の「Default Tenant Group」です。
▼Windows Virtual Desktop tenant name:
先ほどテナント作成時に指定した名前を指定します。
AADの名前と同じにしています。
今回はwin1works.onmicrosoft.comの “win1works” の
部分がテナント名になります。
▼UPN:AADの管理者アカウントになります。([email protected])
「作成」を選択します。
ホストプールの作成が完了しました。
7.リモートデスクトップで接続確認
ここまでで、ようやくWindows Virtual Desktop の準備が整いました。
実際にリモートデスクトップ接続で確認しみましょう。
WVDのポータルサイト( https://rdweb.wvd.microsoft.com/webclient/ )
にサインインします。
先ほど作成した接続用アカウント[email protected]
を使用します。
ホストプールを選択します。リモートデスクトップ接続のローカルリソースアクセスを設定します。
接続中です。
ユーザー名とパスワードを入力します。
接続成功です!
WVDのポータルサイト経由の場合、ブラウザの中で
リモートデスクトップを利用することが可能です。
以上が、Windows Virtual Desktopを最低限の評価ができるシンプルな構成を最短で作成する方法となります。
いかがでしょうか?
一番シンプルな構成とは言え、PowerShellでのみしか設定できない箇所や、それぞれの名前が意味している機能や役割の理解のしづらさ、難しさなど、正直なところまだまだブラッシュアップが必要と感じました。
ですが、リモートワークの重要性が再認識されている昨今、小規模から大規模まで幅広いユーザー層に仮想デスクトップのサービスを提供できる
zure純正のサービスは非常に魅力的です。
シンプルかつ分かりやすく、管理や構築が可能となることを期待しています。
Windows Virtual Desktop は将来的にはハイブリッドクラウドには欠かせない
サービスとなりそうです。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。
初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(450)
-
イベント(161)
-
カルチャー(36)
-
デザイン(18)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudflare
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- Desiner
- DeveloperExpert
- DevSecOpsThon
- DNS
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOソリューションパートナー
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- perplexity
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- アドベントカレンダー
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- マルチプレイ
- ミドルウェア
- モバイル
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- 京大ミートアップ
- 協賛レポート
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP