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.
Mise à l’échelle des lectures pour votre base de données MySQL avec Amazon Aurora
Vous pouvez utiliser Amazon Aurora avec votre instance de base de données MySQL pour tirer parti des capacités de mise à l’échelle en lecture d’Amazon Aurora et développer la charge de travail en lecture de votre instance de base de données MySQL. Pour utiliser Aurora afin de mettre à l’échelle les lectures pour votre instance de base de données MySQL, créez un cluster de bases de données Amazon Aurora MySQL et faites-en un réplica en lecture de votre instance de base de données MySQL. Cela s’applique à une instance de base de données RDS for MySQL ou à une base de données MySQL s’exécutant en dehors de Amazon RDS.
Pour plus d’informations sur la création d’un cluster de bases de données Amazon Aurora, consultez Création d’un cluster de bases de données Amazon Aurora.
Lorsque vous configurez la réplication entre votre instance de base de données MySQL et votre cluster de bases de données Amazon Aurora, veillez à respecter les instructions suivantes :
-
Utilisez l’adresse du point de terminaison du cluster de bases de données Amazon Aurora lorsque vous référencez votre cluster de bases de données Amazon Aurora MySQL. Si un basculement se produit, le réplica Aurora qui est promu en instance principale du cluster de bases de données Aurora MySQL continue d’utiliser l’adresse du point de terminaison du cluster de bases de données.
-
Tenez à jour les journaux binaires sur votre instance d’enregistreur jusqu’à ce que vous ayez vérifié qu’ils ont été appliqués au réplica Aurora. Cela garantit que vous pouvez restaurer votre instance d’enregistreur en cas de défaillance.
Important
Lorsque vous utilisez une réplication auto-gérée, vous êtes chargé de surveiller et résoudre les problèmes de réplication éventuels. Pour plus d’informations, consultez Diagnostic et résolution du retard entre réplicas en lecture.
Note
Les autorisations requises pour lancer la réplication sur un cluster de bases de données Aurora MySQL sont restreintes et ne sont pas disponibles pour votre utilisateur principal Amazon RDS. Par conséquent, vous devez utiliser les procédures mysql.rds_set_external_master (Aurora MySQL version 2) ou mysql.rds_set_external_source (Aurora MySQL version 3) et mysql.rds_start_replication pour configurer la réplication entre votre cluster de bases de données Aurora MySQL et votre instance de base de données MySQL.
Démarrer la réplication entre une instance source externe et un cluster de bases de données Aurora MySQL
-
Passez l’instance de base de données MySQL source en lecture seule :
mysql>FLUSH TABLES WITH READ LOCK;mysql>SET GLOBAL read_only = ON; -
Exécutez la commande
SHOW MASTER STATUSsur l’instance de base de données MySQL source pour déterminer l’emplacement du journal binaire. Vous obtenez une sortie similaire à ce qui suit :File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------ -
Copiez la base de données de l’instance de base de données MySQL externe vers le cluster de bases de données Amazon Aurora MySQL à l’aide de
mysqldump. Pour les bases de données très volumineuses, vous pouvez utiliser la procédure décrite dans la section Importation de données vers une base de données Amazon RDS for MySQL avec une durée d’indisponibilité réduite du Guide de l’utilisateur Amazon Relational Database Service.Pour Linux, macOS ou Unix :
mysqldump \ --databases <database_name> \ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user\ -plocal_password| mysql \ --host aurora_cluster_endpoint_address \ --port 3306 \ -uRDS_user_name\ -pRDS_passwordPour Windows :
mysqldump ^ --databases <database_name> ^ --single-transaction ^ --compress ^ --order-by-primary ^ -ulocal_user^ -plocal_password| mysql ^ --host aurora_cluster_endpoint_address ^ --port 3306 ^ -uRDS_user_name^ -pRDS_passwordNote
Veillez bien à ce qu’il n’y ait pas d’espace entre l’option
-pet le mot de passe saisi.Utilisez les options
--host,--user (-u),--portet-pde la commandemysqlpour spécifier le nom d’hôte, le nom d’utilisateur, le port et le mot de passe pour vous connecter à votre cluster de bases de données Aurora. Le nom d’hôte est le nom DNS du point de terminaison du cluster de bases de données Amazon Aurora, par exempl,mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de cluster dans Amazon RDS Management Console. -
Transformez l’instance de base de données MySQL source en instance accessible de nouveau en écriture :
mysql>SET GLOBAL read_only = OFF;mysql>UNLOCK TABLES;Pour plus d’informations sur les sauvegardes à utiliser avec la réplication, consultez Backing up a source or replica by making it read only
dans la documentation MySQL. -
Dans Amazon RDS Management Console, ajoutez l’adresse IP du serveur qui héberge la base de données MySQL source au groupe de sécurité VPC du cluster de bases de données Amazon Aurora. Pour plus d’informations sur la modification d’un groupe de sécurité de VPC, consultez Groupes de sécurité pour votre VPC dans le Guide de l’utilisateur Amazon Virtual Private Cloud.
Il se peut aussi que vous ayez besoin de configurer votre réseau local pour autoriser les connexions à partir de l’adresse IP de votre cluster de bases de données Amazon Aurora, de telle sorte qu’elle puisse communiquer avec votre instance MySQL source. Pour rechercher l’adresse IP du cluster de bases de données Amazon Aurora, utilisez la commande
host.hostaurora_endpoint_addressLe nom d’hôte est le nom DNS du point de terminaison du cluster de bases de données Amazon Aurora.
-
À l’aide du client de votre choix, connectez-vous à l’instance MySQL externe et créez un utilisateur MySQL à utiliser pour la réplication. Ce compte est utilisé exclusivement pour la réplication et doit être limité à votre domaine pour améliorer la sécurité. Voici un exemple de.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password'; -
Pour l’instance MySQL externe, attribuez les privilèges
REPLICATION CLIENTetREPLICATION SLAVEà votre utilisateur de réplication. Par exemple, pour accorder les privilègesREPLICATION CLIENTetREPLICATION SLAVEsur toutes les bases de données à l’utilisateur «repl_user» de votre domaine, émettez la commande suivante.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com' IDENTIFIED BY 'password'; -
Avant de configurer la réplication, prenez un instantané manuel du cluster de bases de données Aurora MySQL qui constituera le réplica en lecture. Si vous avez besoin de rétablir la réplication avec le cluster de bases de données en tant que réplica en lecture, vous pouvez restaurer le cluster de bases de données Aurora MySQL à partir de cet instantané au lieu de devoir importer les données depuis votre instance de base de données MySQL vers un nouveau cluster de bases de données Aurora MySQL.
-
Transformez le cluster de bases de données Amazon Aurora en réplica. Connectez-vous au cluster de bases de données Amazon Aurora en tant qu’utilisateur principal et identifiez la base de données MySQL source en tant que source de réplication en utilisant les procédures mysql.rds_set_external_master (Aurora MySQL version 2) ou mysql.rds_set_external_source (Aurora MySQL version 3) et mysql.rds_start_replication.
Utilisez le nom et la position du fichier binlog que vous avez déterminés à l’étape 2. Voici un exemple.
For Aurora MySQL version 2: CALL mysql.rds_set_external_master ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0); For Aurora MySQL version 3: CALL mysql.rds_set_external_source ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0); -
Sur le cluster de bases de données Amazon Aurora, appelez la procédure mysql.rds_start_replication pour démarrer la réplication.
CALL mysql.rds_start_replication;
Après avoir établi la réplication entre votre instance de base de données MySQL source et votre cluster de bases de données Amazon Aurora, vous pouvez ajouter des réplicas Aurora à votre cluster de bases de données Amazon Aurora. Vous pouvez alors vous connecter aux réplicas Aurora pour dimensionner vos données en lecture. Pour plus d’informations sur la création d’un réplica Aurora, consultez Ajout de réplicas Aurora à un cluster de bases de données.