オンプレミスの仮想マシンで Azure Virtual Desktop を動かしてみる

Blogの世界では随分ご無沙汰してしまいましたが、久しぶりに書くことになりました。テーマは「クラウドVDIのオンプレミス拡張」です。2023年11月に北米で実施したMicrosoft Ignite ではGA時期、価格の情報は出てきませんでしたが、ようやく足音が聞えてきたのでここで簡単に解説しておきます。

  ーーー

さて、私が所属する Microsoftクラウド VDI と言えば Azure Virtual Desktop (AVD)です。コントロールプレーンも、仮想マシンも、ネットワークも、そして認証基盤もクラウドにあって、どこからでも仕事ができる環境を提供します。非常にシンプルなサービスなんですが、私が一番気に入っているのは”リバースコネクト”を基本としたアーキテクチャーです。

簡単にAVDの動作を解説すると、

  1. Azure上の仮想マシンが起動すると、仮想マシン内で動くAVDエージェントがAVDゲートウェイアウトバウンドでアクセスしてセッションを確立
  2. AVDクライアントはインターネットを経由してAVDゲートウェイアウトバウンドでアクセスしセッションを確立
  3. AVDゲートウェイがこの2つのセッションを中継することで、AVDクライアントとAzure仮想マシン間で画面転送を開始

となります。

利用者にとっては常にアウトバウンドで処理が行われるので、VPNなどの受け側の仕組みを用意する必要がありません。これにより「どこからでも」を実現します。

さて、ここから本題。

このアーキテクチャーをうまく利用すると、仮想マシンがAzureになくても動くんです。具体的にはこんな感じ。

  1. 社内にある仮想マシンが起動すると、仮想マシン内で動くAVDエージェントがAVDゲートウェイにアウトバウンドでアクセスしてセッションを確立
  2. AVDクライアントはインターネットを経由してAVDゲートウェイアウトバウンドでアクセスしセッションを確立
  3. AVDゲートウェイがこの2つのセッションを中継することで、AVDクライアントとオンプレミス仮想マシン間で画面転送を開始

綺麗なシナリオでしょ!

 

あとは VDI としての仮想マシンの管理が必要で、AzureはIaaSをそのまま使い、オンプレミスでは Azure Stack HCI を使います。まだプレビュー段階が続いてますが、Azure Stack HCI は Azure ポータルや API を使ってオンプレミスの仮想マシンをコントロールできるようになってきているので、それを使うわけです。

こちらはAVD のホストプール作成ウィザードでして、

仮想マシンの作成場所を選択できる項目が増えていて、Azure Stack HCI を選択することでオンプレミスに AVD 用の仮想マシンを作成できるようになっていることがわかります。AVD ホストプールの作成、オンプレ仮想マシンの作成、ドメイン参加、仮想マシンとAVDホストプールの紐づけなどを全部自動でやってくれるわけですね。

 

利用者がアクセスできるようアプリケーショングループに対してユーザーやグループを追加した後、AVD クライアントから見るとこうなります。

上の”DEMO1" が Azure 上の仮想マシンと Azure 仮想マシン上で動くアプリケーション、下の ”ShinagawaAVD" がオンプレミスで動く仮想マシンとその中で動くアプリケーションです。

アイコンをダブルクリックした際の動作は想像の通り、リモートで動くマシンの画面がローカルPC上に表示されます。もちろん、アプリケーション画面だけの転送も可能。

 

いかがでしたか?

オンプレ仮想化基盤の構築やキャパシティ管理を含め、Azure IaaSならば不要になる作業が発生するのは事実です。ただ、業務データをオンプレミスに留めておきたいという理由からクラウドVDIをあきらめていたエンジニアにとっては大きな可能性を感じる仕組みではないかと思います。

また、VDI という大掛かりなシステムの移行の話だけでなく、VPN不要で社外からオンプレミスにアクセスするための仕組みとして利用することもできるので、興味がある人は是非お試しあれ。