Amazon Aurora DB インスタンスのインスタンスクラスを拡張したいと考えています。インスタンスクラスを変更できないの理由、および DB インスタンスのスケーリング時のエラーを解決する方法を教えてください。
簡単な説明
Amazon Aurora DB インスタンスのインスタンスクラスを変更すると、次のいずれかのエラーが表示されることがあります。
- "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 Cluster <cluster> requires a database engine upgrade to support db.r4.large"
- "RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r5.8xlarge, Engine=aurora, EngineVersion=5.6.10a, LicenseModel=general-public-license"
エラーのトラブルシューティングを行う前に、DB クラスターを最新のエンジンバージョンで実行するか、長期サポート (LTS) バージョンを使用することをお勧めします。新しいエンジンバージョンには、セキュリティ、安定性、およびインスタンスの可用性を向上させるための修正が含まれています。
- Amazon Relational Database Service (Amazon RDS) コンソールで 5.6.10a と表示されるバージョンで DB クラスターが実行している場合は、1.22.3 (推奨バージョン) または 1.19.6 (LTS バージョン) のテスト、またはこれらのバージョンへのアップグレードを検討してください。
- Amazon RDS コンソールで 5.7.12 と表示されるバージョンで DB クラスターが実行している場合は、 2.07.3 (推奨バージョン) または 2.04.9 (LTS バージョン) のテスト、またはこれらのバージョンへのアップグレードを検討してください。
- 古いバージョンからアップグレードした後、DB クラスター内のインスタンスに対して OS アップグレードを実行する必要がある場合があります。続行する前に、これらのアップグレードを適用してください。
注意: Aurora のクローン作成機能を使用して、データベースのアップグレードを作成およびテストできます。また、一部のリージョンまたはアベイラビリティーゾーン (AZ) では、T2 や R3 などの古いインスタンスクラスが使用できない場合があります。T3 や R5 などの新しいインスタンスクラスを使用することをお勧めします。
解決方法
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.
これは、Aurora DB インスタンスのインスタンスクラスを変更したときに発生する最も一般的なエラーの 1 つです。このエラーには、次の 2 つの原因が考えられます。
- The AZ does not have capacity for the target instance class you choose. AZ にターゲットインスタンスクラス用の十分なオンデマンド容量がない場合は、数分待ってからインスタンスクラスの変更を再試行します。
- **The target instance class is not supported in the AZ.**このエラーは、インスタンスが実行されている AZ の Aurora エンジンおよびエンジンバージョンでターゲットインスタンスクラスがサポートされていない場合に表示されます。エンジン、エンジンバージョン、インスタンスクラスをサポートする AZ を確認するには、次のコマンドを実行します。
aws rds describe-orderable-db-instance-options --engine <engine_name> --engine-version <engine_version> --db-instance-class <instance_class> --query 'OrderableDBInstanceOptions[].AvailabilityZones'
例:
aws rds describe-orderable-db-instance-options --engine aurora --engine-version 5.6.10a --db-instance-class db.t3.medium --query 'OrderableDBInstanceOptions[].AvailabilityZones'
DB Cluster <cluster> requires a database engine upgrade to support db.r4.large
このエラーは稀ですが、DB クラスターが古いバージョンの Aurora で実行されている場合に発生します。db.r4 インスタンスファミリーは Aurora バージョン 1.14.4 以降でのみサポートされます。DB クラスターの正確なエンジンバージョンを確認するには、クラスターにログインして次のクエリを実行します。
SELECT @@AURORA_VERSION;
apply-pending-maintenance-actions CLI コマンドを実行すると、データベースエンジンのアップグレードをスケジュールできます。
aws rds apply-pending-maintenance-action --resource-identifier arn:aws:rds:us-east-1:123456789012:cluster:aurora-cluster --apply-action system-update --opt-in-type immediate
RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r5.8xlarge, Engine=aurora, EngineVersion=5.6.10a, LicenseModel=general-public-license
このエラーは、古いバージョンの Aurora を実行している場合に発生します。db.r5 インスタンスファミリーは、一部の Aurora バージョンでサポートされていません。たとえば、db.r5.8xlarge インスタンスクラスは、Aurora MySQL 5.6 クラスター用の Aurora バージョン 1.19.6 以降でサポートされます。クラスターが古いバージョンを実行していて、このインスタンスクラスを変更しようとすると、このエラーが表示されます。
以下のような CLI コマンドを実行して、エンジンとインスタンスクラスの組み合わせでサポートされているエンジンのバージョンを検索します。
aws rds describe-orderable-db-instance-options --engine aurora --db-instance-class db.r5.8xlarge --query 'OrderableDBInstanceOptions[].EngineVersion'
関連情報
Amazon Aurora でサポートされている DB インスタンスクラス