Azure コラム 第5回 「Azure Virtual Desktop システム構成 Vol.1」

Microsoft

2021.08.16

  

お久しぶりです。
Azureコラム第4回から気付けば5年も経っていました。その間すごく忙しくて…と言う訳でもなく単純にやる気が出なかっただけだと思います。
という事で心機一転よろしくお願いします!

はじめに

Azure Virtual Desktop(旧WVD、以降AVD) とひと言で言っても、取り得るシステム構成は複数の軸に複数の選択が絡み合う結構複雑なものです。
その複雑さ故に導入に踏み切れない方もいらっしゃるのではないでしょうか?
本コラムでは考慮すべき構成要素とその判断条件(は私見です)を示すことで、導入への一助となることを目的としています。

占有型 vs 共有型

占有型(1ユーザー:1VM)vs 共有型(nユーザー:1VM)の比較です、これはAVD問わずDaaSの抱える根本的な課題ですね。
まず一般論としてAVDでは共有型を使うべきでしょう。AVDはWindows 10 multi-sessionを使うためにあると言っても過言ではありません。全ユーザー占有型ならDaaSにしない方がコスト面でもメリットがあります。
では共有型を選択するための条件です。

1. ユーザーに管理者権限を付与する必要がない

  • 一番響くのはアプリケーションのインストール。管理者権限の求められるアプリケーションはまだまだある。
  • 占有型なら一時的に管理者権限割り当てる運用も取り得ますが、共有型の場合は他のユーザーへの影響が出ますので難しいと思います。

2. ワークロードがクライアントからオフロードされている

  • 特定ユーザーのワークロードがCPUを食い尽くして他のユーザーに影響を与えるパターン。
  • クライアント側でExcelマクロぶんまわし、みたいなのが典型的にオフロードされていないもの。

3. データがユーザー領域のみに保存される

  • これは最近少なくなったと思いますが、レガシーアプリケーションでまだシステム領域を使用するものが残っているかもしれません
  • ここまで書いて気付きました、OutlookのpstファイルとFSlogixとの組み合わせはどうなんだろ…

さあ難解な選択となりました。
私のDaaS経験からですと利用者向けの機能性を取り込み始めたら共有型に倒すのは難しいです、要件をコントロールすればイケるんじゃないかとも思われますがなかなかそうもいかず、大概が検討及び調整スケジュールのタイムアップで止む無く占有型となることがほとんどです。

ですのでここは占有型・共有型両方用意する前提で「共有型はシステム費の範囲ですが、占有型の場合はすいません追加費用ください」的なサービスメニューを仕立てコスト観点の選択とするのが吉だと思います。その上で共有型がn割超えればコスト対効果が出始めるみたいな試算をして、そこに向けて周辺条件を整えていく感じですかね。ここまでくるともうコンサルの領域ですが。

Active Directory vs Azure AD vs Azure AD Domain Service

AVDは展開時にいわゆるドメイン参加が必須となりますが、その選択肢に Active Directory vs Azure AD vs Azure AD Domain Service(以降Azure AD DS) の3方式が存在します。
次はこの選択条件について記しましょう。

1. Active Directory

現状において最も取り得るパターンです、既にActive DirectoryがあってかつAzureとオンプレミスをExpressRoute or VPNで接続されている場合は択一の選択肢でしょう。
メリットは他の方式のデメリットを回収できること、対するデメリットはおそらくAzure上にVMとして追加することになるドメインコントローラの運用(更新プログラムの適用 など)が発生することになります。
1点、この方式の場合でもActive DirectoryとAzure ADの同期が必須であることはご留意ください。

2. Azure AD(のみ)

この方式は今後取り得ないかなと思います。
理由はグループポリシーが使えないと言うデメリットにあり、そこに目をつむって突っ込めるのであれば2021年8月2日にリリースされたWindows 365 Cloud PCを選択した方が良いように思います。

3. Azure AD DS(+Azure AD)

こちらはActive Directoryをお持ちでない形には十分取りうる選択肢で、条件が合致する場合は是非この方式を検討いただきたいと言うのが私の意見です。

メリットはコントロールプレーンをフルクラウドで提供できる点で、1の場合はドメインコントローラの運用が必要になりましたがこの方式の場合はそこが不要です。かつクセがスゴイオペレーションにはなりますがグループポリシーも利用可能ですので2のデメリットも回収可能です。
デメリットは↑のクセの部分で、例えばグループポリシーを使いたい場合管理用のVMを立ててそこからActive Directory管理ツールを使用してオペレーションを行う必要があります(ここはクラウドっぽくないです)。かつディレクトリ構造が母体のAzure ADのものですので、そのあたりも理解しておかないとそこそこ手こずるかもとの感触です。このあたりは今後の機能拡充によってオペレーションがこなれてくることを期待ですね。

ただこのデメリットをも超えても、フルクラウドかつVPNなどのネットワーク考慮点を減らすことが出来るのはとても大きなメリットだと思います。この構成でファイルサーバーをクラウドリフト(Azure FilesやSharePoint Online など)すれば、あとはプリンターをRDPリダイレクトで充足させることで美しいオフィス環境の世界観が描けるのではないでしょうか。

[エンタープライズ向け Azure Virtual Desktop]

https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/wvd/windows-virtual-desktop

移動ユーザープロファイル vs FSLogix

次はユーザープロファイルの選択肢についてです。
まず占有型の場合は普通にローカルユーザープロファイルで良いと思います。Managed Diskでパフォーマンスも出ますし構成要素も少なく安定性向上も期待できます。占有型のFSLogixは共有型の併存など複数のプールを行ったり来たりするような比較的レアなユースケースがある場合のみですね。
という事でここでは共有型における移動ユーザープロファイル vs FSLogixを取り上げたいと思うのですが、何だかここ世間的にはFSLogix一色の雰囲気ですね。確かにカタログスペック上はFSLogix優位だと思いますが。

1. 移動ユーザープロファイル

メリット:大昔からある機能で技術的には枯れている
デメリット:バースト問題(ログオン・ログオフ時に読み書きが集中する問題)を抱え続けている

2. FSLogix

メリット:移動ユーザープロファイルのバースト問題はない(読み書きはリアルタイムに行われる)
デメリット:まだ技術が枯れておらずバグ潜在などの安定性に一抹の不安

と技術の枯れ具合のリスク観点(あくまでリスクなので踏まなければ顕在化しませんが)で移動ユーザープロファイルの優位性がない訳ではないです。
とは言えこのコラムでは何らかの方針を出すことをモットーとしていますので、ここではFSLogixを推したいと思います、理由は「機能性で優位であり現時点のデメリットもバージョンアップで解決されていく」と言う考え方がクラウドっぽいからです。共有型なのでローカルデータは揮発すると言う前提のもと、永続化データはユーザープロファイル外(ファイルサーバーとか)に配置されるような仕組みをセットにすればどうでしょうかね。あとはメールのプロファイルが揮発されないようにできればほぼほぼカバーできるように思われます。

補足で、移動ユーザープロファイルの場合もFSLogixの場合も、格納先のストレージアカウント vs NetApp Filesの選択にご留意ください。ここは純粋な性能観点での選択で巷に詳細な情報が出ていますので、サーチいただければと思います。

[エンタープライズ向け FSLogix]

https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/wvd/windows-virtual-desktop-fslogix

アプリケーションの マスタ組み込み vs アプリ配信 vs RemoteApp vs クラウドアプリ

最後のネタはアプリケーションの取り扱いについてです、これも占有型 vs 共有型に並ぶDaaSの抱える根本的な課題です。

No方式機能性運用・保守性コスト
1マスタ組み込み×

〇 アプリケーションに制限がない

× 組み合わせに応じたマスタ分割が必要

× 共有型でユーザーごとの割り当てが不可

※ マスタ数により運用コストが変動(影響大)

〇 追加のライセンス/サブスクリプションコストはかからない

2アプリ配信
(MSIX アプリ)
×

× アプリケーションに制限がある

〇 共有型でユーザーごとの割り当てが可能

△ 組み合わせに応じたアプリグループ分割が必要

△ アプリのパッケージングに技術(ノウハウ)が必要

※ アプリ数により運用コストが変動(影響大)

〇 追加のライセンス/サブスクリプションコストはかからない

3RemoteApp

△ ローカルデータの取り扱いにマイナス

〇 共有型でユーザーごとの割り当てが可能

〇 ワークロードの負荷がかからない

※ アプリ数により運用コストが変動(影響中)

△ RemoteApp利用に追加コストが発生

4クラウドアプリ

△ アプリケーションの互換性にマイナス

〇 共有型でユーザーごとの割り当てが可能

〇 ワークロードの負荷がかからない

※ マスタ数により運用コストが変動(影響小)

△ クラウドアプリ利用に追加コストが発生

ここも占有型 vs 共有型と同じ観点で機能性(≒アプリケーション互換性)重視とすると、取りうるのは1もしくは1と他方式の組み合わせとなりますので、以降は1+他方式の判断条件について記しましょう。
あとユーザー権限で動作する(=管理者権限不要)アプリケーションは、任意に利用いただけるとの観点で対象から外しています。

まず他方式の要・不要は、「共有型において管理者権限の必要なアプリケーションを任意のタイミングで追加、もしくは変更」が必要かどうかと言う判断条件になります(占有型の場合は一時的な管理者権限割り当てで対応)。ただこの判断条件をないとは言えない(それは悪魔の証明)と思いますので、 実際の判断条件は「次回マスタ更新まで待ってもらうか、待てないなら占有型を使ってもらう」と言うサービスメニューが通せるかとなります。
その上でオンデマンドでのアプリケーション追加・変更に対応するところまで要件が落ちたら他方式を用意することになります、まあ大概にしてここに落ちるとは思いますが。

最後に他方式の選定ですが、正直上記はいずれも単品では帯に短し襷に長しなんですよね。1+4で対応できれば一番良いと思いますが、VBとかのレガシーアプリケーションもまだまだあるでしょうし。2は機能性の×が現時点においてはノックアウトファクター、3はデバイスから直接利用するには向きますが、DaaSから多段で使うような方式ではないのであまりお勧めしません。
結論としては、1+4+外部の端末管理アプリケーション(記載外)の組み合わせとさせてください。Microsoft製品の場合はMicrosoft Endpoint Managerになるかと思います。

[Windows 10 Enterprise マルチセッションのリモート デスクトップ]

https://docs.microsoft.com/ja-jp/mem/intune/fundamentals/azure-virtual-desktop-multi-session

「すべてのアプリは、システム コンテキストとデバイス コンテキストでインストールするように構成し、デバイスを対象にする必要があります。」とのことですので、共有型で同一ホスト内の特定ユーザーにだけ配信って使い方はできないみたいです。

おわりに

Azureコラム第5回いかがでしたでしょうか?
AVDも大分こなれてはきましたが、まだまだ課題も多いですし・難解な技術要素もいっぱいあります。
次回はその難解な技術要素の1つであるネットワーク構成についてお届けしたいと思います。

  • 文章中の商品名、会社名、団体名は、各社の商標または登録商標です。