Azure Managed Service Column <Azure運用コラム>

Azure Compute Gallery (共有イメージギャラリー) で Azure Virtual Desktop のマスターイメージを管理する

Category: 実践編

2022.01.18

はじめに

過去のコラムにて、Azure Virtual Desktop (以降、AVD) を構築する手順を紹介しました。

今回は、構築したあとの話について書くこととします。実際、お客様から頂く相談として多いのが、「導入したあとはどうやって運用したらよいのか?」というものです

運用といっても「障害対応」「キャパシティ管理」など、やるべきことは様々ですが、本コラムでは AVD を運用する中で最も悩ましい「更新作業」について取り上げます。

AVD の更新作業とは?

AVD の更新作業、より正しくはユーザが利用する端末に相当する仮想マシンの更新作業ですが、どのようなものが考えられるでしょうか。大きくは以下の3つが考えられます。

  • OS の設定変更
  • Windows Update
  • アプリの追加・削除・更新

これらをどのように行うのか考える前に、AVD のアーキテクチャについて理解する必要があります。AVD として利用できるデスクトップ環境の実体は「ホストプール」と呼ばれる、仮想マシン (= セッションホスト) の集合体です。セッションホスト達は1つのイメージから作成されています。つまり、1つのイメージから1つのホストプールを作成という対応関係にあり、必然的にホストプール内のセッションホストは全て同じ内容 (スペック、OS 設定、インストール済アプリ等) になっています。

2022/1 現在、セッションホストの更新手法として以下が考えられます。(あくまで代表的なものですので、これ以外の方法がないわけではありません。)

  • 「マスターイメージ」を用意し、常にマスターイメージからホストプールを作成することで管理する。
  • MSXI アプリのアタッチ」を利用して、OS とアプリを分離し、別々に管理する
  • Microsoft Endpoint Manager」を利用してセッションホストを直接、管理する。

マスターイメージを使った方法は、「更新は常に元となるイメージに対して行い、このイメージからホストプールを作成する」というサイクルを回すことで仮想マシンを管理します。AVD は「1つのイメージを元にして1つのホストプールが作成される」というアーキテクチャですので、もっとも自然なやり方だと思います。

MSXI アプリのアタッチを使った方法は、イメージの中にはアプリを含めず、アプリを個別にパッケージ化して別管理とします。ホストプールの作成後にアプリを追加することができ、業務で利用するアプリが多いユーザに向いています。しかし、OS 設定変更や Windows Update の際にはイメージを更新する必要があること、及び、この機能自体がまだ新しいもので設定が面倒な上に幾つかの機能制限があることから、まだ使いづらい印象です。今後、期待できる機能です。

Microsoft Endpoint Manager を使った方法は、オンプレミス環境でも使われていた従来の方法と同じく、仮想マシンに対して直接更新を行うことで管理します。ただし、Microsoft Endpoint Manager を利用するためのライセンスを保持している必要があります。大規模なエンタープライズ環境に向いています。

MSXI アプリのアタッチや Microsoft Endpoint Manager も向いている利用シーンはありますが、本コラムでは最もベーシックな「マスターイメージによる管理」の方法を紹介することにします。Azure Compute Gallery というサービスを使うことでマスターイメージを管理することができます。

Azure Compute Gallery でホストプールを管理する

Azure Compute Gallery というのは簡単に言うとリポジトリサービスです。このサービスに含まれる「共有イメージギャラリー」という機能を使います。「ギャラリー」と呼ばれるリポジトリのなかには、「イメージ定義」と呼ばれるイメージのグループを作成することができます。イメージ定義は対象の OS やイメージに関する情報などが保持されており、更新されたイメージにバージョンをつけてグループ管理することができます。

以降の手順では、まず Azure VM から最初のマスターイメージを作成します。それを Azure Compute Gallery に格納し、更新管理していくところまでやってみます。

1. Azure VM からイメージを作成する

まず、マスターイメージを作成するために Azure VM を用意します。通常の Azure VM からイメージを作成することがポイントです。既に AVD 環境をお持ちの方は稼働中のセッションホストからイメージを作成したくなりますが、このセッションホストには AVD エージェントがインストールされており、新しくホストプールを作成する際に競合を起こして失敗してしまうからです。

[Virtual Machines] の画面から VM を作成します。ここで指定するイメージは、マスターイメージの更にベースとなるイメージになりますから、AVD で利用するものと同じ Windows10 Enterprise Multi Session にします。

作成先ネットワークは作業用に専用の VNET を用意することをオススメします。セキュリティを考慮して Azure Bastion 経由でのみログインできるよにすると尚良しです。

これからこの VM にログインして作業をしてくわけですが、アプリのインストールなどで失敗したときに元に戻せるよう、ディスクのスナップショットを取っておくことをオススメします。

2. VM をカスタマイズする

Azure Bastion などを利用して Azure VM にログインしたら、自由にカスタマイズを行います。日本語化の設定を行ったり、利用したいアプリを入れたりして、動作検証を行います。作業が終わったら、Windows Update を行って、念の為、再起動もしておきます。最後に、忘れずにスナップショットを取得します。

なお、ホストプールの作成時にはドメインに参加させないといけないため、この時点でドメインに参加している場合は一旦外してください。

3. イメージを取得し、Azure Compute Gallery に格納する

いよいよ、マスターイメージを作成します。このあと、「sysprep」「キャプチャ」という操作を行うのですが、これを行うと基本的に VM は利用できなくなることに注意してください。万が一、作業漏れがあって作業を継続したい場合は、「カスタマイズする」のところで取得したスナップショットから元に戻してください。

まず、「sysprep」という操作を行って、この VM 固有の情報を削除してしまいます。それによって、一般化された VM ができるというわけです。[ファイル名を指定して実行] から “sysprep” と打って、管理者権限で実行します。スクリーンショットのとおり [一般化する] にチェックを入れて実行します。

sysprep が完了したら、Azure ポータルに移動します。Azure ポータル側でも [停止] をクリックし、VM を完全に停止させます。その後、[キャプチャ] をクリックして、マスターイメージを取得します。[ターゲット Azure コンピュートギャラリー] にてリポジトリとなるギャラリーを新規に作成します。[ターゲット VM イメージ定義] にて、”Windows10Multi” というイメージ定義を作成し、Windows10 Multi Session のマスターイメージをバージョン管理していくことにしましょう。バージョン番号はなんでもいいのですが、”1.0.0″ とします。

4. ホストプールを作成する

ホストプールの作成画面にて、作成したイメージ定義を指定します。その他のパラメータについては過去のコラムを参考にしてください。

ホストプール作成後、AVD にアクセスできることを確認します。

5. マスターイメージを更新する

ここからが運用フェーズのお話です。ホストプールに対して何か更新を加えたくなったら、1 ~ 3 の手順を繰り返してマスターイメージを更新していきます。今回は例として、Chrome を追加してみることにします。

再び、作業用の Azure VM を作成します。このとき、指定するイメージは Azure Compute Gallery に格納した “Windows10Multi” となります。Chrome をインストールして sysprep します。

[キャプチャ] をクリックして、先程作成したイメージ定義に新しいバージョンを登録します。バージョンは “2.0.0” としましょう。

6. ホストプールを更新する

バージョン 2.0.0 のマスターイメージをホストプールに反映させます。ホストプール内のセッションホストを一気に更新するのではなく、新しいイメージから作成したセッションホストを追加する形になります。このため、ユーザはホストプールの更新中でも AVD を利用し続けることができます。

稼働中のホストプールを開き、[追加] からセッションホストを追加します。

追加の場合、幾つかの設定値はグレーアウトしているので改めて入力する必要はありませんが、ドメイン参加情報などは再入力します。一時的に新旧のセッションホストが混在することになるので、[プレフィックス] は “column-200” とバージョンを付加して区別がつくようにします。また、[イメージ] が先程イメージを追加したイメージ定義になっていることを確認します。バージョン番号が含まれていませんが、自動的に最新バージョンが利用されます。

ホストプールに新たなセッションホストが追加されました。このとき、旧セッションホストにて「ドレインモード」をオンにすると接続中のユーザはそのままで新規のユーザ受け入れを拒否することができます。

全ての旧セッションホストをドレインモード オンにして、新セッションホストでのアクセス確認をしてみます。意図通り、追加した Chrome が表示されています。

動作確認ができたら、旧セッションホストはホストプールから削除してしまいましょう。ホストプールから削除しただけでは Azure VM として残ってしまうので、課金されないように [Virtual Machines] の画面からも削除するのを忘れないでください。

このように、運用フェーズでは「5. マスターイメージを更新する」→「6. ホストプールを更新する」のサイクルを回していくことになります。

まとめ

Azure Compute Gallery を利用してマスターイメージを管理し、AVD に Windows Update やアプリ追加をする方法を紹介しました。作業用 VM を毎回用意するのが少し面倒ですが、セッションホストが数十台 ~ 数百台規模になると恩恵を感じられると思います。

本コラムで紹介したのはあくまで「手段」に過ぎません。正しく運用していくには「いつ、誰が、何の更新を、なんの目的で行うか」といったことを事前に取り決めていくことが重要です。それによって、MSXI アプリのアタッチや Microsoft Endpoint Manager の利用が有効な場合もあります。事前にしっかりと運用計画を立て、適切な手段を選ぶようにしましょう。

Azure設計・構築を任せたい

Azure構築サービス

Azure構築サービス

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)
Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • <VDI 導入ガイド> 安全なリモートワークを実現!Azure Virtual Desktop と AWS WorkSpaces の比較表・価格例付き!

    本資料を読むことで、VDIの概要や導入時の注意点、代表的な DaaS である AWS WorkSpaces と Azure Virtual Desktop の違いを押さえることができます。

  • クラウド構築サービスカタログ

    クラウド構築サービスのメニューと料金をご確認いただけます。

Tag: Azure Compute Gallery Azure Virtual Desktop

関連記事

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php