Search code examples
postgresqlamazon-web-servicesamazon-rdsamazon-aurora

Why can an Aurora Postgres 12.4 not have it's instance class changed from db.r5.xlarge to db.r6g.4xlarge?


I tried updating an Aurora Postgres 12.4 database from db.r5.xlarge to db.r6g.4xlarge using:

aws rds modify-db-instance \
--db-instance-identifier [db instance identifier] \
--db-instance-class db.r6g.4xlarge \
--apply-immediately 

The result was:

An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation: RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r6g.4xlarge, Engine=aurora-postgresql, EngineVersion=12.4, LicenseModel=postgresql-license. For supported combinations of instance class and database engine version, see the documentation.

According to the documentation at https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html, db.r6g.4xlarge supports "PostgreSQL 12.3 & higher". Since 12.4 is higher than 12.3 it should work, right?

Does anyone know why an Aurora Postgres 12.4 database cannot have it's instance class changed from db.r5.xlarge to db.r6g.4xlarge?


Solution

  • As this documentation from AWS;

    1. Graviton2 DB instance classes are now available in preview release. Don't use the db.r6g preview DB instance classes with production databases.

    2. For now, Aurora PostgreSQL version 3.4 compatible with PostgreSQL 11.9 supports the db.r6g instance classes.

    3. You can use following aws cli to check which combinations are supported ;

    aws rds describe-orderable-db-instance-options --engine aurora-postgresql --db-instance-class db.r6g.4xlarge --query 'OrderableDBInstanceOptions[].[DBInstanceClass,StorageType,Engine,EngineVersion]' --output text --region {put your aws region here}