AWS announces today that EBS snapshot copy is now incremental. What does it mean? EBS snapshots are incremental by nature. Every time a snapshot is taken, it only records the blocks on the EBS volume which were modified since the previous snapshot. This is extremely efficient in storage space as well as in performance of snapshots.
So, if I have a 1TB EBS volume in Virginia which is 80% full, the first full snapshot will record all the used blocks on the disk, i.e. 800GiB (the storage space is typically smaller because compression is used). Every additional snapshot records the changes. So if you take a daily snapshot and there is a 3% daily change in data, every day 24Gib will be copied.
When AWS announced the snapshot copy feature, around six months ago, the copy operation was not incremental. When that same daily snapshot, from the previous paragraph, is copied from Virginia to California, the full 800GiB (or more if additional data is added) are copied. This was a very serious consideration when planning your disaster recovery or high availability solution. This means that in terms of the time the copy operation takes, storage costs and network transfer costs, copying the snapshot every day means copying 800GB (minus compression) each time. It becomes even more serious if you’re taking snapshots more frequently. If you take snapshots every six hours, it means 3.2TB a day. Besides the high cost, there is a chance that your copy operations will never “catch up.”
So now, as AWS announced, the copy operation is incremental as well. So copying 24GiB a day sounds less frightening. Also if you want to copy every six hours, it will probably be around 4GiB each time (this is not accurate; it may be more than that). So, if before you needed to plan your disaster recovery carefully, and probably compromise on your RPO (Recovery Point Objective) at the remote region, now you will probably not need to make these compromises.
CPM (Cloud Protection Manager), as a EC2 backup solution and disaster recovery solution based on EBS snapshots, lets you adjust the frequency of the copy operation to remote regions relatively to the frequency in which you take your local snapshots. You may still need that, but now, in many cases, you can copy every snapshot you take to the remote region.