In an EC2 backup solution based on EBS snapshots, balancing the number and frequency of snapshots vs. the need for the best RPO can be tricky. At peak hours data typically change at a much more rapid rate than during off-hours or weekends. The ability to make that distinction can save in terms of cost and the number of EBS snapshots. CPM (Cloud Protection Manager) allows such flexibility out of the box.
As an example, let’s try to define the following elaborate scheduling:
- Weekdays 08:00AM – 06:00PM – backup every 10 minutes
- Weekdays 06:00PM – 08:00AM – backup every hour
- Weekends (Saturdays and Sundays) – once a day
To do this, we will associate our CPM backup policy (named “main_prod “) with three different CPM schedule objects:
- Backup every 10 minutes, backup disabled between 06:00PM – 08:00AM every day. No backup at all on weekends
- Backup every hour, backup disabled between 08:00AM – 06:00PM every day. No backup at all on weekends
- Backup once a day, backup performed only on Saturday and Sunday
First schedule definition:
As you can see, the backup is set for every 10 minutes starting 8:00AM. Backup is not performed on Saturdays & Sundays. For this schedule object, we define that it is disabled during nights by clicking “Configure” on the “Disabled Times in Day” column in the schedules tab and defining the following:
This schedule starts a backup every hour, and, again, is not performed on Saturdays & Sundays. Its disabled times are the reverse of the first schedule:
Now for the last schedule:
This schedule does not need any disabled times, because it will work only on Saturdays & Sundays.
So, now we need to simply associate all three schedules to the main_prod policy:
This fairly simple configuration allows fine-tuning backup scheduling in a way that supports the required RPO at required times, without creating an excessive number snapshots during off-hours.