How to know the snapshot completion time in AWS EC2?

I started a snapshot of 1TB volume that carries 750GB of data in AWS EC2 without shutting the instance down. It gave completed status, progress 100% when I noted after 10hrs. I can see the started time. But how to know the exact completion time of the snapshot?


Solution 1:

The completion time is generally not important, as the snapshot is of the volume as at the time you request it, even if you change it while the snapshot is being made. It can take several hours, but it generally doesn't matter how long it takes.

If you need a completely consistent snapshot you shut the server down, trigger the snapshot, then start the server immediately. This primarily ensures all data is flushed to disk and in a consistent state, with nothing in RAM. It's similar to Windows shadow copy.

In most cases a snapshot of a running system is fine, but sometimes it will be inconsistent. If an application is writing to the disk when the snapshot is requested that data may be corrupt.

EC2 Snapshot documentation is fairly good, like most AWS documentation.

Tip: the first snapshot of any volume is the slowest as it needs to back up every block. Also, the longer the interval between snapshots the slow they tend to be as there's more data to snapshot. If you need a really fast snapshot at any particular time, take a snapshot a couple of hour earlier as that will make the next snapshot faster.

Solution 2:

There is no pre-defined completion time. The bigger the data is, the more time it takes to backup. It is recommended to turn off the instance for data consistency or may be not do any read/writes while the backup is in progress.