问题描述
我尝试使用以下方法将 aurora Postgres 12.4 数据库从 db.r5.xlarge 更新为 db.r6g.4xlarge:
aws rds modify-db-instance \
--db-instance-identifier [db instance identifier] \
--db-instance-class db.r6g.4xlarge \
--apply-immediately
结果是:
调用 ModifyDBInstance 操作时发生错误 (InvalidParameterCombination):RDS 不支持创建具有以下组合的数据库实例:DBInstanceClass=db.r6g.4xlarge,Engine=aurora-postgresql,EngineVersion=12.4,LicenseModel=postgresql-执照。有关支持的实例类和数据库引擎版本的组合,请参阅文档。
根据 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html 处的文档,db.r6g.4xlarge 支持“Postgresql 12.3 及更高版本”。由于 12.4 高于 12.3,所以它应该可以工作,对吗?
有谁知道为什么 aurora Postgres 12.4 数据库不能将其实例类从 db.r5.xlarge 更改为 db.r6g.4xlarge?
解决方法
来自 AWS 的 this documentation;
-
Graviton2 数据库实例类现已在预览版中提供。不要将 db.r6g 预览数据库实例类用于生产数据库。
-
目前,与 PostgreSQL 11.9 兼容的 Aurora PostgreSQL 3.4 版支持 db.r6g 实例类。
-
您可以使用以下 aws cli 来检查支持哪些组合;
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}
您的链接用于 RDS,不是 Aurora。列出了 Aurora 支持的数据库实例类型 here。如您所见,db.r6g.4xlarge
的唯一支持的 PostgreSQL 版本是 PostgreSQL 11.9
:
与 PostgreSQL 11.9 兼容的 Aurora PostgreSQL 3.4 版支持 db.r6g 实例类。
这也在 Aurora 链接中标题为“预览 db.r6g – 最新一代内存优化实例类”的表中提供。