Figure 4: S3 portion of the AWS bill
As demonstrated by Figure 4, this is a very complicated bill with multiple line items. The “TimedStorage-ByteHrs” section will help you decipher your S3 costs. If you’re using S3 Infrequent Access Storage, it will be listed as “TimedStorage-SIA-ByteHrs.” Many customers often try using scripts or third-party backup software to backup their EBS volumes to S3 or S3-IA. After all, S3 is cheaper than EBS snapshots. While true, the cost of moving it there often involves using your own EC2 resources and temporary EBS snapshots that YOU pay for. Oftentimes, the break-even for moving EBS snapshots to S3 is three or more months, which isn’t a cost-effective solution for your daily and weekly backups.
An additional issue with S3 is the use of S3 versioning, which produces full copies of your S3 objects for every small change that occurs. If your application updated anything in your objects, you could easily have multiple complete copies of your data. This immediately negates the cost savings you had by moving backups to S3 in the first place. We often have customers that tried backing up to S3 but ended up saving more by leveraging Druva’s EC2 Backup Solution, which considerably simplifies backups.
3. RDS Snapshots
Next, let’s take a look at Amazon RDS, which can be another critical part of your AWS infrastructure. Your structured data resides in RDS. Similar to EBS, we want to find how much data we have and the size of the backup. RDS has two classes of databases that it manages differently: Aurora and non-Aurora. Aurora bills you on the auto-sizing utilized capacity, versus the entire provisioned capacity. Both Aurora and non-Aurora come with up to 100% of your allocated database capacity in free backups. For example, if you have 100GB of RDS databases, you get 100GB in backups free. You are then billed upwards of $0.095/GB for your backup.