The Amazon Relational Database Service (RDS) enables Amazon Web Services (AWS) customers to manage, operate, and scale their databases. A managed service, RDS provides seven database engines and multiple instance sizes and types for working with relational databases.
AWS also claims RDS can match the performance, scalability, and availability of commercial databases for a tenth of the price. Is this true, and how much does Amazon RDS cost really?
This guide explains how Amazon RDS pricing works. In addition, we’ll discuss how to understand, optimize, and view your RDS costs.
Table Of Contents
How Does Amazon RDS Pricing Work?
Pricing for Amazon RDS varies based on several factors, including your choice of database engine, database instance, database region, and purchase type (On-Demand or Reserved Instance).
DB instances, outbound data transfers, additional storage, deployment type, and other aspects also affect Amazon RDS costs.
But you pay only for the relational DB resources you consume over your Amazon RDS billing period, including hosting, storage, operations, and data transfer.
This is how Amazon RDS pricing works based the major factors:
1. Amazon RDS Free Tier
You can use AWS db.t2.micro, db.t3.micro, and db.t4g.micro instances for up to 750 free hours to run MySQL, PostgreSQL, and MariaDB databases in the Single-Availability Zone each month if you wish to test RDS’s fit for your needs.
If you run more than one instance, Amazon RDS billing will automatically aggregate your usage across instance classes.
Alternatively, you can use 750 free hours each month of Single-AZ db.t2.micro Instance when running Oracle Bring Your Own License (BYOL) or SQL Server (using the SQL Server Express Edition).
The Amazon RDS free tier also lets you run the Oracle BYOL db.t3.micro Single-AZ Instance. But if you run both a db.t3.micro Single-AZ and a db.t2.micro Single-AZ Instance on Oracle BYOL, RDS will aggregate usage across instance classes.
In addition, you will receive 20 GB of General Purpose (SSD) database storage and 20 GB of storage for DB Snapshots (user-initiated) and automated database backups.
How do the paid tiers work on Amazon RDS?
2. Amazon RDS Pricing By Database Engine
Amazon RDS supports seven types of relational database engines: Amazon Aurora (MySQL compatibility), Amazon Aurora (PostgreSQL compatibility), MariaDB, MySQL, PostgreSQL, Oracle, and Microsoft SQL Server. You can also deploy Amazon RDS on OutPosts (on-premises).
Amazon Aurora is AWS’s proprietary relational DB, offering high availability at scale. It is compatible with both MySQL and PostgreSQL databases. It also provides developer tools to build machine learning-driven and serverless applications.
With provisioned Aurora, choosing On-Demand Instances lets you pay by the hour. No long-term commitments. No upfront fees.
Choosing Reserved Instances (committed use for 1 or 3 years) gets you additional savings. As an alternative, picking Aurora Serverless lets you scale capacity up and down automatically as your application requires, and you only pay for the capacity you use.
Amazon RDS bills Aurora storage in per GB-month increments and I/Os usage per million request increments. No prior provisioning is required for either storage or I/O. They both scale automatically, too.
Using features like Global Database, Snapshot Export, and Backtrack, and data transfers out of Aurora attract additional charges.
MariaDB pricing, MySQL pricing, and PostgreSQL pricing are similar in Amazon RDS. But PostgreSQL instances are up to 10% costlier per hour, depending on their size, but all the open-source DBs share pricing for storage, provisioned I/O, and RDS data transfer.
For Oracle and Microsoft SQL Server DB pricing, licensing costs can increase costs to nearly twice as much as the open-source options. But you can self-license (bring your own license) with Oracle, reducing the hourly price to match the open-source options.
Fees for storage and data transfer are comparable to those for open-source databases.
3. Amazon RDS Pricing By Database Instance
After selecting an engine, you’ll choose an RDS instance type and size with the compute (vCPU) and memory (GiB RAM) your workload needs, as well as a suitable networking capacity (Mbps).
Amazon RDS provides a range of instances, from db.t3.micro (has 2 vCPUS, 1 GiB RAM, and supports 2085 Mbps) to db.m5.24xlarge ( with 96 vCPUS, 384 GiB RAM, and does 19,000 Mbps).
We get it. Choosing the right RDS instance size for your needs can be daunting.
Our recommendation is to track how much data your queries use (your working set). Then use CloudZero Advisor (a free tool for comparing cloud resources and pricing) to find and pick the right DB instance size and type for it. Here’s how CloudZero Advisor looks for RDS:
CloudZero Advisor for choosing Amazon RDS instance type, size, and pricing.
4. Amazon RDS Pricing By Database Region
An Amazon Region hosts several Availability Zones (AZ), each with its own pricing options and supporting failure isolation. You always need to choose a region, an AZ, or a local zone to calculate RDS costs, regardless of your choice of DB engine, instance type, payment option, storage, etc.
You can also deploy a DB instance in multiple Availability Zones (Multi-AZ deployment). Here, RDS automatically establishes and runs secondary DB instances in another Availability Zone. The primary DB instance replicates across these secondary DB instances in various AZs. This provides data redundancy, failover support, minimizes I/O freezes, and limits latency spikes while backing up the system. Secondary DB instances also serve read traffic in Multi-AZ DB cluster deployments.
5. Amazon RDS On-Demand Instance Pricing vs Amazon RDS Reserved Instance Pricing
In RDS, On-Demand instance pricing by the hour of DB usage is the default billing method. You don’t need to make any upfront payments or commit long-term here.
But if you use an RDS DB for less than an hour, RDS will bill you in one-second increments with a 10-minute minimum charge whenever a billable status changes, such as when you create, start, or modify the database instance class.
RDS bills these instances in one-second increments from the moment you start the instance until you stop it.
Example of Amazon RDS On-Demand instances pricing by location, instance size, and single availability zone.
By paying more, you can start, stop, or change the size of an On-Demand instance whenever you want.
Amazon RDS Reserved Instances enable you to reserve an instance for one or three years. By committing long term, you receive a significant discount off the On-Demand rate. There are three RDS Reserved Instances payment options:
- No upfront ($0 upfront for up 29% savings off On-Demand)
- Partial upfront (pay up to 99% upfront for up to 33% savings on 1 year plan and 52% for three years), and
- All-upfront (full payment upfront for up to 34% savings in one year or 53% for three years).
Here’s a quick example of RDS Reserved Instances pricing for various DB instance sizes, for one year, with no upfront payment in US East (Ohio):
6. Amazon RDS Pricing By DB Storage
There are three types of storage available with RDS, which determine how much you will pay per month.
General Purpose (SSD) storage
You’ll have access to between 20 GiB and 64 TiB of general purpose (SSD) storage for your primary dataset. You only pay for the storage you provision not for any I/Os you use. This option charges $0.115 per GB-month.
Provisioned IOPS (SSD) storage
You can provision I/O capacity to meet specific database requirements. You’ll be able to provision and scale from 1,000 IOPS to 80,000 IOPS and from 100 GiB to 64 TiB capacity. Storage costs $0.125 per GB-month. Provisioned IOPS costs $0.10 per IOPS-month.
Here, you can select magnetic storage options from 20 GiB to 3 TiB for your primary dataset. RDS supports backward compatibility for this storage option. Magnetic storage costs $0.10 per GB-month. It charges $0.10 per million requests for I/O.
7. Additional Amazon RDS Pricing Factors
Amazon RDS charges additional fees for backups, Snapshot export, and data transfer.
- RDS Backup storage pricing starts at $0.095 per GB-month. It costs the same even after terminating a DB instance.
- Snapshot export pricing in RDS starts at $0.010 per GB of snapshot size. Note that this feature exports data in Amazon RDS or Aurora snapshots in the Parquet format to Amazon S3. On Amazon S3, this format unloads up to 2x faster and requires 6x less space than text formats.
- RDS data transfer pricing only applies outward from RDS to the internet — not inward from the internet to RDS. Pricing is tiered and starts at $0.09 per GB for the first 10 TB per month. Data transfer out to the internet is free for 100GB each month, spanning all AWS regions and AZs — excluding GovCloud and China. But that offer is global, so it will not apply separately or individually to an AWS Region.
So, How Much Does Amazon RDS Cost?
There are ten major factors that determine how much RDS costs:
Database engine, instance type, instance size, Amazon region or availability zone, storage option, payment option (On-Demand versus Reserved Instance pricing), backup choice, snapshot export option, whether you use one AZ or multiple AZs, and whether you transfer data from/into RDS.
Getting an accurate estimate can be challenging, especially if you haven’t used Amazon RDS yet. And even when you have, it is easy to overlook some cost centers due to all the different pricing factors. So, how do you measure, analyze, and understand RDS costs?
How To Understand And Control Amazon RDS Costs
To optimize RDS pricing, you must measure it granularly. This requires a solution that can break down your RDS bill into easy-to-digest, contextual, and actionable insights.
CloudZero can help. CloudZero’s cloud cost intelligence platform maps your RDS costs to the people, processes, and products that generate them.
This empowers you to view Amazon RDS costs based on business dimensions that matter to you, such as cost per customer, product, software feature, team, project, environment, and more.
Identifying your top Amazon RDS cost drivers will help you decide what to cut to reduce costs or what to increase to improve performance or returns (ROI).
You can also use CloudZero Advisor to select the right instance types and sizes for your workload. With this right-sizing, you can save even more by eliminating over-provisioning, while maintaining optimal RDS performance by preventing under-provisioning.
It doesn’t end there. With CloudZero you can track all your AWS and Snowflake storage costs in one place and understand what, why, and who is responsible. Ultimately, CloudZero lets you monitor, analyze, and optimize cloud costs across all major vendors.
You don’t have to take our word for it.
Amazon RDS FAQ
How does RDS pricing work?
Pricing varies by the DB engine, instance type and size, AWS Region and AZ, storage, backup, Single-AZ or Multi-AZ, data transfer mode, snapshot export usage, and RDS payment option you choose — among other variables.
Is RDS cheaper than S3?
Amazon S3 pricing appears to be cheaper than RDS pricing at first glance. RDS, for example, charges $0.1 per GB per month for storage and $0.2 per million requests for Amazon Aurora databases.
The cost per gigabyte for S3 starts at $0.025 and goes up to 50 TB per month. But Amazon RDS and S3 are quite different services (managed relational DB service vs object storage).
How do I choose the right Amazon RDS instance size?
To achieve the best price-performance ratio, right-size your RDS instances using a tool like CloudZero Advisor.
What is the difference between Amazon RDS and DynamoDB?
The Amazon RDS service provides managed relational (SQL) databases, while Amazon DynamoDB provides managed key-value and document databases (NoSQL).
What is the difference between Amazon RedShift and Amazon RDS?
One major difference is that RDS does not use clusters or nodes, which RedShift relies on. Both are cost-effective, scalable, and highly available cloud data storage services.