Azure Virtual Desktop (AVD) 設計ガイド

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テナントに対して、ユーザーアカウントを同期しておく必要があります。

~注意~
セッションホストを展開するサブスクリプションも同じ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][Horizon 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 10 Single-Session / Windows 10 Multi-Session / Windows Server]
※最新バージョンを推奨します。

③ホストプール「Pooled/Personal」を決める

一般的には下記パターンになります。
Windows 10 Single-Session = Personal
Windows 10 Multi-Session = Pooled
Windows Server = Pooled

④配信方式「デスクトップ/アプリケーション」を決める

・どちらの配信方式を利用するのかを確認する。
※アプリケーション配信の場合、集約率が高くコストが下がる傾向がある

⑤ユーザーに「管理者権限」が必要か決める

ユーザーにアプリケーションのインストールを許可する場合には必要となります。
※管理者権限が必要な場合、「Pooled」は不向きです。

⑥AVD利用者数と利用時間帯を決める

・ホストプールごとに[利用者数][最大/最小の同時利用者数][利用時間帯]を確認する。
※利用者数は、ライセンス数とストレージサイズに影響します。
※同時利用者数と利用時間帯は、コストに影響します。

参考「AVD セッションホストをユーザー主導で「起動/停止」させる!

⑦ユーザープロファイルの「サイズ」「保存先」を決める

プロファイルを移動させたい場合は、FSLogix(Profile Container)を利用し、保存先にANF(Standard)を利用する事をお勧めします。
プロファイルサイズは[500MB~1TB]を指定可能ですが、ユーザーあたり30GB以上を推奨します。

プロファイルを移動させない場合は、ローカルプロファイルの利用も可能です。
もちろん、固定プロファイルもOKです。

~注意~
検証する際は、サインインストームを想定して行って下さい。

※マルチセッション(デスクトップ配信)の集約率

VM Size 4~16core ※おすすめ[Dasv4 / Easv4]
Office アプリ = 0.5vCPU 以上
Office アプリ+Teams = 1vCPU 以上
※「Azure Virtual Desktop 最適化ツールを試す!」の利用を推奨します。

~注意~
ユーザーエクスペリエンスに関わり、大きな問題になりかねない箇所です。
可能であれば、本番同様の環境で操作感を確認して頂いた方が良いです。

【セキュリティ】

①フィルタリング [Azure Firewall]

セッションホストからの通信をホワイトリスト方式にする際に利用します。
特に、AVDコントロールプレーン、Microsoft365 向けの通信を許可する際に便利です。
あと、通信ログの取得や、送信元IPを固定化する際に利用できます。

[Standard]
ネットワークフィルタリング
FQDNフィルタリング
SNAT/DNAT
固定パブリックIPアドレス
通信ログ

[Premium]
URLフィルタリング
コンテンツフィルタリング
TLS検査
IDPS

②多要素認証 [Azure AD]

AVDでは、AzureADを利用するので、導入のハードルは非常に低い。
※Azure AD Premium P1 ライセンスがユーザー分必要

【認証用電話】
ー「テキスト メッセージでコードを送信する」 →SMSにて認証コードが届く
ー「電話する」 →電話を受信し、# を押す

【モバイルアプリ】
ー「確認のため通知を受け取る」 →アプリからの通知に対して、「承認」をタップする
ー「確認コードを使用する」 →アプリに表示されるワンタイムパスを入力する

【ハードウェアトークン】
ー「確認コードを使用する」 →表示されるワンタイムパスを入力する

③サインインの強化 [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 いずれかのライセンスがユーザー分必要

⑧アプリケーション制御 [AppLocker]

セッションホスト上で、実行可能なアプリケーション/インストーラー/スクリプトを制御する機能。ホワイトリスト/ブラックリストに対応し、ユーザーを指定することも可能。
有効にするには、セッションホストにて[Application Identity]を自動実行する必要がある。
※パス指定[C:\Program Files (x86)\teraterm\*]

⑨認証情報保護 [Credential Guard]

WindowsOSに保持される認証情報を保護する機能。
有効にするには、[Gen2VM/Trusted Boot/Nested VM]でセッションホストを作成する必要があります。

【モニタリング】

こちらをご覧ください。
Azure Monitor for Azure Virtual Desktop (AVD)を試す!