Comment puis-je résoudre l’erreur : « Les paramètres suivants ne sont pas définis pour le groupe spécifié » lorsque je mets à niveau la version du moteur de mon cluster RDS à l’aide de CloudFormation ?

Lecture de 3 minute(s)
0

Lorsque j’essaie de mettre à niveau la version du moteur de mon cluster Amazon Relational Database Service (Amazon RDS) à l’aide d’AWS CloudFormation, le message d’erreur suivant s’affiche : « Les paramètres suivants ne sont pas définis pour le groupe spécifié. »

Brève description

Lorsque vous mettez à niveau un cluster ou une instance de base de données Amazon RDS qui utilise un groupe de paramètres personnalisé, vous recevez un message d’erreur si vous mettez à jour

Par exemple, dans le modèle suivant, la mise à jour de la propriété EngineVersion de 5.7.37 à 8.0.28 dans la ressource DBInstance entraîne l’échec de la mise à jour de la pile. La mise à jour de la pile échoue également lorsque vous mettez à jour la propriété Famille de MySQL5.7 vers MySQL8.0 dans la ressource DbParameterGroup.

Parameters:
  DBName:
    Default: MyDatabase
    Description: The database name
    Type: String
  DBUser:
    NoEcho: 'true'
    Description: The database admin account username
    Type: String
  DBPassword:
    NoEcho: 'true'
    Description: The database admin account password
    Type: String
Resources:
  MyDB:
    Type: 'AWS::RDS::DBInstance'
    Properties:
      DBName: !Ref DBName
      AllocatedStorage: '5'
      DBInstanceClass: db.t2.small
      Engine: MySQL
      EngineVersion: 5.7.37
      MasterUsername: !Ref DBUser
      MasterUserPassword: !Ref DBPassword
      DBParameterGroupName: !Ref MyRDSParamGroup
      AllowMajorVersionUpgrade: true
  MyRDSParamGroup:
    Type: 'AWS::RDS::DBParameterGroup'
    Properties:
      Family: MySQL5.7
      Description: CloudFormation Sample Database Parameter Group
      Parameters:
        autocommit: '1'
        general_log: '1'
        old_passwords: '0'

Remarque : D’autres scénarios peuvent provoquer ce message d’erreur. Les étapes décrites dans la section Résolution suivante s’appliquent uniquement au scénario précédent.

Résolution

Les étapes suivantes vous permettent de résoudre l’erreur de deux manières : « Les paramètres suivants ne sont pas définis pour le groupe spécifié. »

**Remarque :**L’application d’un groupe de paramètres à une instance de base de données peut déclencher un redémarrage de l’instance. Lors du redémarrage, une panne de base de données se produit.

  1. Ajoutez une nouvelle ressource ParameterGroup au modèle de pile avec la nouvelle valeur Famille et conservez l’ancienne ressource ParameterGroup dans le modèle.
  2. Faites référence à la nouvelle ressource ParameterGroup dans AWS::RDS::DBCluster ou AWS::RDS::DBInstance, et mettez à jour la propriété EngineVersion vers la nouvelle version.
    Remarque : Si vous effectuez une mise à niveau de version majeure, vous devez définir la propriété AllowMajorVersionUpgrade sur true.
  3. Mettez à jour la pile avec le modèle mis à jour.
  4. Une fois la pile mise à jour, supprimez la ressource ParameterGroup précédente du modèle de pile.

-ou-

  1. Modifiez le LogicalResourceID de la ressource ParameterGroup.
  2. Faites référence au nouveau LogicalResourceID dans AWS::RDS::DBCluster ou AWS::RDS::DBInstance.
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans