DB インスタンスクラス変更の際の InvalidParameterCombination エラーの解消法
困っていた内容
Aurora PostgreSQL を利用中です。AWS CLI modify-db-instance でインスタンスクラスを変更しようとしましたが、InvalidParameterCombination エラーが出ます。どうすればいいですか?
(ちなみに現在のエンジンバージョンは 16.2, インスタンスクラスは db.r7i.large に変更するつもりです。この組み合わせはサポートされていないのでしょうか?)
$ aws rds modify-db-instance \
--db-instance-identifier <DB 識別子> \
--db-instance-class db.r7i.large \
--apply-immediately
An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation: RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r7i.large, Engine=aurora-postgresql, EngineVersion=16.2, LicenseModel=postgresql-license. For supported combinations of instance class and database engine version, see the documentation.
エラー文の日本語訳)
ModifyDBInstance操作の呼び出し時にエラーが発生しました
(InvalidParameterCombination):RDSは以下の組み合わせでのDBインスタンスの作成をサポートしていません:
DBInstanceClass=db.r7i.large、Engine=aurora-postgresql、EngineVersion=16.2、LicenseModel=postgresql-license。
インスタンスクラスとデータベースエンジンバージョンのサポートされている組み合わせについては、ドキュメントを参照してください。
どう対応すればいいの
インスタンスクラスとエンジンバージョンのサポートされている組み合わせについては、AWS CLI describe-orderable-db-instance-options にて確認可能ですので、ご活用ください。
一例として、Aurora PostgreSQL 16.2 における利用可能なインスタンスクラスの一覧を表示する方法は以下です。
aws rds describe-orderable-db-instance-options \
--engine aurora-postgresql --engine-version 16.2 \
--query 'OrderableDBInstanceOptions[].[DBInstanceClass,StorageType,Engine,EngineVersion]' \
--output table \
--region ap-northeast-1
-------------------------------------------------------------------
| DescribeOrderableDBInstanceOptions |
+-------------------+---------------+---------------------+-------+
| db.r5.12xlarge | aurora | aurora-postgresql | 16.2 |
| db.r5.12xlarge | aurora-iopt1 | aurora-postgresql | 16.2 |
...
| db.r7g.large | aurora | aurora-postgresql | 16.2 |
| db.r7g.large | aurora-iopt1 | aurora-postgresql | 16.2 |
...
| db.t4g.medium | aurora | aurora-postgresql | 16.2 |
| db.t4g.medium | aurora-iopt1 | aurora-postgresql | 16.2 |
+-------------------+---------------+---------------------+-------+
上記の通り,db.r7i.large は結果に含まれず、エンジンバージョン 16.2 では利用できないことがわかります。
ちなみに、特定のインスタンスクラス (例: db.r7i.large) が利用できるエンジンバージョンは以下コマンドで確認ができます。
aws rds describe-orderable-db-instance-options \
--engine aurora-postgresql --db-instance-class db.r7i.large \
--query 'OrderableDBInstanceOptions[].[DBInstanceClass,StorageType,Engine,EngineVersion]' \
--output table \
--region ap-northeast-1
----------------------------------------------------------------
| DescribeOrderableDBInstanceOptions |
+--------------+----------------+---------------------+--------+
| db.r7i.large| aurora | aurora-postgresql | 13.15 |
| db.r7i.large| aurora-iopt1 | aurora-postgresql | 13.15 |
...
| db.r7i.large| aurora | aurora-postgresql | 16.3 |
| db.r7i.large| aurora-iopt1 | aurora-postgresql | 16.3 |
...
| db.r7i.large| aurora | aurora-postgresql | 17.5 |
| db.r7i.large| aurora-iopt1 | aurora-postgresql | 17.5 |
+--------------+----------------+---------------------+--------+
上記の通り、16.2 は結果に含まれず利用ができないことがわかります。
なお、上記で示した結果は、公式ドキュメントにも記載があります。
公式ドキュメントをみると、db.r7i.large を利用するには Aurora PostgreSQL 16.3 以上のバージョンを利用しないといけないと記載がありますね。
Instance class Aurora PostgreSQL db.r7i.large 17.4 and higher, 16.3 and higher, 15.7 and higher, 14.12 and higher, 13.15 and higher
そのため、利用を開始したい場合は、マイナーバージョンを対象のものにアップグレードした上で、インスタンスクラス変更をお試しいただければと存じます。
参考情報