Comment créer un réplica en lecture pour une instance de base de données Amazon Aurora MySQL ?

Lecture de 7 minute(s)
0

J'ai un cluster Amazon Aurora MySQL. Je souhaite créer un réplica de lecture en région ou ajouter des régions pour mon cluster de bases de données Aurora. Comment procéder ?

Brève description

Les répliques Aurora augmentent la capacité de calcul de votre cluster de base de données Aurora MySQL. Elles aident à répartir la charge de travail de lecture (mise à l'échelle de la lecture) au sein de la région et servent également de cibles de basculement. Cela signifie que si votre instance de base de données principale échoue, un réplica Aurora est ensuite promu en instance principale.

Une réplique en lecture interrégionale utilise la journalisation binaire MySQL pour répliquer vos données vers un cluster d'une autre région. Cela vous permet d'étendre les opérations de lecture à une région secondaire plus proche de vos utilisateurs. Cela permet d'améliorer les capacités de reprise après sinistre. Cela facilite également la migration d'une région AWS vers une autre.

Les bases de données mondiales Amazon Aurora peuvent couvrir plusieurs régions AWS. Ils permettent des lectures globales à faible latence et permettent une reprise après une rare panne susceptible d'affecter l'ensemble d'une région AWS. Aurora réplique les données vers les régions AWS secondaires à l'aide de son propre protocole de réplication et d'une infrastructure dédiée, ce qui entraîne des latences généralement inférieures à une seconde.

Suivez les étapes suivantes pour créer une réplique en lecture dans une région ou entre régions, ou pour ajouter une nouvelle région à votre cluster de base de données Aurora MySQL.

Outre la journalisation binaire gérée par Aurora, vous pouvez configurer et gérer votre propre environnement de réplication de journalisation binaire. Dans cet environnement, Aurora peut être la source ou la cible.

Remarque : Ces étapes ne s'appliquent pas aux clusters Aurora sans serveur ou aux clusters Aurora multi-master.

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de la ligne de commande AWS (AWS CLI), vérifiez que vous utilisez la version la plus récente de l'AWS CLI.

Créer un réplica de lecture entre régions pour un cluster Aurora MySQL

Utilisation de la console Amazon RDS

1.    Ouvrez la console Amazon RDSet sélectionnez Bases de données dans le panneau de navigation.

2.    Choisissez le cluster de bases de données auquel vous souhaitez ajouter la nouvelle instance de base de données.

3.    Dans la section Actions , choisissez Ajouter un lecteur.

4.    Sur la page Ajouter un lecteur, personnalisez les options de votre réplica Aurora.

5.    Choisissez Ajouter un lecteur pour créer le réplica.

Utilisation de l'AWS CLI

Pour créer un réplica Aurora dans votre cluster de bases de données à l'aide de l'interface de ligne de commande AWS, exécutez la commande create-db-instance. Incluez le nom du cluster de bases de données à l'aide de l'option --db-cluster-identifier. Vous pouvez également spécifier une zone de disponibilité (AZ) pour le réplica Aurora à l'aide du paramètre availability-zone.

Cet exemple de commande crée un réplica en lecture pour Aurora MySQL (même région et compatible Aurora MySQL 5.7 et Aurora MySQL 8.0).

Linux, macOS ou Unix :

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large \
    --availability-zone us-west-2a

Windows :

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large ^
    --availability-zone us-west-2a

Remarque : Si vous souhaitez créer un réplica en lecture pour un cluster compatible Aurora MySQL 5.6, modifiez le paramètre --engine par --engine aurora dans cette commande.

Créer un réplica de lecture entre régions pour un cluster Aurora MySQL

Avant de pouvoir créer un réplica de lecture entre régions, vous devez la journalisation binaire sur votre cluster de bases de données Aurora MySQL source. La réplication inter-régions utilise la réplication binaire MySQL pour relire les modifications sur le cluster de réplica en lecture entre régions. Créez ensuite un cluster interrégional à l'aide de la console Amazon RDS ou de l'AWS CLI. 

Remarque : Vous ne pouvez pas créer de réplica Aurora chiffré pour un cluster de bases de données Aurora non chiffré. Vous ne pouvez pas créer de réplica Aurora non chiffré pour un cluster de bases de données Aurora chiffré.

Activer la journalisation binaire pour votre cluster de base de données

1.    Mettez à jour le paramètre binlog_format pour votre cluster de bases de données source. Il s'agit d'un paramètre de niveau cluster qui se trouve dans le groupe de paramètres de cluster par défaut.

2.    Si votre cluster de bases de données utilise le groupe de paramètres de cluster de bases de données par défaut, créez un nouveau groupe de paramètres de cluster de bases de données pour modifier les paramètres binlog_format . Il est recommandé de définir le paramètre binlog_format sur MIXED. Vous pouvez également définir binlog_format sur ROW ou STATEMENT si vous avez besoin d'un format de journal binaire spécifique.

3.    Redémarrez votre cluster de bases de données Aurora pour que les modifications prennent effet.

Créer un cluster entre régions à l'aide de la console Amazon RDS

1.    Ouvrez la console Amazon RDS,puis choisissez la région AWS qui héberge votre cluster de bases de données source.

2.    Dans le volet de navigation, choisissez Instances.

3.    Activez la case à cocher de l'instance de base de données pour laquelle vous souhaitez créer un réplica en lecture entre régions.

4.    Pour Actions, choisissez Créer un réplica en lecture entre régions.

5.    Sur la page Créer un réplica en lecture entre régions, choisissez les paramètres d'option pour votre cluster de bases de données de réplica en lecture entre régions.

Créer un cluster entre régions à l'aide de l'interface de ligne de commande AWS CLI

Pour créer un cluster interrégional à l'aide de l'AWS CLI, créez d'abord le cluster lui-même dans la région cible à l'aide de l'appel create-db-cluster. Ensuite, utilisez l'appel create-db-instance pour créer l'instance de lecteur.

Cet exemple crée un réplica entre régions à l'aide de Linux, macOS ou Unix et est compatible avec Aurora MySQL 5.7 et Aurora MySQL 8.0.

1.    Créez le cluster en exécutant une commande similaire à la suivante :

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora-mysql \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-source-cluster

2.    Vérifiez si le cluster est disponible :

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.    Créez une demande en instance dans le cluster :

aws rds create-db-instance \
  --db-cluster-identifier sample-replica-cluster \
  --db-instance-class db.r6g.large \
  --db-instance-identifier sample-replica-instance \
  --engine aurora-mysql

Pour créer la même chose à l'aide de la CLI sous Windows, suivez les mêmes étapes, mais utilisez le symbole ^ comme séparateur de ligne au lieu de ****.

Ajouter une région AWS à un cluster provisionné par Aurora pour créer une base de données globale Aurora

Utilisation de la console Amazon RDS

  1. Ouvrez la console Amazon RDS.

  2. Dans le panneau de navigation, choisissez Base de données.

  3. Choisissez la base de données globale Aurora qui nécessite un cluster de base de données Aurora secondaire. Assurez-vous que le cluster de base de données Aurora principal a le statut Disponible.

  4. Dans Actions, choisissez Ajouter une région.

  5. Choisissez la région AWS que vous souhaitez ajouter. 

Remarque : vous ne pouvez pas choisir une région AWS qui possède déjà un cluster de base de données Aurora secondaire pour la même base de données globale Aurora. De plus, vous ne pouvez pas choisir la même région AWS que celle du cluster de base de données Aurora principal. 

  1. Remplissez les champs restants pour le cluster Aurora secondaire dans la nouvelle région AWS. Ensuite, choisissez Add region (Ajouter une région). 

Utilisation de l'AWS CLI

Exécutez le script suivant sur l'AWS CLI.

Remarque : Si vous utilisez Windows, remplacez le séparateur \ par le symbole ^.

aws rds --region us-east-2 \
  create-db-cluster \
    --db-cluster-identifier secondary_cluster_id \
    --global-cluster-identifier global_database_id \
    --engine aurora-mysql \
    --engine-version version

aws rds --region us-east-2 \
  create-db-instance \
    --db-instance-class db.r6g.large \
    --db-cluster-identifier secondary_cluster_id \
    --db-instance-identifier db_instance_id \
    --engine aurora-mysql

Informations connexes

Ajout de réplicas Aurora à un cluster de bases de données

Réplication des clusters cluster de bases de données Amazon Aurora MySQL dans les régions AWS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans