Back-up is one of the most critical points for a server. So, If you run a server, you should care about back-ups and disaster recovery. In this project, I have a web server and also a database server. So, I discovered back-up options on AWS and found some easy solutions for back-up.
First of all, I use Amazon RDS as database server, and by default it creates daily database snapshots. Even so, I created manual snapshots for database server on each project milestone.
On EC2 server side, there are 2 options for back-up; volume snapshots and instance snapshots. Volume snapshots are like backing-up your servers hard drive. On the other hand, instance snapshots create back-up of your whole EC2 instance with all metadata. That’s why I preferred instance snapshot option for EC2 server backups. Same as database side, I created manual instance snapshots on each project milestone. In addition, I created a Lifecycle Policy for automated back-ups. Then, I configured 3 schedules for this Lifecycle Policy; daily, weekly and monthly. You can see policy summary below:
Policy Summary~ Summary of Lifecycle Policy
This policy will create consistent set of snapshots of tagged instances based on the following 3 schedule(s):
Daily EC2 Snap:
Every 24 hours starting at 04:00 UTC. The snapshots will be retained for 1 Days.
Weekly EC2 Snap:
Every Friday starting at 04:00 UTC. The snapshots will be retained for 4 Weeks.
Monthly EC2 Snap:
On the 1st Thursday every month starting at 04:00 UTC. The snapshots will be retained for 3 Months.
What about Disaster Recovery?
Actually, I’ve checked for disaster recovery options as well but I couldn’t find any free disaster recovery option. However, I discovered CloudEndure Disaster Recovery service and it is billed hourly per source server, irrespective of storage capacity. This gives you the flexibility to easily use CloudEndure disaster recovery solution by paying on an hourly basis, rather than committing to a long-term contract or set number of servers. It costs only $0.028 per host per hour. (It makes ~20 USD per month, per source server) [Ref. AWS Documentation]
P.S. I don’t need a disaster recovery solution for this project, that’s why I haven’t tried CloudEndure Disaster Recovery service.