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 :
Table des matières
1. Activer la journalisation binaire sur la source de réplication
3. Créez une copie ou un dump de votre source de réplication
4. Chargez le dump dans votre réplique cible (si nécessaire)
5. Créer un utilisateur de réplication sur votre source de réplication
Synchronisation des mots de passe entre la source de réplication et la cible
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.
Moteur de base de données | Instructions |
---|---|
Aurora My SQL |
Pour activer la journalisation binaire sur un cluster Aurora My SQL DB Définissez le paramètre de cluster de base de données Pour modifier le paramètre Si vous modifiez le paramètre Pour plus d’informations, consultez Paramètres de cluster de base de données et d'instance de base de données Amazon Aurora et Groupes de paramètres pour Amazon Aurora (). |
RDSpour My SQL |
Pour activer la journalisation binaire sur une RDS instance de base de données Amazon Vous ne pouvez pas activer la journalisation binaire directement pour une RDS instance de base de données Amazon, mais vous pouvez l'activer en procédant de l'une des manières suivantes :
|
Mon SQL (externe) |
Pour configurer la réplication chiffrée Pour répliquer les données en toute sécurité avec Aurora My SQL version 2, vous pouvez utiliser la réplication chiffrée. NoteSi vous n'avez pas besoin d'utiliser la réplication chiffrée, vous pouvez ignorer ces étapes. Pour pouvoir utiliser la réplication chiffrée, vous devez impérativement disposer des éléments suivants :
Lors de la réplication chiffrée, le cluster Aurora My SQL DB agit en tant que client auprès du serveur My SQL database. Les certificats et les clés du SQL client Aurora My se trouvent dans des fichiers au format .pem.
Pour activer la journalisation binaire sur une base de SQL données My Database externe
|
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.
Moteur de base de données | Instructions |
---|---|
Aurora My SQL |
Pour conserver les journaux binaires sur un cluster Aurora My SQL DB Vous n'avez pas accès aux fichiers binlog d'un cluster Aurora My SQL DB. Par conséquent, vous devez choisir un délai pour conserver les fichiers binlog sur votre source de réplication suffisamment longtemps pour garantir que les modifications ont été appliquées à votre réplique avant que le fichier binlog ne soit supprimé par Amazon. RDS Vous pouvez conserver les fichiers binlog sur un cluster Aurora My SQL DB pendant 90 jours au maximum. Si vous configurez la réplication avec une instance My SQL database ou My SQL DB comme réplique et que la base de données RDS pour laquelle vous créez une réplique est très volumineuse, choisissez une période prolongée pour conserver les fichiers binlog jusqu'à ce que la copie initiale de la base de données sur la réplique soit terminée et que le délai de réplication atteigne 0. Pour définir la période de rétention des journaux binaires, utilisez la procédure mysql.rds_set_configuration et spécifiez un paramètre de configuration L'exemple suivant définit la période de rétention des fichiers journaux binaires sur 6 jours :
Une fois la réplication démarrée, vous pouvez vérifier que les modifications ont été appliquées à votre réplique en exécutant la commande Si ce paramètre n'est pas spécifié, la valeur par défaut pour Aurora My SQL est 24 (1 jour). Si vous spécifiez une valeur supérieure à la valeur maximale, Aurora My SQL utilise la valeur maximale. |
RDSpour My SQL |
Pour conserver les journaux binaires sur une RDS instance de base de données Amazon Vous pouvez conserver les fichiers journaux binaires sur une instance Amazon RDS DB en définissant les heures de rétention des journaux binaires comme pour un cluster Aurora My SQL DB, décrit dans la ligne précédente. Vous pouvez également conserver les fichiers binlog sur une RDS instance de base de données Amazon en créant une réplique en lecture pour l'instance de base de données. Ce réplica en lecture a pour seul but temporaire et exclusif de conserver les fichiers journaux binaires. Une fois le réplica en lecture créé, appelez la procédure mysql.rds_stop_replication sur le réplica en lecture. Lorsque la réplication est arrêtée, Amazon RDS ne supprime aucun des fichiers binlog de la source de réplication. Après avoir configuré la réplication avec votre réplica permanent, vous pouvez supprimer le réplica en lecture lorsque le retard du réplica (champ |
Mon SQL (externe) |
Pour conserver les journaux binaires sur une base de SQL données My Database externe Comme les fichiers binlog d'une base de SQL données My Database externe ne sont pas gérés par AmazonRDS, ils sont conservés jusqu'à ce que vous les supprimiez. Une fois la réplication démarrée, vous pouvez vérifier que les modifications ont été appliquées à votre réplique en exécutant la commande |
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.
Moteur de base de données | Instructions |
---|---|
Aurora My SQL |
Pour créer une copie d'un cluster Aurora My SQL DB Utilisez l'une des méthodes suivantes :
Pour déterminer le nom et la position du fichier binlog Utilisez l'une des méthodes suivantes :
Pour créer un dump d'un cluster Aurora My SQL DB Si votre cible de réplication est une instance externe My SQL database ou RDS for My SQL DB, vous devez créer un fichier dump à partir de votre cluster de base de données Aurora. Assurez-vous d'exécuter la
|
RDSpour My SQL |
Pour créer un instantané d'une RDS instance de base de données Amazon Créez une réplique en lecture de votre RDS instance de base de données Amazon. Pour de plus amples informations, veuillez consulter Création d'un réplica en lecture dans le Guide de l'utilisateur Amazon Relational Database Service.
|
Mon SQL (externe) |
Pour créer un dump d'une base de SQL données My database externe
|
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 :
-
Vous pouvez effectuer une restauration à partir d'un instantané de cluster de base de données pour créer un nouveau cluster de base de données. Pour de plus amples informations, veuillez consulter Restauration à partir d'un instantané de cluster de base de données.
-
Vous pouvez cloner votre cluster de base de données source pour créer un nouveau cluster de base de données. Pour de plus amples informations, veuillez consulter Clonage d'un volume pour un cluster de base de données Amazon Aurora.
-
Vous pouvez migrer les données d'un instantané d'instance de base de données vers un nouveau cluster de base de données. Pour de plus amples informations, veuillez consulter Migration de données vers un cluster Amazon Aurora My SQL DB.
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.
Moteur de base de données | Instructions |
---|---|
Aurora My SQL |
Pour charger un dump dans un cluster Aurora My SQL DB
|
RDSpour My SQL |
Pour charger un dump dans une RDS instance de base de données Amazon
|
Mon SQL (externe) |
Pour charger un dump dans une base de SQL données My Database externe Vous ne pouvez pas charger un instantané de base de données ou un instantané de cluster de base de données dans une base de SQL données My database externe. A la place, vous devez utiliser la sortie de la commande
|
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
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.
Moteur de base de données | Instructions |
---|---|
Aurora My SQL |
Pour activer la réplication à partir d'un cluster Aurora My SQL DB
Pour utiliser SSL le chiffrement, définissez la valeur finale sur au |
RDSpour My SQL |
Pour activer la réplication à partir d'une RDS instance de base de données Amazon
Pour utiliser SSL le chiffrement, définissez la valeur finale sur au |
Mon SQL (externe) |
Pour activer la réplication à partir d'une base de SQL données My Database externe
|
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
-
À l'aide d'un SQL client My, connectez-vous à la réplique du cluster Aurora My SQL DB en tant qu'utilisateur principal.
-
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 binairemysql-bin-changelog.000777
. Dans un scénario de reprise après sinistre, nous supposons que cette position120
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.