ハイパーバイザーは、仮想マシンモニターです。物理コンピューターのOS上で動作し、ホストコンピューターのハードウェアリソースをすべて管理するソフトウェアです。
ハイパーバイザーは仮想マシン(VM)を作成できます。これは、単一のオペレーティングシステム(OS)内に存在する物理コンピューターの仮想コピーです。VMは他のVMから隔離して実行できますが、リソースは共有します。
ハイパーバイザーは、組織が同一のVMを複数同時に実行できるため、クラウドコンピューティングのインフラに不可欠です。ハイパーバイザー自体を除けば、VMの実行に追加のハードウェアは必要ないため、設備投資を大幅に削減できます。
ハイパーバイザーの種類
ハイパーバイザーには、ベアメタル型とも呼ばれるタイプ1と、ホスト型とも呼ばれるタイプ2の2種類があります。ここでは、それぞれのメリットとデメリットに加え、推奨される用途や例を紹介します。
タイプ1ハイパーバイザー:ベアメタル型
ネイティブ型またはベアメタル型とも呼ばれるタイプ1ハイパーバイザーは、システムの基盤となるハードウェア上で直接動作します。ハイパーバイザーがハードウェアリソースを管理し、基盤となる別のOSを必要とせずに複数のVMを直接ホストします。
その代わりに、各OSはそれぞれ専用のVMにインストールされて実行され、各VMはハイパーバイザーによって管理されます。各VMは、基盤ハードウェアから抽象化されたvCPU、メモリ、ストレージなどの独自の仮想リソースを持ち、独立して動作します。
メリット
タイプ1ハイパーバイザーはハードウェアに直接アクセスできるため、他のソフトウェアとリソースを奪い合うことなく、優れたパフォーマンスを発揮します。複数のVMを同時に効率よく管理し、サーバーリソースを最大限に活用できます。
ゲストVMごとに独自のOS上で動作するため、高度なセキュリティも実現します。ゲストVMが攻撃を受けた場合も、そのVMを隔離することで、同じハードウェア上の他のVMへの影響を防げます。
さらに、ライブマイグレーションなどの高度な機能により、サービスを中断せずにVMを物理サーバー間で移動できます。
デメリット
タイプ1ハイパーバイザーの最大のデメリットは、複雑さと互換性の問題が生じる可能性です。低いレイヤーで動作するため、効果的な設定や管理には専門知識が必要です。そのため、タイプ2ハイパーバイザーよりも導入・保守のコストが高くなります。
用途
タイプ1ハイパーバイザーは、拡張性、可用性、高いパフォーマンス、セキュリティが重要な企業で広く導入・利用されています。複数の物理サーバーを単一のホストマシンに統合するサーバー仮想化のシナリオで一般的に使われます。また、クラウドコンピューティングプラットフォームでも利用され、ゲスト間の効率的なリソース割り当てと分離を可能にします。
例
タイプ1ハイパーバイザーの例としては、VMwareのハイパーバイザースイートであるESXi、Citrix XenServer、KVM(Kernel-based Virtual Machine)(LinuxおよびESX向け)などがあり、企業環境向けの包括的な仮想化ソリューションを提供しています。
Windowsエコシステムに統合されたMicrosoftのAzure Virtual Desktop Infrastructure(VDI)は、ネイティブなタイプ1仮想化機能を備えた同社のHyper-Vハイパーバイザー上で動作します。また、Oracle VM Serverも別のタイプ1ハイパーバイザーで、Oracleアプリケーションの実行に対応しています。
これらのハイパーバイザーにより、組織はインフラを効率的に管理・仮想化でき、統合、リソースの最適化、VMのシームレスな展開が可能になります。
タイプ2ハイパーバイザー:ホスト型
ホスト型またはネスト型とも呼ばれるタイプ2ハイパーバイザーは、ホストOS上で動作する仮想化技術です。基盤ハードウェアに直接アクセスするタイプ1ハイパーバイザーとは異なり、タイプ2ハイパーバイザーはアプリケーションとしてインストールされ、必要なハードウェアリソースへのアクセスを基盤OSに依存します。
メリット
タイプ2ハイパーバイザーはインストールや利用が簡単です。そのため、ベアメタル型ハイパーバイザーより多くのユーザーが利用しやすく、コストも抑えられます。
また、1台のマシン上で複数のOSを同時に実行できる柔軟性も備えています。VMの状態を取得・復元できるスナップショットなどの機能にも対応します。
デメリット
タイプ2ハイパーバイザーの主な問題は、パフォーマンスのオーバーヘッドです。ハードウェアへのアクセスをホストOSに依存するため、抽象化の層が追加され、タイプ1ハイパーバイザーと比べて遅延が発生し、全体的なパフォーマンスに影響する可能性があります。
さらに、ホストOSへの依存により互換性の問題が生じることもあります。ホストOSの更新や変更が、ハイパーバイザーやVMの機能に影響する可能性があるためです。
用途
タイプ2ハイパーバイザーは、ホームラボなどの個人利用や、小規模な仮想化シナリオで一般的に使われます。物理マシンを個別に用意せず、異なるOS環境でアプリケーションをテストできる開発者に適しています。
また、1台のデバイス上でレガシーソフトウェアや異なるバージョンのOSを実行する場合にも役立ちます。
例
Oracle VirtualBox、Qemu、Parallels、およびVMware Workstation Playerは、タイプ2ハイパーバイザーの有名な例です。Oracle VirtualBoxなどのハイパーバイザーは、幅広いホストOSおよびゲストOSに対応します。
Qemuは、完全なシステムエミュレーションを提供する別のオープンソースハイパーバイザーです。ParallelsはMacシステム向けに設計された商用ハイパーバイザーで、macOSとVMをシームレスに統合できます。
VMware Workstation Playerはデスクトップ仮想化で人気の選択肢で、使いやすいインターフェースと強力な仮想マシン管理機能を提供します。
ハイパーバイザーのメリット
ハイパーバイザーは、速度や柔軟性から効率性や可搬性まで、従来のデスクトップマシンにはない多くのメリットをもたらします。
- 速度:ハイパーバイザーの速度は、プロセッサーからストレージシステムまで、基盤となるハードウェアによって決まります。ハイパーバイザーはさまざまな種類のワークロードや用途に合わせて最適化できるため、同じハードウェア上でもパフォーマンスが異なる場合があります。
- 柔軟性:ハイパーバイザーを使えば、VMを再起動せずに複数のVM間でリソースの割り当て方法を変更できます。ハードウェアの制約に縛られず、特定のニーズに合わせた柔軟な環境を構築できます。
- 効率性:VMのリソースを複数のVMで共有すると、それぞれが専用のホストマシン上で動作する場合よりも、消費するRAMを抑えられます。
- 可搬性:ハイパーバイザーを使えば、新しいOSをインストールしたり、VMを完全に再起動したりせずに、VMを異なる物理サーバー間で移動できます。
ハイパーバイザーの仕組み
ハイパーバイザーは、物理コンピューターのハードウェアとソフトウェアを分離することで、VMの展開と制御を可能にします。これにより、ホストOS上で動作する仮想環境(または複数の仮想環境)を作成し、必要に応じてシステムのリソースを各VMに分割・割り当てられます。
一部のOSは、マザーボードの基本入出力システム(BIOS)と同じレベルでファームウェアに統合することで、ベアメタル型ハイパーバイザーにアクセスして利用することもできます。
ハイパーバイザーの安全性は?
タイプ1とタイプ2のハイパーバイザーは、いずれも安全な仮想化環境の提供を目指しています。ただし、VMとハードウェア自体をより強力に分離できるため、最終的にはタイプ1ハイパーバイザーに分があります。とはいえ、脆弱性やリスクを完全に免れるシステムはありません。
種類を問わず、ハイパーバイザーのセキュリティに関する重要なポイントには、分離、攻撃対象領域、権限昇格、共有コンポーネントがあります。
分離
ハイパーバイザーは、VM間の強力な分離を実現しようとします。ハードウェア支援仮想化やメモリ管理の技術を利用し、VM間の不正アクセスや干渉を防ぎます。分離によって、侵害されたVMが他のVMに影響を与えるリスクを最小限に抑えられます。
攻撃対象領域
ハイパーバイザーは低いレイヤーで動作し、ハードウェアと直接やり取りするため、通常は攻撃対象領域が小さく、厳格に管理されています。攻撃対象領域が限られることで、悪用される可能性が低くなります。
脆弱性
ただし、ハイパーバイザーも他のソフトウェアと同様に脆弱性を抱える可能性があります。実装上のエラー、設計上の欠陥、ハードウェアの問題などが原因となり得ます。最新のセキュリティパッチを適用してハイパーバイザーを最新の状態に保ち、安全な設定のベストプラクティスに従うことが重要です。
権限昇格
ハイパーバイザーはVMを管理・制御するために、秘密のコードに依存します。攻撃者がハイパーバイザー内で権限を昇格できる脆弱性やエクスプロイトが存在すると、深刻な結果につながる可能性があります。ハイパーバイザーのベンダーは、こうしたリスクを軽減するため、厳格なセキュリティ対策を講じ、定期的なセキュリティ監査を実施しています。
ハイパーバイザーを標的とした攻撃
VMエスケープやゲストからホストへの攻撃など、ハイパーバイザーを標的とした攻撃はまれですが、成功すれば大きな影響を及ぼします。こうした攻撃では、ハイパーバイザーの脆弱性を突いてVMから脱出し、ホストシステムへの不正アクセスを取得します。ハイパーバイザーのベンダーは、このような攻撃から保護するため、VMのセキュリティ強化と脆弱性の軽減に多大な努力を払っています。
設定と管理
ハイパーバイザーの安全な設定と適切な管理は極めて重要です。これには、セキュアブート、安全な管理インターフェースの有効化、強力なアクセス制御の適用、ハイパーバイザーの設定や活動の定期的な監視・監査などが含まれます。
共有コンポーネント
ハイパーバイザーは、デバイスドライバーや管理インターフェースなどの共有コンポーネントを利用することが多く、追加の攻撃経路が生じる可能性があります。セキュリティリスクを最小限に抑えるには、こうした共有コンポーネントを定期的に更新し、安全性を確保することが不可欠です。
ハイパーバイザーとコンテナの違い
ハイパーバイザーとコンテナはいずれもアプリケーションの速度と効率を高めますが、その方法は異なります。
ハイパーバイザー
- VMを使うことで、OSは基盤ハードウェアから独立して機能できます。
- 1台のサーバー上に異なるOSをインストールし、互いに分離して保持することも(ホスト型ハイパーバイザー)、同時に動作させることも(ベアメタル型ハイパーバイザー)できます。
- メモリ、ストレージ、計算リソースを共有します。
コンテナ
- どのOS上でも動作でき、必要なのはコンテナエンジンだけです。
- OSに依存しないアプリケーションの動作を可能にします。
- プログラムの実行に必要なものがすべてコンテナ内に含まれるため、可搬性が高くなります。
両者はさまざまな方法で利用されています。ハイパーバイザーはVMを作成・実行します。各VMのOSは安全に分離され、それぞれが完全なOSを備えています。
コンテナはアプリケーションと付随するサービスをまとめますが、完全なOSは含みません。VMを使用しないため、VMより軽量で可搬性に優れ、迅速で柔軟なアプリケーション開発によく使われます。
結論:企業でハイパーバイザーサーバーを導入する
ハイパーバイザーは、サーバーリソースの効率的な活用、VM間の強力な分離、さまざまな用途に対応する高度な機能を実現する強力な仮想化技術です。
タイプ1ハイパーバイザーは強力な分離、セキュリティ、管理機能に優れている一方、タイプ2ハイパーバイザーは、サンドボックスのテスト環境など、迅速かつ低コストで展開する用途に適しています。一方、コンテナは起動時間が短く、拡張性に優れた軽量な仮想化を実現します。
ハイパーバイザーの種類、またハイパーバイザーとコンテナのどちらを選ぶかは、具体的な要件や優先事項によって決まります。しかし、どちらも現代の仮想化環境やクラウドコンピューティング環境で重要な役割を果たしています。
ここではおすすめのVMバックアップソフトを紹介します。