slouch's blog

Today I Remember - AVDs on AWS

Recently I have been messing around with Android Virtual Devices (AVD). I realised, an issue when moving my tests to Amazon Web Services (AWS). The issue was with using Kernel-based Virtual Machine (KVM). Which does make sense from an infrastructure perspective for AWS. However, I still needed to resolve the issue.

KVM (Kernel-based Virtual Machine) is a widely used virtualization technology that enables the running of multiple virtual machines (VMs) on a single host machine. However, when it comes to running KVM on AWS Elastic Compute Cloud (EC2) instances, things can get a bit tricky.

One major limitation is that KVM cannot be installed on AWS EC2 instances. This can be a major hurdle if you need to run virtual machines on AWS that require KVM, such as Android Virtual Devices (AVD) or other virtualization-intensive applications.

Thankfully, there is a workaround for this limitation. To make something like AVD work on AWS EC2 instances, you need to utilize the ARM architecture images. ARM-based images, which use a different instruction set than the more common x86 architecture, can be run on AWS Graviton2 instances, which are powered by AWS-designed ARM-based processors.

While it may be frustrating that KVM cannot be installed on AWS EC2, the use of ARM-based images can provide a viable alternative for those needing to run virtual machines on AWS. It is important to note, however, that not all applications will be compatible with ARM-based images, so it is essential to carefully consider your use case before proceeding with this workaround.

In summary, while KVM cannot be installed on AWS EC2, the use of ARM-based images can provide a solution for those needing to run virtual machines on AWS, such as AVD. It is important to carefully evaluate your use case and ensure compatibility with ARM-based images before proceeding.

#today-i-remember