Amazon RDS makes it easy to set up, operate, and scale relational databases; but understanding RDS pricing is not so simple. There are many variables to take into account when calculating RDS costs and businesses often find RDS bills exceed what they anticipated. This guide to RDS pricing will help explain why.
Amazon’s Relational Database Service (RDS) is the most flexible of any cloud service provider. You can launch RDS instances on any of six database engines, take advantage of different instance types optimized to fit different use cases, deploy instances across single or multiple Availability Zones, and choose which type of tenancy best suits the workload. Although these options look straightforward, that’s not necessarily the case.
Within the six database engines, different RDS pricing can apply depending on whether you bring your own license (Oracle and SQL Server), whether you enhance the performance of MySQL and PostreSQL databases by taking advantage of the AWS Aurora service, and whether you want to specify the I/O capacity needed by the database in advance. To complicate the issue, not all instance types are supported by all database engines.
There are three types of storage (General Purpose, Provisioned IOPS, and Magnetic), two backup services (Standard and Aurora) and different data transfer costs depending on how much data you transfer and where it goes. With regard to tenancy options, you can choose to deploy a database in the public cloud, in a Virtual Private Cloud, or on VMware (Oracle databases excluded) depending on the business’s security, privacy, regulatory, and data sovereignty policies.
Once you’ve decided which of the variables is most suitable for your workload, AWS gives you a choice of two RDS pricing options - On Demand and Reserved Instances. It’s important to note that RDS pricing options aren’t the same as EC2 pricing options. With the RDS On Demand option, instances are charged by the hour rather than by the second, and the RDS Reserved Instances options are significantly different from EC2 Reserved Instances:
In some circumstances, it can be cheaper to deploy a database on an EC2 instance. However, if you go for this option you have to factor in the additional time it will take to manage the database, the loss of automatic backup and recovery services, and the additional difficulty when you need to rightsize instances and their components. For the amount you may be able to reduce RDS costs, the additional grief doesn’t seem worth it.
RDS databases have four main cost drivers - instance size, instance hours, IOPS, and storage. These cost drivers need to be monitored closely to prevent unnecessarily inflated RDS bills. However, although it’s possible to gather utilization metrics through AWS’ monitoring tools, they have their limitations. For example, the data retention period for CloudWatch metrics cannot be customized nor is it possible to review specific peaks and troughs in demand.
To best manage the components of RDS pricing, you need a cloud management platform like CloudHealth. CloudHealth collects data from multiple sources to give you total visibility over your RDS instances, their additional components, and the relationships they have with other applications and on-premises systems. The data is aggregated for better analysis, and you have the option of drilling down into specific units and viewing the data from different perspectives.
With CloudHealth, you get all the information you need to better manage the components of RDS pricing. You’ll be able to determine when:
To minimize the amount of work involved in managing the components of RDS pricing, you can apply CloudHealth’s policy driven automation capabilities to address common issues automatically. For example, if you’re retaining too many backups, you can apply a policy that instructs CloudHealth to automatically delete backups more than three days old. You can also apply policies for CloudHealth to alert you to overspending, performance issues, and more.
If your business takes advantage of Amazon RDS to easily set up, operate, and scale relational databases, get in touch with our cloud experts and request a free demonstration of CloudHealth. Our team will ask you about how you use Amazon RDS at present (i.e. which database engine you use, whether you provisioned IOPS, etc.), and arrange a demonstration that mirrors your existing set up.
Learn how CloudHealth can help you accelerate your AWS cloud journey to reach cloud maturity!