Como resolvo o erro: "The following parameters are not defined for the specified group: xxx, xxx" (Os seguintes parâmetros não estão definidos para o grupo especificado: xxx, xxx) quando atualizo a versão do mecanismo do meu cluster do RDS usando o CloudFormation?

Data da última atualização: 06/05/2022

Quando tento atualizar a versão do mecanismo do meu cluster do Amazon Relational Database Service (Amazon RDS) usando o AWS CloudFormation, recebo o seguinte erro: “The following parameters are not defined for the specified group: xxx, xxx” (Os seguintes parâmetros não estão definidos para o grupo especificado: xxx, xxx).

Breve descrição

Ao atualizar um cluster de banco de dados ou instância do Amazon RDS que usa um grupo de parâmetros personalizado, você recebe um erro se atualizar

Por exemplo, no modelo a seguir, atualizar a propriedade EngineVersion de 5.7.37 para 8.0.28 no recurso DBInstance faz com que a atualização da pilha falhe. A atualização da pilha também falha quando você atualiza a propriedade Family do MySQL5.7 para MySQL8.0 no 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'

Observação: existem outros cenários que podem causar essa mensagem de erro. As etapas na seção Resolução a seguir se aplicam somente ao cenário anterior.

Resolução

Os seguintes conjuntos de etapas são duas maneiras de resolver o erro: “The following parameters are not defined for the specified group: xxx, xxx.” (Os seguintes parâmetros não estão definidos para o grupo especificado: xxx, xxx).

Observação: aplicar um grupo de parâmetros a uma instância de banco de dados pode iniciar uma reinicialização da instância. Durante a reinicialização, há uma interrupção do banco de dados.

  1. Adicione um novo recurso ParameterGroup ao modelo de pilha com o novo valor Family e mantenha o recurso ParameterGroup antigo no modelo.
  2. Consulte o novo recurso ParameterGroup em AWS::RDS::DBCluster ou AWS::RDS::DBInstance e atualize a propriedade EngineVersion para a nova versão.
    Observação: se você estiver realizando uma atualização de versão principal, deverá definir a propriedade AllowMajorVersionUpgrade como true.
  3. Atualize a pilha com o modelo atualizado.
  4. Depois que a pilha for atualizada, remova o recurso ParameterGroup anterior do modelo de pilha.

-ou-

  1. Altere o LogicalResourceID do recurso ParameterGroup.
  2. Faça referência ao novo LogicalResourceID no AWS::RDS::DBCluster ou AWS::RDS::DBInstance.

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?