2022/12/14

テクノロジー

Azure Virtual Desktopを作ろう!

この記事の目次

    はじめに

    マイナビでは、一部のシステム職員に向けてDaaS環境を提供しており、サービスには「Azure Virtual Desktop」を採用しております。

    Microsoft社が提供するAzure Virtual Desktopはなんと

    • Windows 10 Enterprise
    • Microdsoft 365 Business Premium以上

    のライセンスがあれば、追加ライセンスは不要で利用が可能なDaaSとなっています。
    加えて、Azure AD P1以上があれば条件付きアクセスによる詳細なアクセスコントロールもできます。

    今回は、そのAzure Virtual Desktopを構築し利用できるまでの道のりと共に、メリットデメリットを含めて共有できればと思います。

    Azure Virtual Desktopサービスとは?

    Microsoftが提供するクラウド型のDaaS(Desktop as a Service)は、実は2種類存在しています。

    1. Windows 365

    決められたプラン(スペック)の中から利用ができる、シンプルな構成のDaaS。
    利用者数が少ない、利用要件が少ない…など「とりあえずDaaSが使いたい」環境向けサービス。
    24H365Dで稼働しっぱなしのため、ランニングコストは安くない。

    2. Azure Virtual Desktop

    様々なカスタマイズ、利用方法を提供する上位のDaaS。
    1台を複数人で利用できる「マルチセッション」や、細かなポリシーカスタマイズが可能。
    利用状況に応じて自動シャットダウンも可能なため、費用をコントロール出来ます。
    ある程度の数を展開する場合や、要件が明確な場合はこちらをオススメします。

    Azure Virtual Desktopの構成を理解しよう

    Azure Virtual Desktop(以下、AVD)は、既存のVDIシステムと似ている部分が多々あります。
    構築をしてみる前に、まずはどのような要素から成り立っているかを把握しましょう。

    引用元:エンタープライズ向け Azure Virtual Desktop - 主要な論理コンポーネント間のリレーションシップ

    AVDは大きく、

    • コントロールプレーンと呼ばれる管理環境
    • ホストマシンやプロファイルの仮想デスクトップ実行環境
      2つに分けられます。

    コントロールプレーンはMicrosoft社の管理下にあるため、利用側での設定や運用は不要です。実際に、設定や運用管理が必要なのは仮想デスクトップを実行するための環境だけですね。オンプレでVDI環境を運用する場合、管理環境の維持だけでも大変なのでこれはありがたいですね。

    また、ある程度の規模間の企業様であればExpressRouteを既にご利用の場合もあるかと思います。
    オンプレ~Azure間を閉域でつなぐ場合はこちらも利用しましょう。

    過去、AVDを利用するにはAD+AADのハイブリッド構成が必須でしたが、現在では、AADのみの環境もサポートされています。
    ただし、一般的にはハイブリッド構成を利用している環境の方が多いと思いますので、今回は仮想マシンをオンプレADに参加させる方式で説明いたします。

    構築をしてみよう

    ここまで概要を説明いたしましたが、ここからは実際にAVDを構築し仮想デスクトップを利用してみましょう。
    まず、今回の前提条件としては下記構成で構築に臨みたいと思います。

    ・ExpressRouteを利用し、オンプレとの相互通信が可能である
    ・オンプレ上にActive Directoryが存在している
    ・オンプレ上にAzure AD Connectが存在している(AD⇔AADが同期済みである)

    ①リソースグループを作る

    Azure上に作成される各コンポーネントを取りまとめるため「リソースグループ」を作成します。
    リージョンは「東日本」か「西日本」のどちらかを選択しましょう。

    ②仮想ネットワーク(VNET)を作る

    AVD環境で仮想マシンがドメインに参加できるように、オンプレADの名前解決が可能なサーバをDNSに指定しましょう。
    ADサーバがDNSを兼ねている場合は、ADサーバを指定してあげると良いでしょう。

    そのほか、仮想ネットワークではサブネットの設定も可能となっています。
    ネットワークの環境や要件に応じて設定を行ってください。

    ③マスターイメージの作成

    FAT・VDIともに展開ではおなじみのマスターイメージを作成していきます。
    このマスターイメージを元に、仮想マシンを展開していきます。

    まずは、マスターイメージとなるAzureVMを作成しましょう。
    AVD固有機能である「マルチセッション」を使う場合は、イメージを「Multi-session VM」から展開しましょう。
    シングルセッションの場合は、Windows10であれば特に指定はありません。

    展開後は、通常のWindowsマスタと同様にOSにカスタマイズを施していきます。
    ※AzureVMのWindows 10は英語がデフォルトのため、日本語化が必要な場合はOSで設定変更がマストです。

    マスターイメージである程度カスタマイズが完了したら、sysprepを行います。

    AVDのsysprepでは、応答ファイルがサポートされていません。
    弊社で検証した限り、応答ファイルを利用すると展開に失敗します。
    そのため、プロファイルのコピーが応答ファイルで実施できません。

    応答ファイルを使わないプロファイルコピー設定を事前に行うことで実現は可能です。
    ※AVDのサポート対象外となる可能性が高いため、本記事では言及致しません。

    sysprepまで完了したら、Azure上でイメージ化するために「キャプチャ」を行いましょう。

    これでマスターイメージの完成です。

    ③ホストグループの作成

    ここまで来たら、あと一歩です。
    AVD上の仮想マシンを束ねる「ホストグループ」を作成しましょう。

    マルチセッションの仮想マシンの場合は「プール」を選択します。
    「個人用」を選択した場合は、仮想マシンと利用者は1:1になります。

    ホストプールを作るタイミングで、同時にAVDで利用する仮想マシンも作成することができます。
    先ほど作ったマスターイメージから仮想マシンを展開するために「全てのイメージを表示」を選択しましょう。

    「マイアイテム」を確認することで、キャプチャしたマスタイメージを選択できます。

    あとはドメイン参加するための情報や仮想ネットワークの設定やらを入れてあげれば完成です。

    初回作成の場合は、ワークスペースもここで一緒に作成すると展開が楽です。

    無事展開が完了すると、ホストプールに仮想マシンが作成されます。

    最後に、仮想マシンを利用できるユーザを設定してあげます。
    シングルセッションの場合は前述の通り1:1ですが、マルチセッションでは複数人設定が可能です。

    シングルセッションの場合↓

    マルチセッションの場合↓

    接続してみよう

    ここまでの準備ができたら、いよいよ接続が可能になります。
    AVDには2種類の接続方法があり、

    今回は専用アプリから接続してみます。
    専用アプリにAzureADアカウントでサインインをすると、割り当てを行った仮想マシンが表示されていますね。

    選択してみるとこのように仮想マシンに接続ができます。簡単ですね!!!!

    ※オンプレADとAADのハイブリッド環境の場合、展開時に自動的にAD参加を行ってくれます。
     そのため仮想マシン自体へのログインにはオンプレADアカウントを利用します。

    運用編

    ここまでで、なんとなく作り方や使い方のイメージが付いたかと思います。
    ただし実際には、もう少し作りこみが必要です。

    例えば、このサービスは従量課金制です。
    そのため、仮想マシンは使った分だけ課金され続けます。
    ここで重要なのは「シャットダウン」だけでは課金され続けてしまいます。

    停止 (割り当て解除) は、仮想マシンが稼働する物理ホスト サーバーから割り当てられているリソースの割り当てを解除する操作であり、起動は物理ホストサーバーからリソースを割り当てる操作です。 再デプロイと異なり、明示的に別の物理ホスト サーバーでデプロイを行うための手段ではありませんが、起動によって仮想マシンがデプロイされる物理ホストサーバーは前回と異なる場合がほとんどになります。 停止 (割り当て解除) では、仮想マシンとしての課金はかかりません。(※ ディスクの課金はかかります。)

    引用元:Azure 仮想マシンにおける操作 (再起動、停止/起動、再デプロイ、再適用) について

    つまりは、仮想マシン側でシャットダウンをしたところで、Azure側で割り当てを解除しなければ課金され続けるということですね。

    幸い、Azure Virtual Desktopには「スケジュールに応じて自動的に割り当てを解除する」仕組みがあります。
    利用時間が決まっている環境であればこの実装だけで費用を抑えられます。

    ただし、スケジュール外のメンテナンスで使っている場合などで、急に割り当てが解除されると困りますよね。
    そういった場合は、仮想マシンへのセッション有無を定期的にAzure側で判断し自動で割り当てを解除する仕組みを導入する必要があります。

    合わせて、ARMテンプレートを利用しない場合ホスト名の規則に融通が利きません。
    この二つの実装は、インターネット上に先駆者の情報がありますので、参考にしてみてください。

    まとめ

    AD・AADのハイブリッド環境かつ物理リソースを持たないVDI という点は非常に魅力的です。
    ただし、細かいカスタマイズが難しいのは否めません。このあたりは「Citrix with AVD」や「Horizon Cloud with AVD」を活用すると、オンプレVDIと同じ感覚で運用ができるかもしれません。

    とはいえ、弊社環境では社員用のFAT PCと同様のカスタマイズが実現できていますし、本番運用環境は一人で構築しています。

    元々Azureに知見がある、マスタ展開の経験がある、VDI構築に携わったことがあるなど、なんらかの条件があれば、抵抗なく構築運用が可能かと思われます。

    PCの持ち出しができない環境がある場合、このDaaSの仕組みは非常に魅力的かと思います。既にM365の該当ライセンスをお持ちの方は、是非活用してみてはいかがでしょうか。

    ※本記事は2022年12月時点の情報です。

    著者:マイナビエンジニアブログ編集部