Como resolvo o erro: “Os parâmetros a seguir não estão definidos para o grupo especificado” quando atualizo a versão do mecanismo do meu cluster RDS usando o CloudFormation?

3 minuto de leitura
0

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: “Os parâmetros a seguir não estão definidos para o grupo especificado.”

Breve descrição

Depois de realizar um upgrade de um cluster ou instância de banco de dados do Amazon RDS que usa um grupo de parâmetros personalizado, você recebe um erro ao 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 o 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 a seguir na seção Resolução se aplicam somente ao cenário anterior.

Resolução

Os conjuntos de etapas a seguir são duas maneiras de resolver o erro: “Os parâmetros a seguir não estão definidos para o grupo especificado.”

Observação: aplicar de um grupo de parâmetros em uma instância de banco de dados pode levar à 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 antigo recurso ParameterGroup no modelo.
  2. Faça referência 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 em AWS::RDS::DBCluster ou AWS::RDS::DBInstance.
AWS OFICIAL
AWS OFICIALAtualizada há 2 anos