Wie behebe ich den Fehler: „Die folgenden Parameter sind für die angegebene Gruppe nicht definiert“, wenn ich die Engine-Version meines RDS-Clusters mit CloudFormation aktualisiere?

Lesedauer: 2 Minute
0

Wenn ich versuche, die Engine-Version meines Amazon Relational Database Service (Amazon RDS)-Clusters mithilfe von AWS CloudFormation zu aktualisieren, erhalte ich die folgende Fehlermeldung: „Die folgenden Parameter sind für die angegebene Gruppe nicht definiert.“

Kurzbeschreibung

Wenn Sie ein Upgrade eines Amazon RDS-DB-Clusters oder einer Instance durchführen, die eine benutzerdefinierte Parametergruppe verwendet, erhalten Sie eine Fehlermeldung bei der Aktualisierung

In der folgenden Vorlage führt beispielsweise das Aktualisieren der EngineVersion-Eigenschaft von 5.7.37 auf 8.0.28 in der DBInstance-Ressource dazu, dass das Stack-Update fehlschlägt. Das Stack-Update schlägt auch fehl, wenn Sie die Family-Eigenschaft in der DBParameterGroup-Ressource von MySQL5.7 auf MySQL8.0 aktualisieren.

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'

**Hinweis:**Es gibt andere Szenarien, die zu dieser Fehlermeldung führen können. Die Schritte im folgenden Behebungsabschnitt gelten nur für das vorhergehende Szenario.

Behebung

Mit den folgenden Schritten können Sie den Fehler auf zwei Arten beheben: „Die folgenden Parameter sind für die angegebene Gruppe nicht definiert."

**Hinweis:**Das Anwenden einer Parametergruppe auf eine DB-Instance kann einen Instance-Neustart auslösen. Während des Neustarts kommt es zu einem Datenbankausfall.

  1. Fügen Sie der Stack-Vorlage eine neue ParameterGroup-Ressource mit dem neuen Family-Wert hinzu und behalten Sie die alte ParameterGroup-Ressource in der Vorlage bei.
  2. Verweisen Sie auf die neue ParameterGroup-Ressource in AWS::RDS::DBCluster oder AWS::RDS::DBInstance und aktualisieren Sie die EngineVersion-Eigenschaft auf die neue Version.
    **Hinweis:**Wenn Sie ein Upgrade der Hauptversion durchführen, müssen Sie die Eigenschaft AllowMajorVersionUpgrade auf true setzen.
  3. Aktualisieren Sie den Stack mit der aktualisierten Vorlage.
  4. Nachdem der Stack aktualisiert wurde, entfernen Sie die vorherige ParameterGroup-Ressource aus der Stack-Vorlage.

-oder-

  1. Ändern Sie die LogicalResourceID der ParameterGroup-Ressource.
  2. Verweisen Sie in AWS::RDS::DBCluster oder AWS::RDS::DBInstance auf die neue LogicalResourceID.
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren