Come posso risolvere l'errore: "The following parameters are not defined for the specified group: xxx, xxx" (I seguenti parametri non sono definiti per il gruppo specificato: xxx, xxx) quando aggiorno la versione del motore del cluster RDS utilizzando CloudFormation?
Ultimo aggiornamento: 06/05/2022
Quando provo ad aggiornare la versione del motore del cluster Amazon Relational Database Service (Amazon RDS) utilizzando AWS CloudFormation, viene visualizzato il seguente errore: "The following parameters are not defined for the specified group: xxx, xxx." (I seguenti parametri non sono definiti per il gruppo specificato: xxx, xxx.)
Breve descrizione
Quando esegui l'aggiornamento di un cluster o di un'istanza di database Amazon RDS che utilizza un gruppo di parametri personalizzato, ricevi un errore se aggiorni
- La proprietà EngineVersion per AWS::RDS::DBCluster o AWS::RDS::DBInstance
-oppure- - La proprietà Family per DbClusterParameterGroup o DBParameterGroup
Ad esempio, nel modello seguente, l'aggiornamento della proprietà EngineVersion da 5.7.37 a 8.0.28 nella risorsa DBInstance causa l'errore dell'aggiornamento dello stack. L'aggiornamento dello stack non va a buon fine anche quando si aggiorna la proprietà Family da MySQL5.7 a MySQL8.0 nella risorsa 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: esistono altri scenari che possono causare questo messaggio di errore. I passaggi nella seguente sezione "Risoluzione" si applicano solo allo scenario precedente.
Risoluzione
Le seguenti serie di passaggi costituiscono due modi per risolvere l'errore:"The following parameters are not defined for the specified group: xxx, xxx" (I seguenti parametri non sono definiti per il gruppo specificato: xxx, xxx)
Nota: l'applicazione di un gruppo di parametri a un'istanza database potrebbe innescare un riavvio dell'istanza. Durante il riavvio, si verifica un'interruzione del database.
- Aggiungi una nuova risorsa ParameterGroup al modello di stack con il nuovo valore Family e mantieni la vecchia risorsa ParameterGroup nel modello.
- Fai riferimento alla nuova risorsa ParameterGroup in AWS::RDS::DBCluster o AWS::RDS::DBInstance e aggiorna la proprietà EngineVersion alla nuova versione.
Nota: se stai eseguendo un importante aggiornamento della versione , devi impostare la proprietà AllowMajorVersionUpgrade su true. - Aggiorna lo stack con il modello aggiornato.
- Dopo l'aggiornamento dello stack, rimuovi la precedente risorsa ParameterGroup dal modello dello stack.
-oppure-
- Modifica il LogicalResourceID della risorsa ParameterGroup.
- Fai riferimento al nuovo LogicalResourceID in AWS::RDS::DBCluster o AWS::RDS::DBInstance.
Questo articolo è stato utile?
Hai bisogno di supporto tecnico o per la fatturazione?