¿Cómo soluciono el error: “The following parameters are not defined for the specified group: xxx, xxx” (Los siguientes parámetros no están definidos para el grupo especificado: xxx, xxx) cuando actualizo la versión del motor de mi clúster de RDS con CloudFormation?

3 minutos de lectura
0

Cuando intento actualizar la versión del motor de mi clúster de Amazon Relational Database Service (Amazon RDS) con AWS CloudFormation, aparece el siguiente error: “The following parameters are not defined for the specified group: xxx, xxx” (Los siguientes parámetros no están definidos para el grupo especificado: xxx, xxx).

Descripción corta

Cuando actualiza un clúster de base de datos de Amazon RDS o una instancia que utiliza un grupo de parámetros personalizado, recibe un error al actualizar:

Por ejemplo, en la siguiente plantilla, al actualizar la propiedad EngineVersion de la versión 5.7.37 a la 8.0.28 en el recurso DBInstance, se produce un error en la actualización de la pila. La actualización de la pila también produce un error cuando se actualiza la propiedad Family de MySQL5.7 a MySQL8.0 en el recurso 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'

Nota: hay otros escenarios que pueden provocar este mensaje de error. Los pasos de la siguiente sección, Resolución, se aplican solo al escenario anterior.

Resolución

Los siguientes conjuntos de pasos son dos formas de resolver el error: “The following parameters are not defined for the specified group: xxx, xxx” (Los siguientes parámetros no están definidos para el grupo especificado: xxx, xxx).

Nota: la aplicación de un grupo de parámetros a una instancia de base de datos podría iniciar el reinicio de la instancia. Durante el reinicio, se produce una interrupción de la base de datos.

  1. Agregue un nuevo recurso ParameterGroup a la plantilla de pila con el nuevo valor Family y mantenga el recurso ParameterGroup anterior en la plantilla.
  2. Haga referencia al nuevo recurso ParameterGroup en AWS::RDS::DBCluster o AWS::RDS::DBInstance y actualice la propiedad EngineVersion a la nueva versión.
    Nota: si va a realizar una actualización de la versión principal, debe establecer la propiedad AllowMajorVersionUpgrade en true.
  3. Actualice la pila con la plantilla actualizada.
  4. Después de actualizar la pila, elimine el recurso ParameterGroup anterior de la plantilla de pila.

O

  1. Cambie el LogicalResourceID del recurso ParameterGroup.
  2. Haga referencia al nuevo LogicalResourceID en AWS::RDS::DBCluster o AWS::RDS::DBInstance.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año