Pourquoi ai-je reçu une erreur lorsque j'ai modifié ou mis à l’échelle la classe d'instance de mon instance de base de données Amazon Aurora MySQL ?

Lecture de 6 minute(s)
0

Lorsque j'essaie de mettre à l’échelle mon instance de base de données Amazon Aurora édition compatible avec MySQL ou de modifier la classe d'instance, un message d'erreur s'affiche.

Brève description

Lorsque vous modifiez la classe d'instance d'une instance de base de donnée Aurora édition compatible avec MySQL, l'une des erreurs suivantes peut s'afficher :

  • « 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 » (Impossible de modifier la classe d'instance car aucune instance de la classe demandée n'est disponible dans la zone de disponibilité de l'instance actuelle. Veuillez renouveler votre demande ultérieurement)
  • « Cannot find version abc for aurora-mysql » (version abc pour Aurora-mysql introuvable)
  • « RDS does not support creating a DB instance with the following combination » (RDS ne prend pas en charge la création d'une instance de base de données avec la combinaison suivante)

Pour résoudre ce problème, effectuez les actions suivantes en fonction de l'erreur qui s'affiche.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Avant de résoudre l'erreur, il est recommandé d'exécuter vos clusters de bases de données sur la dernière version du moteur ou d'utiliser des versions de support à long terme (LTS). Les nouvelles versions de moteur fournissent des correctifs pour améliorer la sécurité, la stabilité et la disponibilité des instances.

Pour vérifier la version de votre cluster de bases de données, ouvrez la console Amazon Relational Database Service (Amazon RDS) et vérifiez la valeur sous Version du moteur. Si votre cluster de base de données s'exécute sur Aurora MySQL version 3, utilisez la version par défaut 3.05.2 ou la version LTS 3.04.1.

Remarque : Si votre cluster de base de données s'exécute sur Aurora MySQL version 2, vous ne pouvez utiliser Amazon RDS Extended Support que pour les versions mineures 2.11 et 2.12. La version 2.11.5 est la version par défaut.

Après avoir mis à niveau la version du moteur, installez les mises à niveau du système d'exploitation (OS) sur les instances de votre cluster de base de données. Créez un clone Aurora pour tester les mises à niveau de la base de données. Certaines régions ou zones de disponibilité AWS peuvent ne pas être disponibles dans les classes d'instances précédentes, telles que T2 ou R3. Il est recommandé d'utiliser des classes d'instances plus récentes telles que T3 et R5.

Impossible de modifier la classe d'instance

L'erreur Cannot modify the instance class (Impossible de modifier la classe d'instance) se produit lorsque la zone de disponibilité ne dispose pas d'une capacité à la demande suffisante pour la classe d'instance que vous avez choisie. Pour résoudre ce problème, attendez quelques minutes, puis modifiez à nouveau la classe d'instance. Cette erreur se produit également si la classe d'instance n'est pas disponible pour votre moteur et version d’Aurora dans la zone de disponibilité sur laquelle l'instance s'exécute.

Pour identifier les zones de disponibilité qui autorisent votre moteur, votre version de moteur et votre classe d'instance, exécutez la commande describe-orderable-db-instance-options suivante de l’interface de ligne de commande AWS :

aws rds describe-orderable-db-instance-options --engine engine_name --engine-version engine_version --db-instance-class instance-class --query 'OrderableDBInstanceOptions[].AvailabilityZones'

Remarque : Remplacez engine-name par votre moteur Aurora, engine-version par la version du moteur et instance-class par la classe d'instance.

Version introuvable

L'erreur Cannot find version (Version introuvable) se produit lorsque vous utilisez l'interface de ligne de commande AWS pour modifier la classe d'instance avec une version obsolète ou incorrecte.

Pour obtenir le numéro de version de l'instance de base de données dans votre cluster de base de données Aurora MySQL, exécutez la requête suivante :

SELECT @@AURORA_VERSION;

Pour vérifier la version de votre moteur de cluster de base de données, connectez-vous au cluster, puis exécutez la commande describe-db-clusters suivante :

aws rds describe-db-clusters \
--db-cluster-identifier example-cluster-identifier \
--query 'DBClusters[].EngineVersion' \
--output text \
--region Region-example

Remarque : Remplacez example-cluster-identifier par votre identifiant ou ARN de cluster, et remplacez Region-example par votre région.

Pour mettre à niveau le moteur de cluster de base de données, exécutez la commande apply-pending-maintenance-action suivante :

aws rds apply-pending-maintenance-action --resource-identifier example-ARN --apply-action system-update --opt-in-type immediate

Remarque : Remplacez example-ARN par l'ARN du cluster de base de données.

RDS ne prend pas en charge la création d'une instance de base de données avec la combinaison suivante

Si vous effectuez une mise à niveau vers la famille d'instances db.r4, mais que le cluster de base de données exécute une version précédente d'Aurora, le code d'erreur suivant s'affiche :

« DBInstanceClass=db.r4.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license. »

Vous ne pouvez utiliser la famille d'instances db.r4 que dans les versions 2.x, pas dans les versions 3.x. Vous ne pouvez pas non plus exécuter de classes d'instances Optimized Reads sur Aurora compatible avec MySQL. Si vous essayez d’effectuer une mise à niveau vers la famille de classes d'instances r6gd ou db.r6id, le code d'erreur suivant s'affiche :

« DBInstanceClass=db.r6gd.xlarge, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.07.1, LicenseModel=general-public-license. »

Si vous effectuez une mise à niveau vers la famille d'instances db.r8, mais que l'instance de base de données s'exécute sur une version précédente d'Aurora, le code d'erreur suivant s'affiche :

« DBInstanceClass=db.r8g.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license. »

La famille d'instances db.r8 n'est pas disponible dans toutes les versions d'Aurora. Par exemple, vous pouvez utiliser la classe d'instance db.r5.8xlarge uniquement dans les versions 3.08.0 et supérieures d'Aurora. Vous pouvez également utiliser db.r7i uniquement sur les versions 3.08.0 et supérieures. Cependant, vous pouvez utiliser db.r7g sur les versions 2.12.0 et supérieures, et sur les versions 3.03.1 et supérieures.

Pour identifier la version du moteur qui permet la combinaison de votre moteur et de votre classe d'instance, exécutez la commande describe-orderable-db-instance-options suivante :

aws rds describe-orderable-db-instance-options --engine example-engine --db-instance-class example-instance-class --query 'OrderableDBInstanceOptions[].EngineVersion'

Remarque : Remplacez example-engine par votre moteur et example-instance-class par votre classe d'instance.

Informations connexes

Types de classes d'instances de base de données

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un mois