We run AMIs in three regions. The key point is that regions are completely separated, so you will have to move everything to other regions (via S3) and recreate your security groups etc.
For the move itself, Elastifox is a great help: http://aws.amazon.com/developertools/609
It is more powerful then the Web interface and helps with moving AMIs.
Potential problems that we encountered:
Moving AMIs (the copying) can take hours! So plan enough time for this.
Sometimes we had problems registering the AMI or it arrived corrupted. I am not really sure what caused these issues, but we could always solve them (in the worst case we had to copy the AMI again - did I mention to plan enough time ;)
I have had an instance crash a few times on me, most notably when AWS had their 'little' EBS failure. Like you, I was unable to terminate the instances or detach the volume. I ended up creating a snapshot of the EBS volume (yes, it let me create a snapshot without detaching), creating a volume from that snapshot and attaching it as the root device on an instance.
Keep in mind that while the physical drive may not have been damaged, a crash can still damage the file system or the data.
I have also had success attaching the volume as an ordinary non-boot volume, running a file system check (e.g. e2fsck), and using rsync, in a procedure akin to what you would use to migrate from ephemeral/instance-store to EBS:
- Copy the root (/) directory to the EBS device (
rsync -aXHv
)
- (optionally, rsync the devices as well (/dev), although I don't think it is needed)
- flush writes and unmount
The message I ended up 'taking home' was to have current backups even of EBS drives - so I now run ec2-consistent-snapshot frequently on data volumes and (less frequently) on my root volume, and rotate with ec2-prune-snapshots.
Hopefully some combination of the above (snapshot, check disk, rsync) can help you out.
(As an aside, the few other times I have seen this happen, I had some process running that consumed all the memory - and the particular AMI I was using didn't have any swap space setup - the console log (from the AWS console) is good for identifying that kind of problem)
Best Answer
No, but you can create an AMI from it, which'll let you launch an exact copy of that instance in any availability zone within that region. Launch the copy and kill the original.