Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Conversion d'une instance de base de données existante en cluster actif-actif
La version du moteur de base de données de l'SQLinstance de base de données Amazon RDS for My que vous souhaitez migrer vers un cluster actif-actif doit être My SQL 8.0.35 ou une version ultérieure. Si vous devez mettre à niveau la version du moteur, consultezMises à niveau du moteur RDS for My SQL DB.
Si vous configurez un cluster actif-actif avec plusieurs instances de base de donnéesVPC, assurez-vous de remplir les conditions requises dans. Préparation à un cluster à VPC activités croisées
Procédez comme suit pour migrer une instance de base de données existante vers un cluster actif-actif pour RDS for My. SQL
Rubriques
- Étape 1 : définir les paramètres du cluster actif-actif dans un ou plusieurs groupes de paramètres personnalisés
- Étape 2 : associer l'instance de base de données à un groupe de paramètres de base de données dont les paramètres de réplication de groupe requis sont définis
- Étape 3 : Création du cluster actif-actif
- Étape 4 : créer des instances supplémentaires RDS pour My SQL DB pour le cluster actif-actif
- Étape 5 : Initialiser le groupe sur l'instance de base de données que vous convertissez
- Étape 6 : démarrer la réplication sur les autres instances de base de données du cluster actif-actif
- Étape 7 : (Recommandé) Vérifiez l'état du cluster actif-actif
Étape 1 : définir les paramètres du cluster actif-actif dans un ou plusieurs groupes de paramètres personnalisés
Les instances RDS for My SQL DB d'un cluster actif-actif doivent être associées à un groupe de paramètres personnalisé dont le réglage est correct pour les paramètres requis. Pour plus d'informations sur les paramètres et le réglage requis pour chacun d'entre eux, consultezRéglages de paramètres requis pour les clusters actifs-actifs.
Vous pouvez définir ces paramètres dans de nouveaux groupes de paramètres ou dans des groupes de paramètres existants. Toutefois, pour éviter d'affecter accidentellement les instances de base de données qui ne font pas partie du cluster actif-actif, nous vous recommandons vivement de créer un nouveau groupe de paramètres personnalisé. Les instances de base de données d'un cluster actif-actif peuvent être associées au même groupe de paramètres de base de données ou à différents groupes de paramètres de base de données.
Vous pouvez utiliser le AWS Management Console ou le AWS CLI pour créer un nouveau groupe de paramètres personnalisés. Pour de plus amples informations, veuillez consulter Création d'un groupe de paramètres de base de données dans RDSAmazon. L'exemple suivant exécute la create-db-parameter-group AWS CLI commande pour créer un groupe de paramètres de base de données personnalisé nommé
:myactivepg
Dans Linux, macOS, ou Unix:
aws rds create-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters
"
Dans Windows:
aws rds create-db-parameter-group ^ --db-parameter-group-name
myactivepg
^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters
"
Vous pouvez également utiliser le AWS Management Console ou le AWS CLI pour définir les paramètres du groupe de paramètres personnalisés. Pour de plus amples informations, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon RDS.
L'exemple suivant exécute la modify-db-parameter-group AWS CLI commande pour définir les paramètres :
Dans Linux, macOS, ou Unix:
aws rds modify-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555
',ApplyMethod=pending-reboot"
Dans Windows:
aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='
11111111-2222-3333-4444-555555555555
',ApplyMethod=pending-reboot"
Étape 2 : associer l'instance de base de données à un groupe de paramètres de base de données dont les paramètres de réplication de groupe requis sont définis
Associez l'instance de base de données à un groupe de paramètres que vous avez créé ou modifié à l'étape précédente. Pour obtenir des instructions, consultez Associer un groupe de paramètres de base de données à une instance de base de données dans RDSAmazon.
Redémarrez l'instance de base de données pour que les nouveaux paramètres prennent effet. Pour obtenir des instructions, consultez Redémarrage d'une instance de base de données.
Étape 3 : Création du cluster actif-actif
Dans le groupe de paramètres de base de données associé à l'instance de base de données, définissez le group_replication_group_seeds
paramètre sur le point de terminaison de l'instance de base de données que vous convertissez.
Vous pouvez utiliser le AWS Management Console ou le AWS CLI pour définir le paramètre. Il n'est pas nécessaire de redémarrer l'instance de base de données après avoir défini ce paramètre. Pour de plus amples informations sur la définition des paramètres, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon RDS.
L'exemple suivant exécute la modify-db-parameter-group AWS CLI commande pour définir les paramètres :
Dans Linux, macOS, ou Unix:
aws rds modify-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306
',ApplyMethod=immediate"
Dans Windows:
aws rds modify-db-parameter-group ^ --db-parameter-group-name
myactivepg
^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306
',ApplyMethod=immediate"
Étape 4 : créer des instances supplémentaires RDS pour My SQL DB pour le cluster actif-actif
Pour créer des instances de base de données supplémentaires pour le cluster actif-actif, effectuez une point-in-time restauration sur l'instance de base de données que vous convertissez. Pour obtenir des instructions, consultez Ajouter une instance de base de données à un cluster actif-actif à l'aide de la restauration point-in-time.
Un cluster actif-actif peut avoir jusqu'à neuf instances de base de données. Effectuez la point-in-time restauration sur l'instance de base de données jusqu'à ce que vous disposiez du nombre d'instances de base de données que vous souhaitez pour le cluster. Lorsque vous effectuez cette point-in-recovery opération, assurez-vous d'associer l'instance de base de données que vous ajoutez à un groupe de paramètres de base de données rds.group_replication_enabled
défini sur1
. Sinon, la réplication de groupe ne démarrera pas sur l'instance de base de données nouvellement ajoutée.
Étape 5 : Initialiser le groupe sur l'instance de base de données que vous convertissez
Initialisez le groupe et lancez la réplication :
-
Connectez-vous à l'instance de base de données que vous êtes en train de convertir en SQL client. Pour plus d'informations sur la connexion à une instance RDS for My SQL DB, consultezConnexion à une instance de base de données exécutant le moteur My SQL database.
-
Dans le SQL client, exécutez les procédures stockées suivantes et remplacez
group_replication_user_password
avec le mot de passe de l'rdsgrprepladmin
utilisateur. L'rdsgrprepladmin
utilisateur est réservé aux connexions de réplication de groupe dans un cluster actif-actif. Le mot de passe de cet utilisateur doit être le même sur toutes les instances de base de données d'un cluster actif-actif.call mysql.rds_set_configuration('binlog retention hours',
168
); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password
'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password
'); call mysql.rds_group_replication_start(1);Cet exemple définit la
binlog retention hours
valeur sur168
, ce qui signifie que les fichiers journaux binaires sont conservés pendant sept jours sur l'instance de base de données. Vous pouvez ajuster cette valeur en fonction de vos besoins.Cet exemple indique
1
dans la procéduremysql.rds_group_replication_start
stockée d'initialiser un nouveau groupe avec l'instance de base de données actuelle.Pour plus d'informations sur les procédures stockées appelées dans l'exemple, consultezGestion des clusters actifs-actifs.
Étape 6 : démarrer la réplication sur les autres instances de base de données du cluster actif-actif
Pour chacune des instances de base de données du cluster actif-actif, utilisez un SQL client pour vous connecter à l'instance et exécutez les procédures stockées suivantes. Remplacez group_replication_user_password
avec le mot de passe de l'rdsgrprepladmin
utilisateur.
call mysql.rds_set_configuration('binlog retention hours',
168
); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password
'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password
'); call mysql.rds_group_replication_start(0);
Cet exemple définit la binlog retention hours
valeur sur168
, ce qui signifie que les fichiers journaux binaires sont conservés pendant sept jours sur chaque instance de base de données. Vous pouvez ajuster cette valeur en fonction de vos besoins.
Cet exemple indique 0
dans la procédure mysql.rds_group_replication_start
stockée de joindre l'instance de base de données actuelle à un groupe existant.
Astuce
Assurez-vous d'exécuter ces procédures stockées sur toutes les autres instances de base de données du cluster actif-actif.
Étape 7 : (Recommandé) Vérifiez l'état du cluster actif-actif
Pour vous assurer que chaque membre du cluster est correctement configuré, vérifiez l'état du cluster en vous connectant à une instance de base de données du cluster actif-actif et en exécutant la commande suivante : SQL
SELECT * FROM performance_schema.replication_group_members;
Votre sortie doit s'afficher ONLINE
pour chaque instance MEMBER_STATE
de base de données, comme dans l'exemple de sortie suivant :
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
| group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
| group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)
Pour plus d'informations sur les MEMBER_STATE
valeurs possibles, consultez la section États des serveurs de réplication de groupe