ハイパーバイザーは、1台のホストコンピューターで複数のゲスト仮想マシンを実行し、プロセッサスレッド、メモリ、ネットワークスループットなどのリソースを共有できるようにする仮想化ツールです。簡単に言うと、ハイパーバイザーはホストコンピューターのハードウェアを抽象化し、複数のオペレーティングシステムを1台のコンピューター上で同時に効率的に実行できるようにします。
ハイパーバイザーの一般的な例としては、VMware Workstation/VMware ESXi、Windows Virtual PC/Microsoft Hyper-V、XenおよびKVMなどがあります。これらのツールはすべて、複数のゲスト仮想マシンを1つのハードウェア上で実行できるようにするという目的を果たします。ゲストはすべて同じオペレーティングシステムを実行している場合もあれば、異なるオペレーティングシステムを実行している場合もあります。
ハイパーバイザーは、コンピューターのソフトウェアをハードウェアから抽象化するレイヤーとして機能します。これにより、各仮想マシンのオペレーティングシステムは専用のハードウェアで実行されているかのように動作し、そのオペレーティングシステムからホストマシンに要求を渡すことができます。
ハイパーバイザーには、ホストデバイスのファームウェアに組み込まれているものもあれば、ホストコンピューターのオペレーティングシステム上で実行されるものもあります。ハイパーバイザーは、仮想マシンと基盤となるハードウェア間の通信を管理する役割を果たします。
たとえば、Mac OS Xを実行しているソフトウェア開発者が、アプリケーションをWindowsとLinuxでテストする必要があると仮定しましょう。Type 2(ホスト型)ハイパーバイザーを使用すると、MacでLinuxおよびWindows 11の仮想マシンを実行できます。Macが十分にパワフルであれば、これらの仮想マシンを両方同時に実行したうえで、メインの開発環境との間をタブで切り替えることができます。ハイパーバイザーは、プロセッサースレッドとメモリの割り当てを管理し、ホストのオペレーティングシステムのファイルシステム上にファイルとして存在する仮想ドライブを作成します。
ハイパーバイザーは、ベアメタルハイパーバイザーおよびホスト型ハイパーバイザーという2つの主要カテゴリに分類できます。
ベアメタルハイパーバイザー
名前が示すように、ベアメタルハイパーバイザーはホストコンピューター上で直接実行されます。Type 1ハイパーバイザーとも呼ばれます。必要なすべてのOSコンポーネントとハイパーバイザーが含まれた、最も展開されているオプションです。ベアメタルハイパーバイザーには、ホストオペレーティングシステムはありません。ハイパーバイザーは、各ゲストVMのリソースへのアクセス要求を変換して、ホストハードウェアへのより直接的なアクセスを提供します。
ベアメタルハイパーバイザーは攻撃対象領域が小さいため、セキュリティ上の利点があります。さらに、ハイパーバイザー自体を実行するオーバーヘッドがオペレーティングシステムを実行するオーバーヘッドよりも低いため、パフォーマンス上の利点もあります。このため、Type 1ハイパーバイザーは、高いパフォーマンスとホスト上でできるだけ多くのVMを実行できることが優先されるデータセンターやエンタープライズホスティングでよく選択されています。MicrosoftのHyper-V技術はベアメタルハイパーバイザーの一例であり、IBMによる仮想化分野への初期の参入などの、従来のソフトウェアベースのハイバーバイザー(Type 2)よりも大幅に向上したパフォーマンスが提供されます。
ホスト型ハイパーバイザー
ホスト型ハイパーバイザー(Type 2ハイパーバイザー)は、ホストコンピューターのオペレーティングシステム上で実行されるハイパーバイザーです。ベアメタルハイパーバイザーよりもレイテンシが大きいため、データセンター環境ではあまり使用されていません。ですが、さまざまな環境でアプリケーションを実行する必要があるソフトウェア開発者、テスター、セキュリティ研究者には有用です。
ホスト型ハイパーバイザーは、事前構成済みの環境を複数のマシンに展開する手段として使用されることがあります。開発者は自身のコンピューターを希望どおりに設定し、予測可能な設定を備えた仮想マシンで開発作業をテストできます。
ハイパーバイザーは、次の場合に適しています。
ハイパーバイザーと仮想マシン全体の実行が最適な解決策ではない場合もあります。仮想マシンはそれぞれ独自のオペレーティングシステムを実行するため、非常に多くのリソースを消費します。開発者やシステム管理者がより軽量なサンドボックス環境を迅速に導入しなければならない中で、コンテナはますます一般的になってきました。
以下の状況ではコンテナの利用を検討してください。
ハイパーバイザーは一般的に非常に安全です。ただし、システム管理者が注意すべき問題がいくつかあります。たとえば、2018年に発見された「Spectre」および「Meltdown」攻撃は、基盤となるハードウェアの脆弱性を標的としたものです。これらの脆弱性は今日でも存在するため、BIOSおよびハイパーバイザーソフトウェアのパッチを最新の状態に保つことが重要です。
もう1つの重要な考慮事項は、ハイパーバイザーの管理方法です。ハイパーバイザーホストと管理ソフトウェアへのアクセスは制限しましょう。ログ記録を有効にすると、ハイパーバイザーホストにアクセスしているユーザーと、そのユーザーが行った変更を確認できます。ゲストVMが侵害された場合、損害は標的となったマシンとそこで実行中のサービスにとどまりますが、ハイパーバイザーホストが侵害された場合、攻撃者はそのハイパーバイザーで実行されているすべてへの特権アクセスを取得できる可能性があります。
ゲストマシンを保護する方法の1つは、ゲストマシンを暗号化することです。これにより、外部の攻撃者がハイパーバイザーホストにアクセスできた場合でも閲覧できる情報が制限され、攻撃を徒労に終わらせることができます。さらに、内部の脅威からも保護できます。仮想ドライブが暗号化されていないと、悪意のあるシステム管理者が仮想ドライブのコピーを作成して、片手間に読み取る可能性があります。ドライブを暗号化することで、ドライブが静止状態のときには読み取れないようになります。暗号化された仮想マシンのバックアップを作成することは可能ですが、バックアップが読み取れるのは、適切なゲストOSにマウントされている場合のみです。
ハイパーバイザーには、さまざまなユースケースに適したさまざまな種類があります。ハイパーバイザーを選択する際には、以下の点を考慮してください。
ほとんどの場合、テストのためだけに仮想マシンにアクセスする必要がある小規模な組織は、Type 2ハイパーバイザーから始めるのが良いでしょう。ミッションクリティカルなインフラストラクチャを最大限に活用しようとしている、あるいは高性能のVMを必要としている大企業には、Type 1ハイパーバイザーの検討をお勧めします。
ハイパーバイザーのタイプを絞り込んだら、次は、どのハイパーバイザーのベンダーと連携するかを考えます。この選択を導くのは、次のような考慮事項でしょう。
Type 2ハイパーバイザーは非常に柔軟で強力な管理システムを備えていることが多く、ITリソースが限られているチームでも使いやすくなっています。Type 1のハイパーバイザーでは、より多くの専門知識が必要になる場合があります。仮想マシンを設定するときは、次の点を考慮してください。
Veeamがバックアップおよび災害復旧計画の管理にどのように役立つかについて、詳しくは、Veeam Backup & Replicationを参照してください。この柔軟でパワフルなソフトウェアスイートを利用することで、仮想マシンのバックアップとリストアを数分内に完了し、停止が発生した後にも可能な限り迅速に再稼働することができます。