Discover how CloudZero helps engineering and finance get on the same team — and unlock cloud cost intelligence to power cloud profitability
Learn moreDiscover the power of cloud cost intelligence
Give your team a better cost platform
Give engineering a cloud cost coach
Learn more about CloudZero and who we are
Learn more about CloudZero's pricing
Take a customized tour of CloudZero
Explore CloudZero by feature
Build fast with cost guardrails
Drive accountability and stay on budget
Manage all your discounts in one place
Organize spend to match your business
Understand your cloud unit economics and measure cost per customer
Discover and monitor your real Kubernetes and container costs
Measure and monitor the unit metrics that matter most to your business
Allocate cost and gain cost visibility even if your tagging isn’t perfect
Identify and measure your software COGS
Decentralize cost decisions to your engineering teams
Automatically identify wasted spend, then proactively build cost-effective infrastructure
CloudZero ingests data from AWS, GCP, Azure, Snowflake, Kubernetes, and more
View all cost sourcesDiscover the best cloud cost intelligence resources
Browse webinars, ebooks, press releases, and other helpful resources
Discover the best cloud cost intelligence content
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and more
Check out our best upcoming and past events
Gauge the health and maturity level of your cost management and optimization efforts
Compare pricing and get advice on AWS services including EC2, RDS, ElastiCache, and more
Learn moreDiscover how SeatGeek decoded its AWS bill and measures cost per customer
Read customer storyLearn how Skyscanner decentralized cloud cost to their engineering teams
Read customer storyLearn how Malwarebytes measures cloud cost per product
Read customer storyLearn how Remitly built an engineering culture of cost autonomy
Read customer storyDiscover how Ninjacat uses cloud cost intelligence to inform business decisions
Read customer storyLearn Smartbear optimized engineering use and inform go-to-market strategies
Read customer storyHow do Amazon RDS instances work? Here’s your handy guide for 2023 and beyond.
Amazon’s Relational Database Service (Amazon RDS) offers a variety of database instances, which can be confusing at first. In this guide, we'll clarify what each RDS instance class, family, type, and size means in under 15 minutes.
Let's start at the beginning.
Table of Contents
Amazon RDS is a Database-as-a-Service (DaaS) platform. RDS instances are virtual servers that provide the computing power to set up, run, and maintain databases in the AWS public cloud.
AWS refers to the specific instances that power Amazon RDS as database instances (DB instances).
DB instances provide an isolated environment in which to create and host one or more relational databases. Yet, you can access those databases just like a regular stand-alone database.
RDS DB instances (virtual hardware) run a kind of operating system (software) known as a relational database engine (DB engine). Amazon RDS currently supports six types of DB engines:
There are different versions of these engines, each with different features. The one thing they all have in common is that they run on RDS database instances.
How do those database instances work?
There are three types of Amazon RDS instance classes, each optimized for a specific use case:
Amazon RDS Instance Class |
Use case |
No. of vCPUs supported |
Amount of Memory Supported in GiB |
Networking I/O |
Standard performance |
Workloads with light in-memory functions |
Up to 64 |
1.7 to 256 |
0.45Gbps to 10Gbps |
Burstable performance |
Where you may need instances capable of handling sudden spikes in heavy load as needed (bursts). |
Up to 128 |
17.1 to 3904 |
0.50Gbps to 14Gbps |
Memory optimized |
Workloads with many in-memory functions, such as big data analysis |
Up to 8 |
1 to 32 |
Low to Moderate I/O |
Each RDS instance class includes both an instance type and size. An instance class can have several instance types. Then, each RDS instance type offers several instance sizes to choose from.
This flexibility gives you the freedom to choose the perfect database instance for your needs. It can also help achieve a healthy price-performance ratio. Yet, managing all those options often adds to the complexity of managing Amazon RDS.
There are two types of relational database instances available on Amazon RDS: General-purpose and Memory-optimized. Here's a table detailing the connection between RDS instance classes, families, and types.
Amazon RDS Database Instance Classes |
Database Instance Type |
Amazon RDS instance families |
Amazon RDS instance types |
Use case |
Standard performance |
General-purpose |
T M |
db.t2 db.m1, db.m2, db.m3, db.m4, db.m5, db.m5d, db.m6g |
Baseline level of CPU performance Balanced CPU, memory, and networking capacity for various types of workloads, but especially suitable for CPU-intensive workloads |
Burstable performance |
General purpose |
T |
db.t2 (Unlimited Mode) db.t3 db.t4g |
Balanced CPU, memory, and networking capacity for various types of workloads, but able to scale up performance during unexpected increases in workload for as long as needed |
Memory-optimized |
Memory-optimized |
R X Z |
db.r3, db.r4, db.r5d, db.r5b, db.r5, db.r6g db.x1, db.x1e, db.x2g db.z1d |
Boost performance of processes that handle a lot of data sets in memory Designed for high performance in enterprise-grade and heavy in-memory uses Combines the highest compute and memory performance of any instance type |
The RDS service provides some control over the type of instances you can choose for your workload. Bear in mind that RDS is a managed service, so you may not have as much choice as you would when running MySQL with Amazon EC2 instances.
Another thing. Each database instance size supports a unique combination of CPU, memory, networking, and storage resources.
Here’s a handy overview of the types of Amazon RDS instance sizes to expect:
Database instance type |
Database instance sizes |
vCPU |
Memory in GiB |
Networking performance in Gbps |
T2 |
db.t2.micro db.t2.small db.t2.medium db.t2.large db.t2.xlarge db.t2.2xlarge |
1 1 2 2 4 8 |
1 2 4 8 16 32 |
Low to moderate Low to moderate Low to moderate Low to moderate Moderate Moderate |
T3 |
db.t3.micro db.t3.small db.t3.medum db.t3.large db.t3.xlarge db.t3.2xlarge |
2 2 2 2 4 8 |
1 2 4 8 16 32 |
Up to 5Gbps Up to 5Gbps Up to 5Gbps Up to 5Gpbs Up to 5Gbps Up to 5Gbps |
T4g |
db.t4g.micro db.t4g.small db.t4g.medium db.t4g.large db.t4g.xlarge db.t4g.2xlarge |
2 2 2 2 4 8 |
1 2 4 8 16 32 |
Up to 5Gbps Up to 5Gbps Up to 5Gbps Up to 5Gbps Up to 5Gbps Up to 5Gbps |
M4 |
db.m4.large db.m4.xlarge db.m4.2xlarge db.m4.4xlarge db.m4.10xlarge db.m4.16xlarge |
2 4 8 16 40 64 |
8 16 32 64 160 256 |
Moderate High High High 10Gbps 25Gbps |
M5d |
db.m5d.large db.m5d.xlarge db.m5d.2xlarge db.m5d.4xlarge db.m5d.8x.large db.m5d.12xlarge db.m5d.16xlarge db.m5d.24xlarge |
2 4 8 16 32 48 64 96 |
8 16 32 64 128 192 256 384 |
Up to 10 Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 12Gbps 20Gbps 25Gbps |
M5 |
db.m5.large db.m5.xlarge db.m5.2xlarge db.m5.4xlarge db.m5.8xlarge db.m5.16xlarge db.m5.12xlarge db.m5.24xlarge |
2 4 8 16 32 48 64 96 |
8 16 32 64 128 192 256 384 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 12Gbps 20Gbps 25Gbps |
M6g |
db.m6g.large db.m6g.xlarge db.m6g.2xlarge db.m6g.4xlarge db.m6g.8xlarge db.m6g.12xlarge db.m6g.16xlarge |
2 4 8 16 32 48 64 |
8 16 32 64 128 192 265 |
Up to 10Gbps Up to 10Gbps Up to 10 Gbps Up to 10Gbps 12Gbps 20Gbps 25Gbps |
R4 |
db.r4.large db.r4.xlarge db.r4.2xlarge db.r4.4xlarge db.r4.8xlarge db.r4.16xlarge |
2 4 8 16 32 64 |
15.25 30.5 61 122 244 488 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 25Gbps |
R5d |
db.r5d.large db.r5d.xlarge db.r5d.2xlarge db.r5d.4xlarge db.r5d.8xlarge db.r5d.12xlarge db.r5d.16xlarge db.r5d.24xlarge |
2 4 8 16 32 48 64 96 |
16 32 64 128 256 384 512 768 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 10Gbps 20Gbps 25Gbps |
R5b |
db.r5b.large db.r5g.xlarge db.r5g.2xlarge db.r5g.4xlarge db.r5g.8xlarge db.r5g.12xlarge db.r5g.16xlarge db.r5g.24xlarge |
2 4 8 16 32 48 64 96 |
16 32 64 128 256 384 512 768 |
Up to 10 Gbps Up to 10 Gbps Up to 10Gbps Up to 10Gbps 10Gbps 10Gbps 20Gbps 25Gbps |
R5 |
* |
|||
R6g |
db.r6g.large db.r6g.xlarge db.r6g.2xlarge db.r6g.4xlarge db.r6g.8xlarge db.r6g.12xlarge db.r6g.16xlarge |
2 4 8 16 32 48 64 |
16 32 64 128 256 384 512 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 20Gbps 25Gbps |
X1 |
db.x16xlarge db.x1.32xlarge |
64 (32 cores) 128 (64 cores) |
976 1952 |
10Gbps 25 Gbps |
X1e |
db.x1e.xlarge db.x1e.2xlarge db.x1e.4xlarge db.x1e.8xlarge db.x1e.16xlarge db.x1e.32xlarge |
4 8 16 32 64 128 |
122 244 488 976 1952 3904 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 10Gbps 25Gbps |
X2g |
db.x2g.medium db.x2g.large db.x2g.xlarge db.x2g.2xlarge db.x2g.4xlarge db.x2g.8xlarge db.x2g.12xlarge db.x2g.16xlarge |
1 2 4 8 16 32 48 64 |
16 32 64 128 256 512 768 1024 |
Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps Up to 10Gbps 12Gbps 20Gbps 25Gbps |
Z1d |
db.z1d.large db.z1d.xlarge db.z1d.2xlarge db.z1d.3xlarge db.z1d.6xlarge db.z1d.12xlarge |
2 4 8 12 24 48 |
16 32 64 96 192 384 |
Up to 10,000Mbps Up to 10,000Mbps Up to 10,000Mbps Up to 10,000Mbps 10,000Mbps 25,000Mbps |
Other variables to consider when configuring RDS instances include whether they support enhanced networking, if they are EBS-optimized, and which database storage option to pair with them.
Now, it's not uncommon to feel overwhelmed by the number of RDS instance classes, families, and types available. Right-sizing database instances can be challenging for many teams. So, how do you do it?
You can do it yourself, manually. It may require trial and error to find just the right RDS instance type for your specific workload. This process can also take a couple of weeks or months, and continuously as your workload requirements evolve. Take care not to blow a hole in your budget.
There’s a second option. Consider automating the process with a tool if you're having trouble choosing the right RDS instance.
Using CloudZero Advisor, you can choose the most suitable Amazon RDS instances based on a combination of factors, like your DB engine, Amazon region, pricing, as well as your desired network, disk, CPU, and memory performance.
Check this out:
Moreover, CloudZero empowers you to collect, analyze, and understand your Amazon RDS costs in relation to your overall AWS spend. You can also zoom in to see your costs in a way that most cloud cost optimization tools never show you, like this:
With CloudZero, you can easily identify who, when, and where your cloud budget is going by viewing your:
Drift, for example, used CloudZero to figure out exactly where they could reduce their AWS costs and saved $2.4 million. CloudZero can also deliver for you.
The following are some answers to some of the most frequently asked questions about Amazon RDS.
RDS costs depend on several factors, which we’ve detailed in our Amazon RDS pricing guide here.
The Amazon RDS service provides database instances, while the Amazon EC2 service provides compute instances.
Use the AWS Command-Line Interface (AWS CLI), the AWS Management Console, or the Amazon RDS API to create or change your database instances.
RDS reboots your databases to apply changes, which can sometimes cause downtime. Be sure to plan your workload in advance to avoid disruptions to your service.
You can either apply instance changes immediately or schedule them to apply in the next maintenance window.
You can change the size of your RDS instance depending on your workload.
Amazon RDS is a fully managed AWS service that eliminates the need to set up, run, and maintain your own database infrastructure on AWS. This time-saving feature is reflected in RDS' higher pricing.
Cody Slingerland, a FinOps certified practitioner, is an avid content creator with over 10 years of experience creating content for SaaS and technology companies. Cody collaborates with internal team members and subject matter experts to create expert-written content on the CloudZero blog.
CloudZero is the only solution that enables you to allocate 100% of your spend in hours — so you can align everyone around cost dimensions that matter to your business.