Aurora インスタンスを db.r6g へ変更または起動するときにキャパシティ不足と思われるエラーが発生した際の対処方法

キャパシティ不足エラーということで時間を置いて再度変更や起動を行う方も多いかと思われますが、まずは Aurora インスタンスのエンジンバージョンが db.r6g インスタンスクラスをサポートしているか、希望する db.r6g インスタンスクラスで利用可能であるアベイラビリティゾーンを指定しているかをご確認ください。
2021.09.19

困っていた内容

Aurora インスタンスを db.r6g に変更または起動させたいのですが、キャパシティ不足と思われる以下のエラーが出力されてうまくいきません。対処方法を教えてください。

  • db.r6g インスタンスクラスに変更を試みた場合
    Cannot modify the instance class because there are no instances of the requested class available
     in the current instance's availability zone. Please try your request again at a later time.

  • db.r6g インスタンスクラスで起動を試みた場合

    Cannot create a db.r6g.large database instance because ap-northeast-1a, the targeted availability zone,
     does not currently have sufficient capacity to support db.r6g.large and storage type : aurora .
      Retry the launch with no availability zone, or choose from these availability zones: ap-northeast-1c.

どう対応すればいいの?

まず、Aurora インスタンスのエンジンバージョンが db.r6g インスタンスクラスをサポートしているか、希望する db.r6g インスタンスクラスで利用可能であるアベイラビリティゾーンを指定しているかを確認してください。

どちらも問題がなければ希望するインスタンスクラスの十分なオンデマンド容量が一時的にない状況にあります。

エンジンバージョンがサポートされているかを確認

Aurora インスタンスのエンジンバージョンが以下を満たしていることを確認します。

・ Aurora MySQL: バージョン 2.09.2 以降と 2.10.0 以降
・ Aurora PostgreSQL: バージョン 13.3、12.4 以降 と バージョン 11.9 以降

満たしていない場合はエンジンバージョンのアップグレードを実施してください。

describe-orderable-db-instance-options コマンドで利用可能な AZ を確認

describe-orderable-db-instance-options コマンドで DB インスタンスのエンジン、エンジンバージョン、希望する db.r6g インスタンスクラスを入力し、どのアベイラビリティゾーンで利用可能であるかを確認します。

Aurora MySQL

例)エンジンバージョン 5.7.mysql_aurora.2.09.2、希望するインスタンスクラスが db.r6g.large の場合

$ aws rds describe-orderable-db-instance-options \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.09.2 \
--db-instance-class db.r6g.large \
--query 'OrderableDBInstanceOptions[].AvailabilityZones'
[
    [
        {
            "Name": "ap-northeast-1c"
        },
        {
            "Name": "ap-northeast-1d"
        }
    ]
]

この場合は、アベイラビリティゾーンが ap-northeast-1c と ap-northeast-1d の場合のみ、db.r6g.large インスタンスへの変更または起動が可能となります。

Aurora PostgreSQL

例)エンジンバージョン 12.4、希望するインスタンスクラスが db.r6g.2xlarge の場合

$ aws rds describe-orderable-db-instance-options \
--engine aurora-postgresql \
--engine-version 12.4 \
--db-instance-class db.r6g.2xlarge \
--query 'OrderableDBInstanceOptions[].AvailabilityZones'
[
    [
        {
            "Name": "ap-northeast-1a"
        },
        {
            "Name": "ap-northeast-1d"
        }
    ]
]

この場合は、アベイラビリティゾーンが ap-northeast-1a と ap-northeast-1d の場合のみ、db.r6g.2xlarge インスタンスへの変更または起動が可能となります。

ここに問題がある場合は、DB インスタンスの変更/起動が可能な組み合わせとなるようにアベイラビリティゾーンや DB インスタンスクラスを調整してください。 利用可能でないアベイラビリティゾーンを指定しているために記載したエラーが表示されているケースが多いです。

上記2つでは特に問題がなかった場合

選択された AZ において希望するインスタンスクラスの十分なオンデマンド容量が一時的にない状況です。数分待ってからインスタンスクラスの変更や起動を再試行してください。

またはキャパシティに余裕がある他の DB インスタンスクラスや別のアベイラビリティーゾーンを指定してリクエストを再試行することが推奨されます。

・ 別の DB インスタンスクラスでリクエストを再試行してください。
・ 別のアベイラビリティーゾーンでリクエストを再試行します。
・ 明示的なアベイラビリティーゾーンを指定せずにリクエストを再試行してください。

参照