Je souhaite résoudre les erreurs qui s’affichent lorsque je crée ou mets à jour une ressource Amazon Relational Database Service (Amazon RDS) dans AWS CloudFormation.
Brève description
Une erreur peut s'afficher lorsque vous créez ou mettez à jour une pile CloudFormation pour une ressource Amazon RDS. Ces ressources peuvent inclure l'instance de base de données, le cluster de bases de données ou le groupe de paramètres de base de données. L'erreur se produit lorsque l'une des conditions suivantes est vraie :
- La ressource Amazon RDS n'est pas prise en charge pour les mises à jour.
- Vous avez spécifié des propriétés non valides pour la ressource Amazon RDS.
Résolution
Les erreurs courantes qui peuvent survenir lors des mises à jour des ressources de base de données Amazon RDS sont les suivantes :
Erreur : « Cannot upgrade aurora-postgresql (or any RDS version) from 13.XX to 14.YY (Service: Rds, Status Code: 400) »
Cette erreur peut se produire lorsque vous effectuez une mise à niveau mineure ou majeure du moteur de base de données RDS.
RDS effectue des vérifications préalables pour confirmer la viabilité avant la mise à niveau de la version du moteur. L'erreur se produit en cas d'échec lors de la vérification préalable.
Cliquez sur les liens suivants pour vous assurer que vous utilisez la mise à niveau de la version prise en charge par AWS pour votre type d'Amazon RDS :
Édition compatible avec Amazon Aurora PostgreSQL : Comment effectuer une mise à niveau d'une version majeure
Édition compatible avec Amazon Aurora MySQL : Mises à jour du moteur de base de données pour Amazon Aurora MySQL
Amazon RDS for Oracle : Mise à niveau du moteur de base de données RDS for Oracle
Amazon RDS for MySQL :Mise à niveau du moteur de base de données MySQL
Amazon RDS for PostgreSQL : Mise à niveau du moteur de base de données PostgreSQL pour Amazon RDS
Amazon RDS for MariaDB : Mise à niveau du moteur de base de données MariaDB
Erreur : « The current DB instance parameter group is custom. You must explicitly specify a new DB instance parameter group, either default or custom, for the engine version upgrade. »
Cette erreur peut s'afficher lorsque vous utilisez AWS CloudFormation pour effectuer une mise à niveau majeure de l'instance de base de données de base de données RDS. Le gestionnaire de ressources renvoie ce message d'erreur lorsque l'une des conditions suivantes est remplie :
Pour résoudre l'erreur, procédez comme suit :
- Mettez à jour la définition de ressource de l'instance de base de données dans le modèle de pile pour utiliser le groupe de paramètres de base de données par défaut pris en charge par la version actuelle du moteur. Mettez à jour la pile avec le modèle modifié.
- Mettez à jour la définition de ressource de l'instance de base de données pour utiliser la version du moteur mise à niveau et le groupe de paramètres de base de données par défaut pris en charge par la version.
- Mettez à jour la définition de ressource de votre instance de base de données pour utiliser le groupe de paramètres de base de données personnalisé requis avec la version mise à niveau du moteur.
Erreur causée par une dérive dans CloudFormation lors de la mise à niveau manuelle
Cette erreur peut s'afficher lorsqu'une instance de base de données RDS ou une version de cluster est mise à niveau manuellement (c'est-à-dire lorsque vous effectuez une mise à niveau hors bande). Lorsqu'une ressource créée par CloudFormation est modifiée manuellement, CloudFormation ne suit pas les modifications apportées aux ressources. Il en résulte une dérive sur la pile.
Pour vous assurer que la ressource réelle est synchronisée avec la pile CloudFormation, procédez comme suit :
- Modifiez le modèle de pile associé à la pile dérivée. Incluez un attribut DeletionPolicy dans la ressource de cluster avec la valeur Retenir sur l'instance ou le cluster de bases de données RDS. Mettez ensuite à jour la pile avec le modèle modifié. Cela permet de conserver la ressource réelle pendant que vous supprimez la ressource de la pile.
- Supprimez la ressource dérivée du modèle de pile, puis mettez à jour la pile.
- Réimportez la ressource dans la pile.
Remarque : Pour éviter toute dérive, vérifiez que le modèle de pile que vous utilisez pour importer la ressource RDS reflète la configuration actuelle de la ressource de base de données RDS.
- Effectuez une opération de détection de dérive sur la pile pour vérifier que la dérive est résolue.
Erreur : « Cannot change master user password while doing a major version upgrade. (Service: Rds, Status Code) »
Cette erreur indique que le mot de passe de la base de données RDS a été modifié.
Remarque : Vous ne pouvez pas effectuer une rotation de mot de passe en même temps qu'une mise à niveau majeure de la version.
Pour résoudre l'erreur, procédez comme suit :
- Effectuez une mise à jour de la pile avec le modèle existant. Cette mise à jour utilise le mot de passe modifié ainsi que la version actuelle du moteur. Une fois la mise à jour de la pile terminée, les informations d'identification de la base de données sont réinitialisées avec le nouveau mot de passe.
- Effectuez une mise à jour de la pile pour passer à la version principale du moteur cible.
Informations connexes
describe-engine-default-parameters