AWS bổ sung hỗ trợ ảo hóa lồng nhau (nested virtualization)
(github.com/aws)- Khi AWS SDK for Go v2 được cập nhật, đã bổ sung khả năng chạy một máy ảo khác bên trong máy ảo
- Tính năng mới cho phép chạy VM lồng nhau ngay cả trên các EC2 instance không phải bare metal
- Việc mở rộng hỗ trợ ảo hóa lồng nhau trên AWS EC2 sẽ trở thành nền tảng giúp nâng cao mức độ tận dụng các tầng ảo hóa trong môi trường phát triển và kiểm thử
1 bình luận
Ý kiến trên Hacker News
Trước đây muốn làm vậy thì cần bare-metal instance đắt tiền
Tham khảo thêm: GCP đã hỗ trợ nested virtualization từ lâu rồi
Việc có thể dễ dàng dựng môi trường test hay development cũng là một lợi thế
Nested virtualization không nhất thiết chỉ có nghĩa là VM hoàn chỉnh
Ở region us-west-2 đã có thể thấy tùy chọn “Nested Virtualization”, và có thể dùng trên các loại instance M8id / C8id / R8id
Đây là tin rất lớn với các giải pháp sandbox micro-VM như E2B mà tôi đang tham gia
Trước đây khi thử nested virtualization, tôi thấy ngoài mức PoC thì không hữu ích lắm
Có nhiều giải pháp container dựa trên VM như Kata Containers, gVisor, Firecracker
Ví dụ có thể cô lập pod của Kubernetes ở cấp độ VM
Ngoài ra còn cho phép live migration giữa các EC2 instance, giúp bảo trì workload đang chạy dễ hơn
Trong môi trường CI/CD, cũng có thể build và test system image trực tiếp trên EC2 nên tiện hơn nhiều
GCP, VMWare, KVM v.v. đã có tính năng này từ lâu, nên thật tiếc là EC2 đến giờ mới theo kịp
Đặc biệt hữu ích cho các tác vụ như mô phỏng mạng bằng QEMU để giả lập phần cứng mạng
Ngay ở nhà tôi cũng đã dùng thứ này trên phần cứng tiêu dùng phổ thông với libvirt từ rất lâu rồi
AWS giờ mới bắt kịp một tính năng cũ như vậy
Có vẻ sẽ phát sinh nhiều tầng MMU overhead
Tác vụ CPU thuần gần như không bị ảnh hưởng, nhưng IO thì tùy cách triển khai mà gần như không khác biệt hoặc có thể tệ đi rất nhiều
Các sự kiện như trap/vmexit phải đi qua thêm một tầng nữa
Không chắc cách triển khai của AWS có theo hướng này hay không