Configuration de la réplication des journaux binaires pour Aurora My SQL - Amazon Aurora

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 de la réplication des journaux binaires pour Aurora My SQL

La configuration de Ma SQL réplication avec Aurora My SQL implique les étapes suivantes, décrites en détail :

1. Activer la journalisation binaire sur la source de réplication

Vous trouverez des instructions sur la façon d'activer la journalisation binaire sur la source de réplication pour votre moteur de base de données ci-après.

2. Conserver les journaux binaires sur la source de réplication jusqu'à ce qu'ils ne soient plus nécessaires

Lorsque vous utilisez My SQL binary log replication, Amazon RDS ne gère pas le processus de réplication. En conséquence, vous devez vous assurer que les fichiers des journaux binaires sur votre source de réplication sont conservés jusqu'après que les modifications ont été appliquées au réplica. Cette maintenance vous permet de restaurer votre base de données source en cas de panne.

Suivez les instructions suivantes pour conserver les journaux binaires de votre moteur de base de données.

3. Créez une copie ou un dump de votre source de réplication

Vous utilisez un instantané, un clone ou un dump de votre source de réplication pour charger une copie de référence de vos données sur votre réplique. Ensuite, vous commencez à répliquer à partir de ce point.

Suivez les instructions ci-dessous pour créer une copie ou un dump de la source de réplication pour votre moteur de base de données.

4. Chargez le dump dans votre réplique cible (si nécessaire)

Si vous envisagez de charger des données à partir d'un dump d'une base de SQL données My Database externe à AmazonRDS, vous souhaiterez peut-être créer une EC2 instance dans laquelle copier les fichiers de vidage. Vous pouvez ensuite charger les données dans votre cluster de base de données ou votre instance de base de données à partir de cette EC2 instance. Grâce à cette approche, vous pouvez compresser le ou les fichiers de vidage avant de les copier sur l'EC2instance afin de réduire les coûts réseau associés à la copie de données vers AmazonRDS. Vous pouvez aussi chiffrer les fichiers de vidage pour sécuriser les données tandis qu'elles sont transférées sur le réseau.

Note

Si vous créez un nouveau cluster Aurora My SQL DB comme cible de réplication, vous n'avez pas besoin de charger un fichier de vidage :

Suivez les instructions ci-dessous pour charger le dump de votre source de réplication dans votre cible de réplication pour votre moteur de base de données.

5. Créer un utilisateur de réplication sur votre source de réplication

Créez un ID utilisateur sur la source qui est utilisé uniquement pour la réplication. L'exemple suivant concerne les bases RDS de données My SQL ou My SQL source externes.

mysql> CREATE USER 'repl_user'@'domain_name' IDENTIFIED BY 'password';

Pour les bases de données SQL source Aurora My, le paramètre de cluster de skip_name_resolve base de données est défini sur 1 (ON) et ne peut pas être modifié. Vous devez donc utiliser une adresse IP pour l'hôte plutôt qu'un nom de domaine. Pour plus d'informations, consultez skip_name_resolve dans Ma documentation. SQL

mysql> CREATE USER 'repl_user'@'IP_address' IDENTIFIED BY 'password';

L'utilisateur nécessite les privilèges REPLICATION CLIENT et REPLICATION SLAVE. Accordez ces privilèges à l'utilisateur.

Si vous devez utiliser une réplication cryptée, exigez SSL des connexions pour l'utilisateur de réplication. Par exemple, vous pouvez utiliser l'une des instructions suivantes pour exiger SSL des connexions sur le compte utilisateurrepl_user.

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'IP_address';
GRANT USAGE ON *.* TO 'repl_user'@'IP_address' REQUIRE SSL;
Note

Si REQUIRE SSL n'est pas inclus, la connexion de réplication peut revenir de façon silencieuse à une connexion non chiffrée.

6. Activer la réplication sur votre cible de réplica

Avant d'activer la réplication, nous vous recommandons de prendre un instantané manuel du cluster Aurora My SQL DB ou de la cible RDS de réplication de l'instance My SQL DB. Si un problème survient et que vous avez besoin de rétablir la réplication avec la cible de réplica du cluster de bases de données ou de l'instance de base de données, vous pouvez restaurer le cluster de bases de données ou l'instance de base de données à partir de cet instantané au lieu de devoir importer à nouveau les données dans votre cible de réplica.

Suivez les instructions suivantes pour activer la réplication pour votre moteur de base de données.

Si la réplication échoue, cela peut entraîner une augmentation importante des I/O involontaires sur le réplica, ce qui peut dégrader les performances. Si la réplication échoue ou n'est plus nécessaire, vous pouvez exécuter la procédure stockée mysql.rds_reset_external_master 2) SQL SQL ou mysql.rds_reset_external_source ( version 3) SQL pour supprimer la configuration de réplication.

Définition d'une position où arrêter la réplication vers un réplica en lecture

Dans Aurora My SQL version 3.04 et versions ultérieures, vous pouvez démarrer la réplication, puis l'arrêter à un emplacement de fichier journal binaire spécifié à l'aide de la procédure mysql.rds_start_replication_until (Aurora My version 3) SQL stockée.

Pour démarrer la réplication vers un réplica en lecture et l'arrêter à une position donnée
  1. À l'aide d'un SQL client My, connectez-vous à la réplique du cluster Aurora My SQL DB en tant qu'utilisateur principal.

  2. Exécutez la procédure stockée mysql.rds_start_replication_until (Aurora My version 3) SQL.

    L'exemple suivant lance la réplication et réplique les modifications jusqu'à ce qu'il atteigne la position 120 dans le fichier journal binaire mysql-bin-changelog.000777. Dans un scénario de reprise après sinistre, nous supposons que cette position 120 est juste avant le sinistre.

    call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);

La réplication s'arrête automatiquement lorsque le point d'arrêt est atteint. L'RDSévénement suivant est généré :Replication has been stopped since the replica reached the stop point specified by the rds_start_replication_until stored procedure.

Si vous utilisez la réplication GTID basée, utilisez la procédure mysql.rds_start_replication_until_gtid (Aurora My version 3) SQL stockée au lieu de la procédure mysql.rds_start_replication_until (Aurora My version 3) SQL stockée. Pour plus d'informations sur la réplication GTID basée, consultezUtilisation de GTID la réplication basée.

7. Surveiller votre réplica

Lorsque vous configurez My SQL replication avec un cluster Aurora My SQL DB, vous devez surveiller les événements de basculement pour le cluster Aurora My SQL DB lorsqu'il s'agit de la cible de la réplique. En cas de basculement, le cluster de bases de données qui est votre cible de réplica peut alors être recréé sur un nouvel hôte avec une adresse réseau différente. Pour plus d'informations sur la surveillance des événements de basculement, consultez Utilisation des notifications d'RDSévénements Amazon.

Vous pouvez également surveiller la distance entre la cible de réplication et la source de réplication en vous connectant à la cible de réplication et en exécutant la commande SHOW SLAVE STATUS (Aurora My SQL version 2) ou SHOW REPLICA STATUS (Aurora My SQL version 3). Dans la sortie de la commande, le champ Seconds Behind Master vous indique à quelle distance la cible de réplica se trouve de la source de réplication.

Important

Si vous mettez à niveau votre cluster de base de données et que vous spécifiez un groupe de paramètres personnalisé, veillez à redémarrer manuellement le cluster une fois la mise à niveau terminée. Cela oblige le cluster à utiliser vos nouveaux paramètres personnalisés et redémarre la réplication du journal binaire.

Synchronisation des mots de passe entre la source de réplication et la cible

Lorsque vous modifiez les comptes utilisateur et les mots de passe sur la source de réplication à l'aide d'SQLinstructions, ces modifications sont automatiquement répliquées sur la cible de réplication.

Si vous utilisez le AWS Management Console AWS CLI, le ou RDS API pour modifier le mot de passe principal sur la source de réplication, ces modifications ne sont pas automatiquement répliquées sur la cible de réplication. Si vous souhaitez synchroniser l'utilisateur principal et le mot de passe principal entre les systèmes source et cible, vous devez effectuer vous-même la même modification sur la cible de réplication.