【Commentary】VDIの仕組みを図解で解説

Commentary
スポンサーリンク

今回は、解説系シリーズということでVDI(仮想デスクトップ)の仕組みを図解で解説していきたいと思います。
VDIを提供する製品はいくつかありますが、今回はVMware Horizonに焦点を当てて解説していきます。

期待する目標

本記事で期待する目標は以下の通りです。

  • 仮想デスクトップの概要を理解できる
  • VMware Horizonにおける構成例を理解できる
  • VMware Horizonにおけるコンポーネントを理解できる

仮想デスクトップとは

仮想デスクトップとは
仮想デスクトップとは

まず、仮想デスクトップと呼ばれる用語は大きく分けて2つの使われ方をします。
1つ目が、Windowsの機能として提供されている仮想デスクトップ。
Windows10以降で採用されている機能で、タスクビューと組み合わせて使用されてる機能の一つになる。
macOSであれば、三本指で右・左にスワイプすることで切り替わるデスクトップのことを指します。

2つ目が、インフラストラクチャとしての仮想デスクトップです。
ごく一部の業界だとVDIと呼ばれ、Windowsの仮想デスクトップと区別するような呼び分けになっています。これは、仮想環境にOSを構築して、そこにリモートアクセスして利用するような環境のことを指します。

VDIのイメージ
VDIのイメージ

図の左側にある部分が社内ネットワークや自宅などの社外ネットワークになります。
図の右側にはデータセンターなどのVDI基盤が設置してある部分になります。
この表はわかりやすく社内とデータセンターを分けてインターネット回線経由で接続しているように見えますが、よくある構成だと社内ネットワークとデータセンターと専用線やVPNで接続しているパターンも見受けられます。
とはいえ、VDIを使用するのに、外部から内部からといったことはあまり関係なく、仮想基盤に構築されたWindowsに外部からリモートアクセスして操作するようなイメージをしていただければ理解としては合っています。

VDIのメリット・デメリット

VDIのメリット
VDIのメリット

企業がVDIを採用する大きなメリットとしては、主に2つあるかなと考えています。
1つ目は、一か所に情報を集約することができるという点です。
従来の構成だと「社内に部署ごとにファイルサーバを構築して部署ごとに運用する。」といったものがあり、部署ごとにアクセス権の管理がまばらになったり、部署ごとに運用ルールが異なるため、標準化した運用を行いにくいといった部分がありました。
VDIを構築することで、全員が同じ仕様のOSを使用することになるため、管理者不明なファイルサーバの乱立を防ぐことができます。
また、VDIの構築時に同時にファイルサーバの構築を行えば、VDIと部署ごとのファイルサーバの両方が一変に標準化させることができます。

2つ目のメリットは、端末に依存しないセキュアなアクセスが実現可能になるということです。
従来の端末(FAT PCなどと呼ばれる)だと、セキュリティの観点から、社内ネットワークからじゃないとファイルサーバにアクセスできないなどの制約がありました。また、社内環境に外部からアクセスするため、VPNを構築して外部からアクセスできるようにした。というのはコロナ禍で多くの企業が経験したのではないでしょうか?
VDIでは、画面転送のみを端末で送受信できれば環境にアクセスできるため、セキュリティ的にも安全で、iOSやAndroidアプリなどもリリースされていることが多いため、端末の種別を問わずに仕事をすることができます。
この恩恵は在宅勤務や営業の外回りによる端末の持ち出しなどにも有効です。

VDIのデメリット
VDIのデメリット

逆にVDIによるデメリットも存在します。
初めに、VDIを構築するには仮想環境などの整備が必要なため、従来の端末だけでなくVDIの構築・維持管理するための工数が発生します。
また、場合によってはですが、従来の端末(VDIへアクセスする端末)の管理も必要になってくるため、端末とVDIの両方の管理が必要になったりします。
VDIである程度セキュアな環境が整っているため、BYODを許可するといったかじ取りと組み合わせて管理する対象を絞ることでコストは抑えられる部分もありますが、全員がBYODできるほどノートPCの所有率は高くないため、結局のところ物理の端末とVDIの2種類の管理が発生します。

最後は、VDIの運用スキルがVDIの質に直結するという点が挙げられます。
VDIはその性質上、VDIの基盤にアクセスが集中します。ということは、VDIの管理が甘く、障害が発生するとユーザの業務が停止します。
そのため、VDIを運用するノウハウや運用体制がしっかりと組まれていないと、「VDIはあるけど、接続できないことが多いから結局物理端末を使おう。」という流れになり、VDIを導入した意味がなくなってしまいます。

VDIの構成例と役割(VMware Horizon)

簡単ではありますが、VDIの概念やメリット・デメリットを列挙しました。
この章では、VDIを構成するのに何が必要か?を解説していきます。
なお、VDIに必要な要素については、各製品によって異なります。今回はVMware社のHorizonを例に構成と各コンポーネントの役割を解説していきます。

VDIの構成例
VDIの構成例

VDIを構成する要素として、標準的な構成では以下のコンポーネントが必要となります。

  • VMWare ESXi : 仮想基盤を構成するハイパーバイザー
  • vCenter Server : ESXiを取りまとめ、仮想マシンの管理を行うサーバ
  • Connection Server : VDIを管理するためのサーバ (通常は冗長構成を組む)
  • Unified Access Gateway : VDIへアクセスするための入り口となるリバースプロキシ(冗長構成を推奨)
  • DB Server : Connection Serverのアクセスログなどを貯めておくためのDB Server (SQL Serverが推奨)
  • File Server : 移動ユーザプロファイルやフォルダリダイレクトを行うためのファイルサーバ
  • DHCP Server : VDIが作成された際にIPを割り振るためのサーバ(DHCPは冗長構成を推奨)
  • Active Directory : VDIへアクセスさせるための認証サーバとして使用(通常は冗長構成)
  • VDI : ユーザが使用するVDIの仮想マシン

この構成については、標準的なVDIを構成するための構成の一つになります。
必ずこの構成にしないといけないわけではありませんが、ESXi・vCenter Server・Connection Server・DHCP Server・Active Directory・ファイルサーバは必要になってくると思います。

あとは、VDIを使用するにあたりSPoFをどの程度減らすか?アップデート時のダウンタイムや障害時のダウンタイムをどの程度減らすか?によって構成の冗長化を行っていきます。
そのかなでもUAGやConnection Serverについては、コンポーネントの障害がVDIへの接続不可に直結するため、冗長化はしておきたい感じはあります。
あとは、コンポーネントのアップデートはローリングでアップデートを行うため、この2つのコンポーネントは冗長化しておきたいです。

仮想環境の管理

仮想環境の管理
仮想環境の管理

仮想環境を管理する役割としては、VMware ESXiとvCetenr Serverがあります。
ESXiについては、物理サーバに直接インストールして構成します。
そのESXiを取りまとめ、集中管理するコンポーネントがvCenter Serverです。
vCenter Serverは仮想マシンを作成する命令をESXiに振るため、VDIを構成する際にはほぼ必須のコンポーネントと言ってよいでしょう。

接続の管理

接続の管理
接続の管理

接続を管理するコンポーネントは、UAGとConnection Serverです。
UAGが接続を受け付ける入り口となり、入ってきたVDIのアクセス要求に応じて、Connection ServerがVDIの割り当てを行い、利用することが可能になります。
DBサーバについては、Conneciton Serverのイベントを記録するため、構成要素に入れていますが、ログの保持などを行わないのであれば、Connection Server内にログを吐き出すことも可能なため、必須ではないです。

VDIの管理

VDIの管理
VDIの管理

VMware HorizonではVDIの管理をConnection ServerとvCenter Serverが行っています。
Connection ServerはVDIのセッションを受け付け、VDIの割り当てを行いますが、同時にVDIの生成管理なども行っています。実際にConnection Serverが仮想マシンを生成するのではなく、Connection ServerがどのVDIのマスタVMからどのくらいの量の仮想マシンを生成するかをvCenter Serverに命令し、vCenter Serverが仮想マシンの生成を行います。

OSの管理

OSの管理
OSの管理

VDIにおけるOSの管理は、通常の端末管理と同様のコンポーネントで行います。
VDIにおける必須なコンポーネントは、Active DirectoryとDHCPサーバとなります。
vCenter Serverから生成された仮想マシンはDHCPがないとアドレスが割り振られないので、必須のコンポーネントになります。
また、Active DirectoryがないとVDIがドメインに参加したり、ユーザ認証ができないため、Active Directoryも必須のコンポーネントとなります。
VMware Horizonはインスタントクローンという仕組みを採用している場合、ユーザがログアウトしたら仮想マシンごと削除されるため、ユーザデータの保存用にファイルサーバが必要となります。

VDIの種類(VMware Horizon)

VDIの種類(VMware Horizon)
VDIの種類(VMware Horizon)

VMware Horizonでは、2種類のVDIが存在します。
1つ目は、インスタントクローンと呼ばれる使い捨ての仮想マシンを使用してVDIを構成する仕組みです。
インスタントクローンは、ゴールデンイメージと呼ばれるの仮想マシンの元を作成し、そこからメモリやディスクをRead Onlyで参照させることにより、超高速に大量にVDIを展開することができます。
デメリットとしては、インスタントクローンはユーザがログアウトした後に仮想マシンが削除されるため、ユーザデータの管理が通常の仮想マシンと異なる挙動になる点です。
ただし、使用した環境がログアウト毎に消えるため、常にフレッシュで安全な環境が提供されます。

2つ目は、フルクローンと呼ばれる通常の仮想マシンを生成して、そこにユーザをアクセスさせる方式になります。
フルクローンは、通常の仮想マシンと同様に生成されます。インスタントクローンとは異なり、ゴールデンイメージをベースに新しい仮想マシンを生成するため、生成された後のVDIは一生消えません。
そのため、ユーザが必要なアプリケーションをインストールしてログアウトしてもインストールしたアプリは消えずに残ります。

この2つの展開方式は、それぞれメリット・デメリットが存在するため、展開方式については吟味が必要になります。

インスタントクローンの挙動

インスタントクローンの挙動
インスタントクローンの挙動

前項でも少し解説しましたが、インスタントクローンは、ゴールデンイメージの仮想マシンを起動状態にしておき、その仮想マシンのメモリやディスクを参照させることで、クリーンで仮想環境の使用効率を向上させることが可能になります。

VDIの接続フロー

VDIの接続フロー
VDIの接続フロー

最後にVDIの接続フローを簡単に解説して終わろうと思います。
まず、VDIに接続したい端末から、Horizon ClientやWebブラウザ、iOSアプリ、Androidアプリを使用して、Unified Access GatewayのIP・FQDNに接続しに行きます。
接続のリクエストを受け取ったUAGは、受け取った情報をConnection Serverに引き継ぎます。
引き継いだConnection Serverは、Active Directoryにユーザ名とパスワードの照会をかけ、使用権をもったユーザであった場合、Connection Serverがユーザが利用するVDIの仮想マシンを割り当て、Windowsにログインします。
Windowsにログイン後は、リモートデスクトップのように、画面のみをHorizon Clientに転送します。
ここでポイントですが、ログイン時はUAG→Connection Server→VDIの順序で接続していましたが、画面転送の場合は、Connection Serverに戻らず、UAGを経由して画面転送を戻します。
そのため、行きと帰りの通信経路が異なるという点が挙げられます。

まとめ

今回は、VDIの仕組みを図解で簡単に解説しました。
VDIとは何ぞやといったところから、VMware Horizonで必要になるコンポーネント、VMware Horizon でしようされるVDIの方式についても触れさせていただきました。
「VDIとは?」で検索すると、Virtual BOXなどの仮想化製品が出てくるようなキュレーションサイトが出てきて、本当にそれはVDIを構成できるのか?といった疑問もありますが、VDIを知りたい方は、是非、VMWareなどのホワイトペーパをご覧ください。(VMwareの回し者ではありません。)

おまけ

本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。

コメント

タイトルとURLをコピーしました