摘要:nbsp;开发者可以使用这个功能来运行移动应用模拟器、模拟汽车硬件,并在Windows工作站上使用Windows Subsystem for Linux(WSL)。nbsp;嵌套虚拟化的架构有三层:物理AWS基础设施和Nitro虚拟机监视器(L0)、运行自己虚拟机监视器的EC2实例(L1)以及在该实例内部运行的虚拟机(L2)。nbsp;过去,运行EC2上的嵌套虚拟化的唯一选择是使用裸机实例,即没有虚拟机监视器的物理服务器。
AWS最近宣布支持在运行KVM或Hyper-V的虚拟化EC2实例中嵌套虚拟机"。这是社区期待已久的功能,新选项使得可以在支持的C8i、M8i和R8i实例上进行应用仿真和硬件仿真等用例。
开发者可以使用这个功能来运行移动应用模拟器、模拟汽车硬件,并在Windows工作站上使用Windows Subsystem for Linux(WSL)。根据文档",Nitro系统将处理器特性(如Intel VT-x)暴露给实例,允许它在内部运行虚拟机。
嵌套虚拟化的架构有三层:物理AWS基础设施和Nitro虚拟机监视器(L0)、运行自己虚拟机监视器的EC2实例(L1)以及在该实例内部运行的虚拟机(L2)。新功能支持在C8i、M8i和R8i实例上使用KVM和Hyper-V。AWS的工程总监Ioannis Aslanidis写道":
这种能力使开发者和企业能够构建灵活的、嵌套的环境,使用广泛的标准虚拟EC2实例类型。
该功能一直是社区的长期需求,2018"年有开发者在Reddit上写道:
在Azure中,我可以在我的虚拟机中运行KVM,这是一种称为嵌套虚拟化的技术。亚马逊在允许在EC2中使用HyperV/VMware/KVM方面有任何进展吗?
大多数关于新功能的评论都表达了同样的观点:Meta的生产工程师Rolf Neugebauer写道,“你们怎么花了这么长时间?”而Igor Sfiligoi补充道:“直到现在,这真的是不可能的?”在一个热门的Hacker News"帖子中,谷歌的软件工程师Michael Boulos写道:
我感觉得到了证实:几年前,我们为让嵌套虚拟化在GCE上运行良好投入了大量的精力,我很高兴听到AWS也在跟进。你可以告诉人们去做别的事情,可能有一个单独的自然解决方案,等等,但有时你愿意牺牲一些峰值性能,只是为了拥有操作和控制的一致性。
Render的创始人兼首席执行官Anurag Goel"补充道:
这是一个大事件,因为现在你可以在AWS VM中运行Firecracker/其他微虚拟机,而不是昂贵的AWS裸机实例。
AWS的高级解决方案架构师Guillermo Ruiz测试了在实例内运行Firecracker"微虚拟机,并对未来的基准测试做出了承诺。Ruiz写道:
对于任何寻求隔离、Lambda风格的运行时,或者只是从性能和密度的角度比较微虚拟机与容器的人来说,这是一个有趣的角度。
过去,运行EC2上的嵌套虚拟化的唯一选择是使用裸机实例,即没有虚拟机监视器的物理服务器。许多开发者转而使用EC2 Mac实例,这是最小且最便宜的裸机选项,作为一种变通方法。现在启用嵌套虚拟化是一个在启动时设置的API选项,例如:
aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r8i.4xlarge \ --cpu-options "NestedVirtualization=enabled" \ --key-name my-key-pair \ --placement "Tenancy=host"
AWS仍然建议,运行需要硬件虚拟化的工作负载、对性能敏感或需要低延迟的客户应该继续使用裸机实例,而不是嵌套虚拟化。
嵌套虚拟化在所有区域的C8i、M8i和R8i实例类型上都可用;Graviton实例目前尚不支持。KVM和Hyper-V是唯一受支持的L1虚拟机监视器。
原文链接:
https://www.infoq.com/news/2026/03/aws-ec2-nested-virtualization/"
暂无回复,快来抢沙发吧!
AWS最近宣布支持在运行KVM或Hyper-V的虚拟化EC2实例中嵌套虚拟机"。这是社区期待已久的功能,新选项使得可以在支持的C8i、M8i和R8i实例上进行应用仿真和硬件仿真等用例。
开发者可以使用这个功能来运行移动应用模拟器、模拟汽车硬件,并在Windows工作站上使用Windows Subsystem for Linux(WSL)。根据文档",Nitro系统将处理器特性(如Intel VT-x)暴露给实例,允许它在内部运行虚拟机。
嵌套虚拟化的架构有三层:物理AWS基础设施和Nitro虚拟机监视器(L0)、运行自己虚拟机监视器的EC2实例(L1)以及在该实例内部运行的虚拟机(L2)。新功能支持在C8i、M8i和R8i实例上使用KVM和Hyper-V。AWS的工程总监Ioannis Aslanidis写道":
该功能一直是社区的长期需求,2018"年有开发者在Reddit上写道:
大多数关于新功能的评论都表达了同样的观点:Meta的生产工程师Rolf Neugebauer写道,“你们怎么花了这么长时间?”而Igor Sfiligoi补充道:“直到现在,这真的是不可能的?”在一个热门的Hacker News"帖子中,谷歌的软件工程师Michael Boulos写道:
Render的创始人兼首席执行官Anurag Goel"补充道:
AWS的高级解决方案架构师Guillermo Ruiz测试了在实例内运行Firecracker"微虚拟机,并对未来的基准测试做出了承诺。Ruiz写道:
过去,运行EC2上的嵌套虚拟化的唯一选择是使用裸机实例,即没有虚拟机监视器的物理服务器。许多开发者转而使用EC2 Mac实例,这是最小且最便宜的裸机选项,作为一种变通方法。现在启用嵌套虚拟化是一个在启动时设置的API选项,例如:
aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r8i.4xlarge \ --cpu-options "NestedVirtualization=enabled" \ --key-name my-key-pair \ --placement "Tenancy=host"AWS仍然建议,运行需要硬件虚拟化的工作负载、对性能敏感或需要低延迟的客户应该继续使用裸机实例,而不是嵌套虚拟化。
嵌套虚拟化在所有区域的C8i、M8i和R8i实例类型上都可用;Graviton实例目前尚不支持。KVM和Hyper-V是唯一受支持的L1虚拟机监视器。
原文链接:
https://www.infoq.com/news/2026/03/aws-ec2-nested-virtualization/"