I want to backup a Linux-based EC2 instance while it is running with no downtime, and then later on launch a new instance. (The instance is running a web server and Postgres database.)
I found there are two ways to do this, but I am confused on what's the difference in the outcome between them.
Option #1: Create an AMI straight from a running instance:
- Create a new AMI straight from the running original instance.
- Launch a new instance from the AMI
Option #2: Manually create an AMI from a snapshot:
- Take a snapshot from the volume attached to the running original instance
- Create AMI from the snapshot, manually entering details like architecture and kernel ID
- Launch a new instance from the manually created image
Now what's confusing is that when creating an AMI straight from an instance, EC2 would reboot the instance by default. There's a checkbox "No reboot" with the following tooltip:
When enabled, Amazon EC2 does not shut down the instance before creating the image. When this option is used, file system integrity on the created image cannot be guaranteed.
Is there really a difference in the outcome of these two ways options? To me it feels like I am manually doing the same things that the automated wizard would do anyway. It generates snapshots, selects the kernel IDs and architectures.
Why one has a warning text and the other does not? Snapshotting a running instance is considered relatively safe, and if the AMI creation does a snapshot in the background, is it any more dangerous than doing it all by hand?