I recently wrote a post to announce the availability of M6g, R6g and C6g families of instances on Amazon Elastic Compute Cloud (EC2). These instances offer better cost-performance ratio than their x86 counterparts. They are based on AWS-designed AWS Graviton2 processors, utilizing 64-bit Arm Neoverse N1 cores.
Starting today, you can also benefit from better cost-performance for your Amazon Relational Database Service (RDS) databases, compared to the previous M5 and R5 generation of database instance types, with the availability of AWS Graviton2 processors for RDS. You can choose between M6g and R6g instance families and three database engines (MySQL 8.0.17 and higher, MariaDB 10.4.13 and higher, and PostgreSQL 12.3 and higher).
M6g instances are ideal for general purpose workloads. R6g instances offer 50% more memory than their M6g counterparts and are ideal for memory intensive workloads, such as Big Data analytics.
Graviton2 instances provide up to 35% performance improvement and up to 52% price-performance improvement for RDS open source databases, based on internal testing of workloads with varying characteristics of compute and memory requirements.
Graviton2 instances family includes several new performance optimizations such as larger L1 and L2 caches per core, higher Amazon Elastic Block Store (EBS) throughput than comparable x86 instances, fully encrypted RAM, and many others as detailed on this page. You can benefit from these optimizations with minimal effort, by provisioning or migrating your RDS instances today.
RDS instances are available in multiple configurations, starting with 2 vCPUs, with 8 GiB memory for M6g, and 16 GiB memory for R6g with up to 10 Gbps of network bandwidth, giving you new entry-level general purpose and memory optimized instances. The table below shows the list of instance sizes available for you:
Instance Size | vCPU | Memory (GiB) | Dedicated EBS Bandwidth (Mbps) | Network Bandwidth (Gbps) |
|
M6g | R6g | ||||
large | 2 | 8 | 16 | Up to 4750 | Up to 10 |
xlarge | 4 | 16 | 32 | Up to 4750 | Up to 10 |
2xlarge | 8 | 32 | 64 | Up to 4750 | Up to 10 |
4xlarge | 16 | 64 | 128 | 4750 | Up to 10 |
8xlarge | 32 | 128 | 256 | 9000 | 12 |
12xlarge | 48 | 192 | 384 | 13500 | 20 |
16xlarge | 64 | 256 | 512 | 19000 | 25 |
Let’s Start Your First Graviton2 Based Instance
To start a new RDS instance, I use the AWS Management Console or the AWS Command Line Interface (CLI), just like usual, and select one of the db.m6g
or db.r6g
instance types (this page in the documentation has all the details).
Using the CLI, it would be:
aws rds create-db-instance
--region us-west-2
--db-instance-identifier $DB_INSTANCE_NAME
--db-instance-class db.m6g.large
--engine postgres
--engine-version 12.3
--allocated-storage 20
--master-username $MASTER_USER
--master-user-password $MASTER_PASSWORD
The CLI confirms with:
{
"DBInstance": {
"DBInstanceIdentifier": "newsblog",
"DBInstanceClass": "db.m6g.large",
"Engine": "postgres",
"DBInstanceStatus": "creating",
...
}
Migrating to Graviton2 instances is easy, in the AWS Management Console, I select my database and I click Modify.
The I select the new DB instance class:
Or, using the CLI, I can use the modify-db-instance API call.
There is a short service interruption happening when you switch instance type. By default, the modification will happen during your next maintenance window, unless you enable the ApplyImmediately
option.
You can provision new or migrate to Graviton2 Amazon Relational Database Service (RDS) instances in all regions where EC2 M6g and R6g are available : US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Mumbai), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and Europe (Frankfurt) AWS Regions.
As usual, let us know your feedback on the AWS Forum or through your usual AWS contact.