AWS agrega soporte para virtualización anidada
(github.com/aws)- Con la actualización de AWS SDK for Go v2, se agregó la capacidad de ejecutar otra máquina virtual dentro de una máquina virtual
- La nueva función permite ejecutar VM anidadas incluso en instancias EC2 que no son bare metal
- La expansión del soporte de virtualización anidada en AWS EC2 podría convertirse en una base para aumentar el aprovechamiento de las capas de virtualización en entornos de desarrollo y pruebas
1 comentarios
Comentarios de Hacker News
Antes, para hacer esto, se necesitaban instancias bare-metal costosas
Como referencia, GCP ya soportaba nested virtualization desde hace mucho tiempo
Otra ventaja es que también facilita mucho preparar entornos de prueba o desarrollo
Nested virtualization no necesariamente significa solo VM completas
En la región us-west-2 ya se puede ver la opción “Nested Virtualization”, y está disponible en los tipos de instancia M8id / C8id / R8id
Para soluciones de sandbox con micro-VM como E2B, en la que participo, esto sí es una gran noticia
Cuando probé nested virtualization antes, sentí que fuera de un nivel de PoC no servía de mucho
Hay muchas soluciones de contenedores basadas en VM, como Kata Containers, gVisor y Firecracker
Por ejemplo, se puede aislar un pod de Kubernetes a nivel de VM
Además, se hace posible la migración en vivo entre instancias de EC2, lo que facilita mantener cargas de trabajo continuas
También en entornos de CI/CD se vuelve mucho más conveniente poder compilar y probar imágenes de sistema directamente en EC2
Como GCP, VMWare y KVM ya ofrecían esta función, daba pena que EC2 apenas se estuviera poniendo al día
Es especialmente útil para trabajos como la simulación de red que emula hardware de red con QEMU
Yo mismo ya usaba esto en casa desde hace mucho tiempo con libvirt sobre hardware de consumo normal
AWS apenas se está poniendo al día con una función bastante antigua
Parece que habría varias capas de sobrecarga del MMU
En tareas puramente de CPU casi no hay impacto, pero el IO, según la implementación, puede ser casi igual o muy malo
Eventos como trap/vmexit tienen que pasar por una capa adicional
No estoy seguro de si la implementación de AWS sigue este enfoque