Just like with VMWare or Hyper-V, Amazon’s AWS supports snapshots and they make it easy to create them and restore from them. But in true AWS style, they don’t make it obvious how it works. I’m hoping to change that in this article.
I’ve used the word “snapshot” but strictly speaking, we’re creating an “image”. I use the words interchangeably throughout this article. But technically a snapshot is a different thing in AWS.
TIP: You can create an image of a running machine. Obviously it’s best to create an image of a shut-down machine. I’ve never had an issue with taking an image of a running machine and restoring from it.
Create the image
In AWS console, go to the “ec2” service section, locate the instance (server) in the “instances” section and right click on it. Tip, make sure no other machines are selected at the same time. From the pop-up menu, select Image and Create Image.
The above process opens a new form. You have to give your image a name and description. I recommend something like “web-server-01-20180822” making it clear what the image is of and when it was made. You have the option to create the snapshot with or without a reboot. With a reboot means the server will be shutdown and then an image created and then powered back up. Not rebooting means the image will be taken as it is – no reboot.
Click the Create Image button to begin the imaging process.
You can see the status (not progress) of your new image by going to the AMI section (left column).
Restoring from an image
Still in the AWS console, go to the “ec2” service section, locate the image in the “AMI” section and right click on it. Select Launch from the pop-up menu.
You will be presented with the same instance creation process as you would if you were creating an instance from scratch except you don’t need to select a server type from the market place and you don’t need to worry about the initial credentials to log into your restored server because the credentials will be as they were when the image was taken.