【はいぱーばいざー】

ハイパーバイザー とは?

💡 仮想マシンを管理する「縁の下の司令塔」、物理リソースをVMに割り当てる
📌 このページのポイント
Type 1(ベアメタル型) ハードウェア ハイパーバイザー VM 1 Guest OS アプリ VM 2 Guest OS アプリ 直接ハードウェアを制御(高性能) Type 2(ホスト型) ハードウェア ホスト OS ハイパーバイザー VM 1 Guest OS VM 2 Guest OS OS経由のため若干オーバーヘッドあり
Type1はハード直上、Type2はOS上で動作する
ひよこ ひよこ

ハイパーバイザーって何?

ペンギン先生 ペンギン先生

仮想マシンを管理するソフトウェア。物理サーバのCPU・メモリ・ストレージを各仮想マシンに割り当てて、複数のOSが同時に動けるようにする「調整役」だよ。

ひよこ ひよこ

タイプ1とタイプ2って何が違うの?

ペンギン先生 ペンギン先生

タイプ1(ベアメタル型)はOSなしで物理ハードウェア上に直接インストールする。VMware ESXiやHyper-Vがこれ。パフォーマンスが高くサーバ仮想化に使う。タイプ2(ホスト型)はWindowsやmacOS上のアプリとして動く。VirtualBoxVMware Workstationがこれで、開発者が手元で使いやすい。

ひよこ ひよこ

AWSのEC2はどっち?

ペンギン先生 ペンギン先生

AWSはXenとAWS独自開発のNitroハイパーバイザー(タイプ1)を使っている。Nitroはセキュリティと性能を最大化するため専用ハードウェア(Nitroカード)と組み合わせた独自設計。他のクラウドも同様にタイプ1のカスタムハイパーバイザーを使っている。

ひよこ ひよこ

コンテナDocker)もハイパーバイザーを使ってるの?

ペンギン先生 ペンギン先生

使っていないよ。コンテナはOSのカーネルを共有してプロセスを隔離する技術。ハイパーバイザーは各仮想マシンに別々のOSカーネルを持たせる。だからコンテナの方が軽量で起動が速いんだ。ただしセキュリティの隔離レベルはハイパーバイザーの方が強い。

ひよこ ひよこ

Kata ContainersやFirecrackerって何?

ペンギン先生 ペンギン先生

コンテナVMのいいとこ取りをした技術だよ。Firecracker(AWS Lambda/Fargateで使用)は超軽量なmicroVMを125ミリ秒で起動できる。コンテナのような速さとVMのようなセキュリティ隔離を両立しているんだ。マルチテナント環境(複数のお客さんが同じインフラを共有する環境)ではこの技術が重要になってきているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ハイパーバイザーって出てきたら「仮想マシンを管理するソフト、タイプ1(ベアメタル)とタイプ2(ホストOS上)がある」と思えばOK!
📖 おまけ:英語の意味
「Hypervisor」 = 上位の監視者・管理者
💬 「Supervisor(管理者)」よりさらに上位(Hyper)で管理するというニュアンス。1960年代のIBM CP/CMS(後のVM/370)が起源で、VMM(Virtual Machine Monitor)とも呼ばれる
← 用語集にもどる