Wie behebe ich den Fehler: „The following parameters are not defined for the specified group: xxx, xxx“ (Die folgenden Parameter sind nicht für die angegebene Gruppe definiert: xxx, xxx), wenn ich die Engine-Version meines RDS-Clusters mithilfe von CloudFormation aktualisiere?
Letzte Aktualisierung: 06.05.2022
Wenn ich versuche, die Engine-Version meines Clusters im Amazon Relational Database Service (Amazon RDS) mithilfe von AWS CloudFormation zu aktualisieren, erhalte ich die folgende Fehlermeldung: „The following parameters are not defined for the specified group: xxx, xxx“ (Die folgenden Parameter sind für die angegebene Gruppe nicht definiert: xxx, xxx).
Kurzbeschreibung
Wenn Sie einen Amazon-RDS-DB-Cluster oder eine Instance mit benutzerdefinierter Parametergruppe aktualisieren, wird beim Aktualisieren eine Fehlermeldung angezeigt
- Die Eigenschaft EngineVersion für AWS::RDS::DBCluster oder AWS::RDS::DBInstance
-oder- - Die Eigenschaft Family für DBClusterParameterGroup oder DBParameterGroup
In der folgenden Vorlage zum Beispiel führt das Aktualisieren der Eigenschaft EngineVersion von 5.7.37 auf 8.0.28 in der Ressource DBInstance dazu, dass das Stack-Update fehlschlägt. Das Stack-Update schlägt auch fehl, wenn Sie die Eigenschaft Family in der Ressource DBParameterGroup 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 auch andere Szenarien, die diese Fehlermeldung verursachen können. Die Schritte im folgenden Lösungsabschnitt gelten nur für das vorhergehende Szenario.
Lösung
Die folgenden Schritte umfassen zwei Arten zum Beheben des Fehlers: „The following parameters are not defined for the specified group: xxx, xxx“ (Die folgenden Parameter sind für die angegebene Gruppe nicht definiert: xxx, xxx).
Hinweis: Das Anwenden einer Parametergruppe auf eine DB-Instance könnte einen Instance-Neustart auslösen. Während des Neustarts kommt es zu einem Datenbankausfall.
- Fügen Sie der Stack-Vorlage eine neue Ressource ParameterGroup mit dem neuen Wert für Family hinzu und behalten Sie die alte Ressource ParameterGroup in der Vorlage bei.
- Verweisen Sie in AWS::RDS::DBCluster oder AWS::RDS::DBInstance auf die neue Ressource ParameterGroup und aktualisieren Sie die Eigenschaft EngineVersion auf die neue Version.
Hinweis: Wenn Sie ein Upgrade auf eine Hauptversion durchführen, müssen Sie die Eigenschaft AllowMajorVersionUpgrade auf true setzen. - Aktualisieren Sie den Stack mit der aktualisierten Vorlage.
- Nachdem der Stack aktualisiert wurde, entfernen Sie die vorherige Ressource ParameterGroup aus der Stack-Vorlage.
-oder-
- Ändern Sie die LogicalResourceID der Ressource ParameterGroup.
- Verweisen Sie in AWS::RDS::DBCluster oder AWS::RDS::DBInstance auf die neue LogicalResourceID.
War dieser Artikel hilfreich?
Benötigen Sie Hilfe zur Fakturierung oder technischen Support?