Configuration d'un cluster actif-actif avec de nouvelles instances de base de données - Amazon Relational Database Service

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.

Configuration d'un cluster actif-actif avec de nouvelles instances de base de données

Procédez comme suit pour configurer un cluster actif-actif à l'aide des nouvelles instances Amazon 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

É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 : créer de nouvelles instances RDS for My SQL DB pour le cluster actif-actif

Les clusters actifs-actifs sont pris en charge pour les versions 8.0.35 et supérieures RDS pour les instances My DB. SQL Vous pouvez créer jusqu'à neuf nouvelles instances de base de données pour le cluster.

Vous pouvez utiliser le AWS Management Console ou le AWS CLI pour créer de nouvelles instances de base de données. Pour plus d'informations sur la création d'une instance de base de données, consultez Création d'une RDS instance de base de données Amazon. Lorsque vous créez l'instance de base de données, associez-la à un groupe de paramètres de base de données que vous avez créé ou modifié à l'étape précédente.

Étape 3 : Spécifier les instances de base de données dans le cluster actif-actif

Dans le groupe de paramètres de base de données associé à chaque instance de base de données, définissez le group_replication_group_seeds paramètre sur les points de terminaison des instances de base de données que vous souhaitez inclure dans le cluster.

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,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.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,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
Astuce

Assurez-vous de définir le group_replication_group_seeds paramètre dans chaque groupe de paramètres de base de données associé à une instance de base de données dans le cluster actif-actif.

Étape 4 : Initialisation du groupe sur une instance de base de données et démarrage de la réplication

Vous pouvez choisir n'importe quelle nouvelle base de données pour initialiser le groupe et démarrer la réplication. Pour ce faire, exécutez les étapes suivantes :

  1. Choisissez une instance de base de données dans le cluster actif-actif et connectez-vous à cette instance de base de données dans un 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.

  2. 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'rdsgrprepladminutilisateur. L'rdsgrprepladminutilisateur 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édure mysql.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 5 : 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'rdsgrprepladminutilisateur.

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 6 : (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 dans la section Ma SQL documentation.

Étape 7 : (Facultatif) Importer des données dans une instance de base de données du cluster actif-actif

Vous pouvez importer des données d'une SQL base de données My dans une instance de base de données du cluster actif-actif. Une fois les données importées, Group Replication les réplique sur les autres instances de base de données du cluster.

Pour plus d'informations sur l'importation de données, consultezImportation de données vers une base de données MariaDB ou MySQL Amazon RDS avec un temps d'arrêt réduit.