AWSがついにEC2でネステッド仮想化に対応しました。つまり仮想マシンの中でさらに仮想マシンを動かせます。AzureとGCPは2017年から対応していたので約9年遅れです。そこで今回は、EC2ネステッド仮想化の詳細を解説します。
EC2ネステッド仮想化の対応内容
2026年2月12日にAWSが発表しました。具体的にはC8i、M8i、R8iインスタンスで利用可能です。またL1ハイパーバイザーとしてKVMとHyper-Vに対応しています。しかしVMware ESXiは現時点で非対応です。
さらに全商用AWSリージョンで利用できます。つまり追加料金は一切かかりません。したがって、既存のインスタンスタイプで即座に活用可能です。
技術的なアーキテクチャ
3層構造で動作します。L0層はAWSの物理インフラとNitroハイパーバイザーです。L1層はハイパーバイザーを実行するEC2インスタンスです。さらにL2層がその中に作成される仮想マシンです。
特にNitroシステムがIntel VT-xなどのプロセッサ拡張機能をパススルーします。つまりハードウェアレベルの仮想化支援がネストされたVMにも提供されます。したがって、性能劣化を最小限に抑えられるのです。
主要なユースケース
まずモバイルアプリ開発でのエミュレーター実行が挙げられます。Androidエミュレーターには仮想化が必要です。また自動車産業での車載ハードウェアシミュレーションにも使えます。
さらにWindowsワークステーションでのLinux Subsystem実行も可能です。具体的にはWSL2をEC2上で動かせるようになります。つまり開発環境の柔軟性が大幅に向上するのです。
制限事項と注意点
Windows環境ではCredential Guardが自動無効化されます。またインスタンスのハイバネーションには非対応です。さらにCPU数192を超えるインスタンスでは使えません。
しかしこれらは多くのユースケースでは問題になりません。特にセキュリティの責任分界には注意が必要です。つまりネストされたVM内のセキュリティは顧客側の責任です。
競合との比較と今後
AzureとGCPは何年も前から対応済みです。したがってAWSは後発です。しかし待望の機能であることは間違いありません。実際にベアメタルインスタンスを使う必要がなくなりました。
そのため、コスト削減にもつながります。だからこそEC2ユーザーにとって重要なアップデートなのです。このようにネステッド仮想化はAWSの開発体験を大きく改善する機能です。