Azure Virtual Desktop (AVD) を導入するにあたり、知っておきたい事、決めておきたい事を5つの項目にまとめてみました。
これらの項目を流れに沿って決めて行くだけで、AVDの導入がスムーズに行えます!
突然、AVDを構築する事になった、あなたのために成功のポイントを教えます!
先ずは、[ライセンス]です。避けては通れない箇所なので確認しておきましょう。
この中でも、特に重要なのが[ネットワーク設計][ホストプール設計]です。
導入後に変更する事が難しく、コスト、操作感に大きく影響を与える箇所となりますので、
しっかり押さえておきましょう!
残りの項目[セキュリティ][モニタリング]はオプションとしています。
AVD環境において、必ず要るわけでなく、導入環境や予算に左右されるためです。
また、後から導入する際にも比較的容易に行えます。
手に入れよう、要件に合った理想の環境!!
【ライセンス】
AVDを利用するにあたり必要となるライセンス
「AzureでVDIを構築する際に適用すべきライセンスとは?」
手元デバイスのOSにより、必要となるライセンスが異なります。
「利用シーン別! AVD で必要となるライセンスとは?」
【ネットワーク設計】
①AVDで利用する「AzureADテナント」を決める
AVDでは、AzureADとActive Directoryを利用して2回認証を行います。
そのため、Active Directoryから、AzureAD Connectを利用し、利用するAzureADテナントに対して、ユーザーアカウントを同期しておく必要があります。
SSOにも対応しました!
「AVDのAzureAD Join構成で SSO を試す!」
「AVDのHybrid AzureAD Join構成で SSO を試す!」
~注意~
セッションホストを展開するサブスクリプションも同じAzureADテナントに存在している必要があります。
②AVDの「全体の利用者数」を決める
利用人数は、セッションホストの台数に影響し、台数は様々なリソースの制限に影響します。拡張性を確保するために「ハブ・アンド・スポーク」を推奨します。
参考「Azure Virtual Desktop (AVD) ネットワーク アーキテクチャ」
東日本、西日本での冗長構成を検討する場合はこちら
「Azure Virtual Desktop (AVD)でDR(災害復旧)を構築する!」
③接続元の場所「社内/社外」を決める
社外:インターネットを経由してAVD Gatewayに接続させる
社内:社内環境からAVD Gatewayに接続させる
※AVD ClientからAVD Gateway向けに必要な接続先を開けておく必要があります。
※Windows版 AVD Client の利用を推奨します。
~注意~
社内からExpress Route経由での「完全閉域網接続(インターネットに一切出ない)」が必要な場合は、Citrix Cloudを利用する必要があります。
④セッションホストからの「デフォルトルート」を決める
AVDに必要な、セッションホストからAVDコントロールプレーン向けへの通信は、
デフォルトルートに従います。なので、デフォルトルートはAzureから直接インターネットに向ける事を強く推奨します。
※これらの通信は、WinHTTP Proxyの対象にはなりません。
⑤セッションホストからオンプレへの通信が必要か決める
・Express Route や VPN の有無を確認する。
※セッションホストからオンプレ環境にアクセスする場合は、AzureADDSは不向きです。
・セッションホストからの接続先を確認する。
※接続先の制御には、NSGを利用します。
⑥Web(ブラウザ)系の通信経路を決める
Web(80/443)をオンプレProxyに向ける必要があるのかを確認する。
※オンプレProxyを利用する場合は、PACファイルにてWeb系のみをオンプレに向けます。
⑦Microsoft365への通信経路を決める
Microsoft365を利用する場合、レイテンシーを意識する必要があるので、Azureから直接[Microsoft Global Network]に向ける事を推奨します。
※デフォルトルートをAzureから直接インターネットに向いていれば、問題ありません。
※Proxyを利用する際は、PACファイルに除外設定としてM365向け通信を記述します。
【ホストプール設計】
①利用したい「アプリケーション」を決める
・パブリッククラウド上での動作をサポートしているのかを確認する。
・マルチセッションOSをサポートしているのかを確認する。
※CAD利用だとGPUが必要となり、TeamsだとCPU/プロファイルサイズに影響します。
※VDI用のTeamsは、通常のTeamsに比べ、実装されていない機能が多々あります。
②利用したい「OS」を決める
アプリケーションがサポートしているOSを選択します。
[Windows 11 Single-Session / Windows 11 Multi-Session / Windows Server]
※最新バージョンを推奨します。
③ホストプール「Pooled/Personal」を決める
一般的には下記パターンになります。
Windows 11 Single-Session = Personal
Windows 11 Multi-Session = Pooled
Windows Server = Pooled
④配信方式「デスクトップ/アプリケーション」を決める
・どちらの配信方式を利用するのかを確認する。
※アプリケーション配信の場合、集約率が高くコストが下がる傾向があります。
※1つのホストプールにて、デスクトップ配信とアプリケーション配信を同じユーザーに割り当てる事はサポートされていません。
⑤ユーザーに「管理者権限」が必要か決める
ユーザーにアプリケーションのインストールを許可する場合には必要となります。
※管理者権限が必要な場合、「Pooled」は不向きです。
⑥AVD利用者数と利用時間帯を決める
・ホストプールごとに[利用者数][最大/最小の同時利用者数][利用時間帯]を確認する。
※利用者数は、ライセンス数とストレージサイズに影響します。
※同時利用者数と利用時間帯は、コストに影響します。
【電源管理方法】
▶[時刻指定] [起動/停止] [Single/Multi-Session]
「仮想マシンを指定時刻で起動/停止させる Start-Stop VM v2 を試す!」
▶[ユーザー操作] [起動/停止] [Single/Multi-Session]
「AVD セッションホストをユーザー主導で「起動/停止」させる!」
▶[セッション数] [起動/停止] [Single/Multi-Session] ※オススメ
「Azure Virtual Desktop (AVD) で スケーリングプラン を試す!」
▶[ユーザー接続時] [起動] [Single/Multi-Session]
「接続時に自動起動させる Start VM on Connect を試す!」
▶[セッション有無] [停止] [Single/Multi-Session]
「Azure Virtual Desktop (AVD) セッションホストの自動停止を試す!」
⑦ユーザープロファイルの「サイズ」「保存先」を決める
プロファイルを移動させたい場合は、FSLogix(Profile Container)を利用し、保存先にANF(Standard)を利用する事をお勧めします。
プロファイルサイズは[500MB~1TB]を指定可能ですが、ユーザーあたり30GB以上を推奨します。
プロファイルを移動させない場合は、ローカルプロファイルの利用も可能です。
もちろん、固定プロファイルもOKです。
~注意~
検証する際は、サインインストームを想定して行って下さい。
※マルチセッション(デスクトップ配信)の集約率
VM Size 4~16core ※おすすめ[Dasv5 / Easv5]
Office アプリ = 0.5vCPU 以上
Office アプリ+Teams = 1vCPU 以上
※「AVD カスタム イメージ テンプレートを試す!」の利用を推奨します。
~注意~
ユーザーエクスペリエンスに関わり、大きな問題になりかねない箇所です。
可能であれば、本番同様の環境で操作感を確認して頂いた方が良いです。
【セキュリティ】
①Windows 更新プログラム ※品質更新(QU)/機能更新(FU)
Azure VMに対してサポートされている更新方法 ※Single/Multiは同じKBを利用
[品質更新(QU)]
Single-SessionOS=Windows Update / Intune / WSUS / MECM
Multi-SessionOS=Windows Update / Intune / WSUS / MECM
ServerOS=Update Management / Windows Update / WSUS / MECM
[機能更新(FU)] ※Enablement Packageも可能
Single-SessionOS=Windows Update / Intune / WSUS
Multi-SessionOS=サポート対象外
ServerOS=アップグレードメディアディスク
※現時点では、Windows10⇨Windows11へのインプレースアップグレードは未サポート
②フィルタリング [Azure Firewall]
セッションホストからの通信をホワイトリスト方式にする際に利用します。
特に、AVDコントロールプレーン、Microsoft365 向けの通信を許可する際に便利です。
あと、通信ログの取得や、送信元IPを固定化する際に利用できます。
[Standard]
ネットワークフィルタリング
FQDNフィルタリング
SNAT/DNAT
固定パブリックIPアドレス
通信ログ
[Premium]
URLフィルタリング
コンテンツフィルタリング
TLS検査
IDPS
③テナント制限v2 [Global Secure Access]
セッションホストから接続できるEntra テナントを、指定したテナントに制限する機能
個人や他社のテナントに接続させない事で安全性を高めます。
また、匿名でアクセスできてしまう、SharePoint、OneDrive、Teamsに対しても有効です。
ユーザー、グループ単位で制限がかけられます。
④多要素認証 [EntraID]
AVDでは、EntraIDを利用するので、導入のハードルは非常に低い。
※EntraID P1 ライセンスがユーザー分必要
【認証用電話】
ー「テキスト メッセージでコードを送信する」 →SMSにて認証コードが届く
ー「電話する」 →電話を受信し、# を押す
【モバイルアプリ】
ー「確認のため通知を受け取る」 →アプリからの通知に対して、「承認」をタップする
ー「確認コードを使用する」 →アプリに表示されるワンタイムパスを入力する
【ハードウェアトークン】
ー「確認コードを使用する」 →表示されるワンタイムパスを入力する
⑤証明書認証 [Entra CBA]
EntraID で利用できるクライアント証明書認証をAVDでも利用可能です。
AVD接続を許可する「ユーザーアカウント」用にUPN情報を埋め込んだクライアント証明書を、予めデバイスにインストールしておきます。利用者が入力したユーザーアカウントと証明書のUPNが一致した場合のみ接続を許可します。
※Entra CBAは無償で利用できます。
⑥サインインの強化 [Identity Protection]
条件付きアクセスを利用する事で、サインインのリスクを軽減する事ができます。
※Azure AD Premium P2 ライセンスがユーザー分必要
【サインインリスク】
・匿名IPアドレスからの接続
・時間的に移動不可能な場所からの接続
・ボットサーバーとの通信が確認されたIPアドレスからの接続
・過去のサインイン履歴を考慮した不審な場所からの接続
・悪意のあるIPアドレスからの接続
⑦接続場所の制御 [Conditional Access]
条件付きアクセスを利用する事で、接続元の場所をIPアドレスにより制限する事ができます。
※Azure AD Premium P1 ライセンスがユーザー分必要
⑧デバイス制御 [Hybrid Azure AD Join]
AVDに接続できるデバイスを制限する場合は、接続デバイス(手元PC)をセッションホストと同じドメインに参加させる必要がある。
※(条件付きアクセス利用のため)Azure AD Premium P1 ライセンスがユーザー分必要
接続場所や接続デバイスを制限する事も可能
「AVD のための AzureAD 条件付きアクセス と ハイブリッドAzureAD参加」
⑨デバイス制御 [Microsoft Intune]
Intuneを利用する事でも接続デバイスを制限する事が可能。違いは、接続デバイス(手元PC)をセッションホストと同じドメインに参加させる必要がない点です。
※EMS E3 / M365 E3 いずれかのライセンスがユーザー分必要
※(条件付きアクセス利用のため)Azure AD Premium P1 ライセンスがユーザー分必要
⑩セッションホスト保護 [Microsoft Defender for Endpoint]
Windows 10(Multi-session含む)に標準実装されている[Defender for Endpoint]
[Defender for Antivirus]の統合管理が行えます。ネットワーク隔離も可能。
※Windows 10 E5 / EMS E5 / M365 E5 いずれかのライセンスがユーザー分必要
⑪アプリケーション制御 [AppAttach]
ユーザー/グループとホストプールの組み合わせでアプリケーションの割り当てが可能。
アプリケーションをイメージ化し、セッションホストに配信するため、事前にマスターイメージへのインストールが不要。セッションホスト展開後からでもアプリケーションの差し替えが可能です。
詳細は「MSIXじゃない、新 App Attach を試す!」
⑫認証情報保護 [Credential Guard]
WindowsOSに保持される認証情報を保護する機能。
有効にするには、[Gen2VM/Trusted Boot/Nested VM]でセッションホストを作成する必要があります。
【モニタリング】
監視機能
「Azure Monitor for Azure Virtual Desktop (AVD)を試す!」
アラート設定
「AVDで攻めのアラート設定を試す!」