Why won't official VM images work in Amazon EC2?


#1

Hi,

I’ve been developing with my own standalone copy MusicBrainz running in AWS for the past year or so but need to switch to a RT_SLAVE configuration with packet replication, and as I understand it I’ve got to start from scratch as there’s no good way to change configuration in an existing system. While I installed from first principles last time into AWS and could therefore certainly do the same for my new system, I saw there was a new OVA file for a slave-configured system, but that it came with this warning:

“If you are using Amazon EC2 you can not use this virtual image and will instead have to follow the steps outlined in the source code INSTALL.md

Can anyone tell me why this is the case? And would the same issue prevent me from simply exporting a local image from a machine in my local VirtualBox environment that I have seeded from this OVA file and have already brought up to date with replication and indexed, and then importing that into AWS? Many thanks!


#2

AWS used to be running on a highly customized Xen hypervisor.
For best performace this required the operating system to be built specifically for Xen to work.

They now have some hardware that is using the KVM hypervisor on some of their hardware and now support a more generic operating system.
You should be able to take a generic vm and be able to run it.

I would still recommend building it from scratch as there are differences in how network and storage are configured so while you can get it to work it is going to be easier to just move what you have.

I don’t use the VM, I have the software running under a normal user on my server.
I believe the vm is docker based, are you able to move the docker containers from one machine to another? could you move these from your local vm to a vm running docker in aws?


#3

Hi DNS_Server, thank you for this speedy and informative reply. I am a total neophyte in this area and have had to look up a few of the terms you used! But it all makes sense to me now. Your mention of ‘docker’ rang a few bells so I looked into that as well, and I can see that the VM contains the db, the indexers and other components in 7 separate containers, so exporting and then importing them into a docker-enabled AWS instance might be a good way to proceed if it insulates me from the platform-level differences while still allowing me to exploit the ‘already-built’ aspect of the VM. As mentioned however, I’ve built from scratch before, and took lots of notes, so can always do that if I have to. Thanks again!