Créer une instance dupliquée en lecture seule

Pour augmenter le débit de lecture et la disponibilité, vous pouvez créer un serveur de réplication AlloyDB Omni pour un serveur AlloyDB Omni existant. Un serveur de réplication fournit un clone en lecture seule de votre serveur de base de données principal. Il met à jour en continu ses propres données pour refléter les modifications apportées aux données de votre serveur principal.

Les sections suivantes décrivent comment configurer votre serveur principal AlloyDB Omni pour la réplication, configurer le serveur de réplication et vérifier l'état de la réplication sur le serveur principal.

Configurer votre serveur principal pour la réplication

  1. Mettez à jour les paramètres réseau ou de pare-feu de l'hôte de votre serveur principal afin qu'il autorise le trafic entrant de l'hôte du serveur réplica via le port TCP 5432.

  2. Ajoutez les lignes suivantes dans le fichier /var/alloydb/config/pg_hba.conf:

    host all                alloydbreplica     IP_RANGE trust
    host replication        alloydbreplica     IP_RANGE trust
    host alloydbmetadata    alloydbmetadata    IP_RANGE trust
    

    Remplacez IP_RANGE par la plage d'adresses IP, au format CIDR, du sous-réseau où se trouve votre machine de réplication. Exemple : 203.0.113.0/24.

  3. Redémarrez votre serveur principal:

    sudo alloydb database-server stop
    sudo alloydb database-server start

Créer et configurer le serveur de réplication

Pour créer et configurer un serveur de réplication AlloyDB Omni, procédez comme suit:

  1. Installez AlloyDB Omni sur le système sur lequel vous souhaitez héberger le réplica.

    Lorsque vous exécutez la commande alloydb database-server install, incluez les options spécifiques à la création d'un réplica:

    sudo alloydb database-server install \
      --data-dir=DATA_DIR \
      --pg-port=PORT \
      --replica-source-ip=SOURCE_IP \
      --replica-source-port=SOURCE_PORT

    Remplacez les éléments suivants :

    • DATA_DIR: chemin d'accès au système de fichiers que vous souhaitez que ce réplica utilise pour son répertoire de données.

    • PORT: port TCP sur lequel AlloyDB Omni doit accepter les connexions. Si vous ne fournissez pas cette valeur, AlloyDB Omni applique une valeur par défaut de 5432.

    • SOURCE_IP: adresse IP de l'instance AlloyDB Omni principale à partir de laquelle effectuer la réplication.

    • SOURCE_PORT: port TCP de l'instance AlloyDB Omni principale à partir de laquelle effectuer la réplication. Si vous ne fournissez pas cette valeur, AlloyDB Omni applique une valeur par défaut de 5432.

  2. Assurez-vous que le réplica dispose d'une connectivité réseau au serveur principal:

    ping SOURCE_IP
  3. Démarrez votre instance dupliquée:

    sudo alloydb database-server start

Vérifier l'état de la réplication sur le serveur principal

Pour vérifier que la réplication est correctement configurée, exécutez la commande suivante sur l'hôte du serveur principal:

  docker exec -it pg-service psql -h localhost -U alloydbadmin -c "select * from pg_stat_replication"

Le tableau de sortie contient une ligne pour chaque réplica connecté à votre serveur de base de données principal.

Une fois la réplication configurée, toutes les insertions, mises à jour et suppressions de lignes dans votre serveur de base de données principal deviennent lisibles sur votre réplica en quelques secondes.