As my Windows EC2 instance lives, starting and stopping many times a week, it evolves. These changes get saved to it's EBS volume, so state is persistent across reboots.
Now, periodically I backup the (evolved) EC2 instance to a new AMI (which creates a new snapshot) OR I backup the EC2's volume/disk to a new snapshot.
Either ways (I don't care), my Windows EC2 backups end as snapshots.
Question: How do I restore these snapshots into usable AMIs or instances? I've tried two methods:
Method 1) Snapshot -> image
In the AWS management web-console, when I right click the backup snapshots and select "create image", it seems to recreate an AMI but that AMI is marked as 'Linux' and virtualization is 'paravirtualization' (instaed of Windows and HVM respectively). The machine therefore never bootup (blank 'get system log')
Method 2) Snapshot -> EBS volume
Here I'm
- Making an EBS volume from the snapshot
- Launching a new instance from the old AMI
- Shutting down the newly launched instance (so it shows up as 'stopped')
- Detaching, deleting the (root) volume AWS created when I launched the instance in #2 above
- Attaching the volume created in #1 above as the root volume (/dev/sda1). Yeah, I know /dev/sda1 is Linux terminology, but I suspect the Windows OS is virtualized in the Xen hypervisor which is Linux based.
- Start the EC2 instance stopped in #3, this time with the latest volume attached (i.e. simulate a restore from backup).
- Machine never bootup (blank 'get system log', can't RDP either) :(
I wonder if I'm missing something here ...
Ok, so the answer happens to be Method 2 itself. It actually works but I had to wait over 30 minutes for the machine to come up. I never get to see the boot logs but maybe Windows schedules a disk checkup upon bootup and that takes a while? I don't know. I just waited, had lunch and tried afterwards and the machine was up :) !
Still don't know why method 1 fails.
Creating an AMI from snapshot works only with windows.