ネコの耳に念仏

ネコの耳に念仏

ガンバらない技術ブログを目指します

Azure Virtual Desktop (AVD) 環境を構築してみた

Azure Virtual Desktop(以下、「AVD」と呼ぶ)の環境構築・リモートデスクトップ接続にチャレンジしてみましたので、その手順を説明したいと思います。

なお、本記事の内容は2022年8月15日ごろに確認した構築手順です。 今後の Azure ポータルの仕様変更などの影響で、紹介する手順が実際の手順と異なる場合があることをご了承ください。

はじめに結論

いきなりですが、今回の環境構築で出来たことと出来なかったことをかんたんに箇条書きにしておきます。

  • AVD 環境のリソース作成方法は確認できた
  • AVD 環境の各種設定方法は確認できた
  • リモートデスクトップ接続する直前までの接続手順は確認できたが、後述のユーザーの問題のため実際の接続確認はできなかった
  • 利用ユーザーには「内部ユーザー」(=自分の組織内のユーザー)と「外部ユーザー」(=顧客など)の2種類がある
    • 内部ユーザーの場合、リモートデスクトップ接続を利用するにはライセンス購入が必要である
      • 今回は有効なライセンスを持っていなかったため、内部ユーザーでのリモートデスクトップ接続は確認できなかった(VMログイン時に失敗する)
    • 外部ユーザーの場合は、管理者が外部ユーザーごとにアカウントを作成・管理しユーザーごとのアクセス料金を支払わなければならない
      • 組織または学校アカウントが必要なのだが今回は個人アカウントしかなかったため、外部ユーザーでのリモートデスクトップ接続は確認できなかった

参考ウェブページ

AVD 環境構築の参考にしたウェブページのうち、特に参考になったものを記載しておきます。

参考1

Azure Virtual Desktop をデプロイする作業の開始機能 - Azure | Microsoft Docs

AVD 環境構築の公式ドキュメントです。

基本的にはこちらの手順を参考にしました。

が、相変わらず日本語がとても読みにくかったり、記載されている内容が実際とはちょっと違ってたり、記載されてないことが必要だったりしたので、このページだけでゴールに辿り着くのはなかなか難しいと思います。

参考2

Azure Virtual Desktop (AVD) を構築してみる | クラウド導入・システム運用ならアールワークスへ

本記事で説明する AVD 環境の自動リソース作成手順ではなく、手動で個別にリソースを作成する方法が解説されています。

わざわざ手動リソース作成手順をなぞる必要はないが、個々のリソースの詳細説明をしてくれているので参考にできる部分は多かったです。

簡単なシステム構成図もあって理解の助けになりましたし、公式ドキュメントでは説明不足(説明が分かりにくい)ポイントも記載してくれていてリソース作成後の各種設定時にもかなり参考になりました。

手順1 : Azure 管理者ユーザーの作成

AVD 環境リソース作成の前に、あらかじめ登録しておく必要がある Azure 管理者ユーザー用のユーザーを作成します。

AVD 作成時に登場するユーザーについて

まずは、AVD 作成時に登場するユーザーについて説明しておきます。

AVD を作成時に登場するユーザーには、

  • Azure 管理者ユーザー
  • ドメイン管理者ユーザー
  • テストユーザー

の、3つのユーザーが登場します。

この内、「Azure 管理者ユーザー」は、既存ユーザー(事前に登録されているユーザー)です。

残りの、「ドメイン管理者ユーザー」と「テストユーザー」は、AVD 環境のリソース作成時に同時に新規作成されるユーザーです。

Azure 管理者ユーザーの作成

AVD 作成時には、Azure 管理者ユーザーに利用するユーザーの「ユーザープリンシパル名(メールアドレス形式の名前)」と「パスワード」が必要になります。

「ユーザープリンシパル名」は、Azure Active Directory(以下、「Azure AD」と呼ぶ)管理画面の「ユーザー」画面からいつでも確認可能ですが、「パスワード」は確認方法がありません。

パスワードが不明だったり、Azure 管理者ユーザー用の手ごろなユーザーが存在しない場合は、ユーザーを新規作成しちゃいましょう。(※利用可能な既存ユーザーがすでに存在するのであれば、この手順は不要です)

Azure AD 管理画面から「ユーザー」画面を開き、「新しいユーザーの作成」からユーザーを作成してください。

このとき、「役割」は「グローバル管理者」に、「グループ」は「AAD DC Administrator」(オンプレ AD DS の「Administrators」グループに相当)に、それぞれ設定しておきます(あとから設定可能)。

Azure 管理者ユーザーのパスワード変更

Azure 管理者ユーザー用にユーザーを新規作成した場合、初期パスワードでは AVD デプロイ時にエラーを吐いてデプロイ失敗します。

これを回避するため、あらかじめパスワード更新を行っておいてください。

例えば、Azure PowerShellConnect-AzAccountコマンドを実行する等して、新規作成したユーザーで手動ログインを実行し、ログインを行うと初期パスワードの変更を求められるので、任意のパスワードに変更してこれをメモしておきます。

Azure 管理者ユーザーのロール割り当て

Azure 管理者ユーザーに利用するユーザーは、

  1. Azure AD の「グローバル管理者」に割り当てられていること
  2. AVD を作成しようとしているサブスクリプションの「アクセス制御(IAM)」で「所有者」ロールに割り当てられていること

が必要です。

1は、Azure AD の管理画面の「ユーザー」画面で個別ユーザーを選択し、「割り当てられたロール」画面の「割り当ての追加」から「グローバル管理者」を割り当てます。

2は、対象サブスクリプションの管理画面の「アクセス制御(IAM)」画面で「ロールの割り当ての追加」から対象ユーザーへ「所有者」ロール割り当てを行います。

手順2 : AVD のリソース作成

ここからは、実際に AVD 環境のリソースを作成していきます。

AVD 環境のリソース作成を開始

Azure ポータルを開き、検索窓に「Azure Virtual Desktop」を入力して「サービス」カテゴリの「Azure Virtual Desktop」を選択する。 (※「Marcketplace」カテゴリにも「Azure Virtual Desktop Management」等の似た名前が表示されるので注意)

Azure Virtual Desktop 管理画面を開いたら、左ペインメニューから「作業の開始」画面を開き、「開始」ボタンをクリックする。

作業の開始ウィザード(基本)

作業の開始ウィザードが表示されたら、「基本」タブで下記の設定項目を入力します。

設定名 説明
サブスクリプション AVD 環境をデプロイするサブスクリプションを選択
IDプロバイダー 下記から選択
- 既存の Active Directory
- ID プロバイダーがありません
ゼロから環境構築する場合はだいたい後者で良い
IDサービスの種類 「Azure AD Domain Services」のみ選択可能
リソースグループ 任意の文字列を入力。3つ自動作成されるリソースグループのリソースグループ名プレフィックスとなる
場所 任意のリージョンを選択
Azure管理者ユーザー名 既存ユーザーのユーザープリンシパル名(メールアドレス形式の名前)を入力
パスワード Azure 管理者ユーザー用のユーザーのパスワードを入力
ドメイン管理者のユーザー名 ドメイン管理者ユーザーの新規ユーザープリンシパル名(メールアドレス形式の名前)を入力
パスワード ドメイン管理者ユーザーの初期パスワードを入力(必ずメモしておくこと)

作業の開始ウィザード(仮想マシン)

作業の開始ウィザードの「仮想マシン」タブで下記の設定項目を入力します。

設定名 説明
仮想マシンあたりのユーザー数 下記から選択
- 複数のユーザー
- 一度に1人のユーザー
要するに、マルチセッションかシングルセッションかの選択。通常はデフォルトの前者で良い
イメージの種類 下記から選択
- ギャラリー
- ストレージ BLOB
イメージ 任意のイメージを選択
仮想マシンのサイズ 任意の仮想マシンサイズを選択
名前のプレフィックス セッションホスト名となる任意の名前を入力
仮想マシンの数 任意の仮想マシンの数を入力
ARMテンプレートのリンク セッションホストでのカスタム構成用 ARM テンプレートがある場合はチェックを入れる

作業の開始ウィザード(割り当て)

管理者アカウントでは、仮想マシンにサインインしてリモートデスクトップを利用することはできないため、リソース作成と同時にテストユーザーを作成することができる(任意)。

テストユーザーを作成したい場合は、作業の開始ウィザードの「割り当て」タブ下記の設定項目を入力します。

設定名 説明
テストユーザーアカウントの作成 テストユーザーを作成する場合はチェックを入れる
テストユーザー名 テストユーザーの新規ユーザープリンシパル名(メールアドレス形式の名前)を入力
テストパスワード テストユーザーの初期パスワードを入力(必ずメモしておくこと)
パスワードの確認 テストユーザーの初期パスワードを再度入力

作業の開始ウィザード(確認と作成)

作業の開始ウィザードの「確認と作成」タブに移動して内容に問題がなければ、「作成」ボタンをクリックしてリソース作成を開始し、完了するまで待ちます。

今回の場合は、デプロイ所要時間は約1時間50分ほどかかりました。

デプロイ完了すると、下記の3つのリソースグループが作成されているはずです。

手順3 : リソース作成後の各種設定

アプリケーショングループについて

「{リソースグループ名プレフィックス}-avd」リソースグループにある「アプリケーショングループ」リソースは、「提供したいアプリケーション」と「グループ」を割り当てることで、特定のグループ(=特定のユーザー群)に提供するアプリケーションを管理するためのグループです。

AVD 環境のリソース作成時にテストユーザーを作成している場合は、テストユーザーが割り当てられたグループをアプリケーショングループに割り当てろところまで自動で構成されているはずです。

一応、新規グループを作成してそのグループに利用ユーザーを割り当て、さらにそのグループをアプリケーショングループに割り当てる手順にも触れておきます。

グループを作成して利用ユーザーをグループに割り当て

Azure AD 管理画面の「グループ」画面を開き、「新しいグループの作成」からグループを新規作成する。

設定名 説明
グループの種類 下記から選択
- セキュリティ
- Microsoft 365
通常は前者で問題ない
グループ名 任意のグループ名を入力
グループの説明 グループの簡単な説明を入力(任意)
メンバーシップの種類 「割り当て済み」から変更不可
所有者 所有者のユーザーを選択(未選択のままで良い)
メンバー リモートデスクトップ利用ユーザーを選択

グループをアプリケーショングループに割り当て

アプリケーショングループ管理画面の左ペインメニューから「割り当て」画面を開き、「追加」から作成したグループを割り当てる。

ユーザーの種別について

AVD ユーザーには、

  • 内部ユーザー
  • 外部ユーザー

の2種類があります。

内部ユーザーと課金方法

内部ユーザーとは、自分の組織のメンバーであるユーザーのことで、例えば企業の従業員や教員/学生などです。

内部ユーザーの場合は、リモートデスクトップを利用するためには、ライセンスを購入してユーザーにライセンスを割り当てておかなければなりません。

具体的には、下記のいずれかのライセンスが必要だそうです。

  • Microsoft 365 E3、E5、A3、A5、F3、Business Premium、Student Use Benefit
  • Windows Enterprise E3、E5
  • Windows VDA E3、E5
  • Windows Education A3、A5

参考:Azure Virtual Desktop の前提条件 | Microsoft Docs

有効なライセンスの割り当てが無い場合、リモートデスクトップのログインに失敗してしまいます。

参考:Windows Virtual Desktop #47 ライセンスが無いユーザから接続した場合の挙動 | Alibaba Cloudの備忘ログ

今回は、ライセンスを持っていなかったので、内部ユーザーで実際にリモート接続するところまでは確認できませんでした。すみません。

外部ユーザーと課金方法

外部ユーザーとは、自分の組織外のユーザーのことで、例えば AVD を利用して自社アプリをストリーミングする企業の顧客などです。

なお、AVD では外部ユーザーとしてであっても「個人アカウント」ではサインインできず、「職場または学校アカウント」が必要みたいです。

外部ユーザーの場合は、リモートデスクトップを利用するためには、管理者が外部ユーザーごとにアカウントを作成・管理し、管理者が外部ユーザーごとのアクセス料金を支払います。

外部ユーザー向けのアクセス料金は下記2つの価格階層があります。

  • アプリのみ利用($5.5)
  • アプリとデスクトップを利用($10)

外部ユーザーが1回でもストリーミングを利用すると、月額料金が発生するとのこと。

参考:リモート アプリ ストリーミングの Azure Virtual Desktop のユーザーごとのアクセス価格について - Azure | Microsoft Docs

参考:Azure Virtual Desktop の価格 | Microsoft Azure

【内部ユーザーの場合】ユーザーにライセンスを割り当て

Azure AD 管理画面の「ユーザー」画面を開き、任意のユーザーをクリックしてユーザー管理画面を表示します。

左ペインメニューから「ライセンス」画面を開き、「割り当て」からライセンスの割り当てを行います。

【外部ユーザーの場合】ユーザーごとのアクセス価格を設定し、外部ユーザーを招待

まずは、ユーザーごとのアクセス価格の設定を有効にしましょう。

Azure ポータルの検索窓で「Azure Virtual Desktop」と検索し、「サービス」カテゴリの「Azure Virtual Desktop」を選択して管理画面を開きます。

左ペインメニューの「ユーザーごとのアクセス価格」画面を開き、対象サブスクリプションを選択してから「登録」ボタンをクリックして登録完了するまで待ちます。

参考:Azure Virtual Desktop のユーザーごとのアクセス価格の登録 - Azure | Microsoft Docs

次に、外部ユーザーの招待を行います。(※「個人アカウント」ではなく「職場または学校アカウント」が必要)

Azure AD 管理画面を開き、左ペインメニューから「ユーザー」画面を開いて、「新しいユーザー」→「外部ユーザーの招待」を選択して外部ユーザーを招待します。このとき、アプリケーショングループに割り当てる(または割り当て済みの)グループに外部ユーザーを割り当てておきましょう。

外部ユーザーを招待したら、登録したメールアドレスに招待メールが送信されるので、メールに記載されている「Accept invitation」ボタンをクリックして招待を完了させてください。

【余談】「個人アカウント」と「職場または学校アカウント」の違い

「個人アカウント」(または「Microsoft アカウント」)とは、Outlook.com など Microsoft がコンシューマー向けサービスの認証に用いるアカウントです。その最大の特徴は「ユーザー自身が作成したアカウント」という点であり、つまりは企業や大学から割り当てられるアカウントではないということです。

「職場または学校アカウント」とは、企業や大学から割り当てられるアカウントで、「組織の管理者が作成したアカウント」です。またこのアカウントの実態は Azure AD という点もポイント。

詳しい話は、下記ウェブページが詳しかったです。

参考:[Microsoftアカウント]と[職場または学校アカウント]の違い | DevelopersIO

リモートデスクトップを利用する

クライアントがリモートデスクトップを利用する手順について説明します。

リモートデスクトップクライアントについて

リモートデスクトップを利用するには、リモートデスクトップクライアントが必要になります。

リモートデスクトップクライアントは、下記のように多数用意されているので、好きなものを選んでください。

  • Windows デスクトップ クライアント
  • Web クライアント
  • macOS クライアント
  • iOS クライアント
  • Android クライアント
  • Microsoft Store クライアント

参考:Azure Virtual Desktop の前提条件 | Microsoft Docs

Web クライアントでリモートデスクトップ接続

ここでは、アプリインストールが不要な Web クライアントを例にリモートデスクトップを利用する方法を説明します。

下記ページにアクセスし、リモートデスクトップを利用するユーザーでログインします。(うまくいかない場合は、先に利用ユーザーで Azure にログインしてから下記ページにアクセスする)

https://client.wvd.microsoft.com/arm/webclient/index.html

ログインできたら、利用できるデスクトップ(またはアプリ)の一覧が表示されるので、利用するデスクトップ(またはアプリ)を選択します。

今度はセッションホストのログイン画面が表示されるので、同じユーザーで再度ログインを行ってください。(前述の有効なライセンス割り当てのない内部ユーザーですとここで失敗します)

おわりに

残念ながら最後の最後でリモートデスクトップ接続を試すことまでは出来ませんでしたが、環境構築までは無料アカウントの無料枠の範囲内で確認することが出来ました。

ここまで雑にまとめてしまいましたが、どなたかの参考になれば幸いです。