AWS adiciona suporte a virtualização aninhada
(github.com/aws)- Com a atualização do AWS SDK for Go v2, foi adicionada a capacidade de executar outra máquina virtual dentro de uma máquina virtual
- O novo recurso permite executar VMs aninhadas até mesmo em instâncias EC2 que não são bare metal
- A expansão do suporte a virtualização aninhada no AWS EC2 deve servir de base para aumentar o aproveitamento das camadas de virtualização em ambientes de desenvolvimento e teste
1 comentários
Comentários do Hacker News
Antes, para fazer esse tipo de coisa, era preciso usar instâncias bare metal caras
Só para constar, o GCP já suportava nested virtualization há bastante tempo
A vantagem também está em poder montar ambientes de teste ou desenvolvimento com facilidade
Nested virtualization não significa necessariamente apenas VMs completas
Na região us-west-2 já dá para ver a opção “Nested Virtualization”, e ela está disponível nos tipos de instância M8id / C8id / R8id
Isso é uma notícia realmente grande para soluções de sandbox com micro-VM como a E2B, da qual participo
Quando testei nested virtualization no passado, senti que fora de cenários de PoC isso não servia para muita coisa
Existem várias soluções de contêiner baseadas em VM, como Kata Containers, gVisor e Firecracker
Por exemplo, dá para isolar pods do Kubernetes no nível de VM
Além disso, isso permite migração ao vivo entre instâncias EC2, o que facilita a manutenção contínua de workloads
Em ambientes de CI/CD, também fica bem mais prático construir e testar imagens de sistema diretamente no EC2
GCP, VMWare e KVM já ofereciam esse tipo de recurso, então era frustrante ver o EC2 só chegar agora
Isso é especialmente útil para tarefas como simulação de rede, usando QEMU para emular hardware de rede
Eu já usava isso em casa há muito tempo com libvirt em hardware comum de consumo
A AWS basicamente só agora alcançou esse recurso antigo
Parece que haveria várias camadas de overhead de MMU
Em CPU pura quase não há impacto, mas em IO pode ser quase imperceptível ou muito ruim, dependendo da implementação
Eventos como trap/vmexit precisam passar por uma camada a mais
Não sei ao certo se a implementação da AWS segue esse modelo