Table Of Contents
What Does An Amazon RDS Instance Do? RDS Instance Classes Explained What Are The Different RDS Instance Types? What Are The Different Amazon RDS Instance Sizes? How To Choose The Right Amazon RDS Instances For Your Workload Amazon RDS Instances FAQs

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

What Does An Amazon RDS Instance Do?

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:

  • MariaDB
  • MySQL
  • Microsoft MySQL Server
  • PostgreSQL
  • Oracle

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?

finops-automation-series-thumbnails

RDS Instance Classes Explained

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.

What Are The Different RDS Instance Types?

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

What Are The Different Amazon RDS Instance Sizes?

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?

How To Choose The Right Amazon RDS Instances For Your Workload

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:

CloudZero Advisor

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:

Cost Per Customer

With CloudZero, you can easily identify who, when, and where your cloud budget is going by viewing your:

  • Cost per customer
  • Cost per feature
  • Cost per team
  • Cost per project
  • Cost per deployment
  • Cost per environment
  • Cost of goods sold (COGS), and more

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.

to get started!

Amazon RDS Instances FAQs

The following are some answers to some of the most frequently asked questions about Amazon RDS.

How much do Amazon RDS instances cost?

RDS costs depend on several factors, which we’ve detailed in our Amazon RDS pricing guide here.

What is the difference between RDS and EC2 instances?

The Amazon RDS service provides database instances, while the Amazon EC2 service provides compute instances.

How do I change my RDS instance type?

Use the AWS Command-Line Interface (AWS CLI), the AWS Management Console, or the Amazon RDS API to create or change your database instances.

Does changing my RDS instance type cause downtime?

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.

How long does it take to change an Amazon RDS instance?

You can either apply instance changes immediately or schedule them to apply in the next maintenance window.

Can I downgrade an RDS instance size?

You can change the size of your RDS instance depending on your workload.

Why are Amazon RDS instances more expensive than Amazon EC2 instances?

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.

The Modern Guide To Managing Cloud Costs

Traditional cost management is broken. Here's how to fix it.

Modern Cost Management Guide