Utiliser la réplication interrégionale

Cette page explique comment utiliser la réplication interrégionale AlloyDB pour PostgreSQL en créant et en utilisant des clusters secondaires.

Pour obtenir une présentation conceptuelle de la réplication interrégionale, consultez À propos de la réplication interrégionale.

Avant de commencer

  • Le projet Google Cloud que vous utilisez doit avoir été activé pour accéder à AlloyDB.
  • Vous devez disposer de l'un des rôles IAM suivants dans le projet Google Cloud que vous utilisez :
    • roles/alloydb.admin (rôle IAM prédéfini "Administrateur AlloyDB")
    • roles/owner (rôle IAM de base "Propriétaire")
    • roles/editor (rôle IAM de base Éditeur)

    Si vous ne disposez d'aucun de ces rôles, contactez l'administrateur de votre organisation pour demander l'accès.

Créer un cluster secondaire

Lorsque vous créez un cluster secondaire, AlloyDB copie et applique une partie de la configuration du cluster principal, y compris la récupération à un moment précis (PITR) et la configuration de sauvegarde, au cluster secondaire. AlloyDB n'ajoute aucune instance de pool de lecture au cluster secondaire après sa création, quel que soit le nombre d'instances de pool de lecture existant dans le cluster principal.

Si vous mettez à jour la configuration du cluster principal après avoir créé le cluster secondaire, les modifications ne sont pas disponibles sur le cluster secondaire. Toutefois, vous pouvez mettre à jour manuellement le cluster secondaire pour qu'il dispose de la dernière configuration disponible dans le cluster principal.

Vous pouvez créer jusqu'à cinq clusters secondaires pour un cluster principal. Tous les clusters secondaires sont répliqués à partir d'une seule instance principale. Si vous promouvez un cluster secondaire, il devient un cluster principal indépendant.

Le diagramme suivant montre comment promouvoir le cluster secondaire appelé cluster-2 dans us-east4 :

Exemple de promotion d'un cluster secondaire.

Figure 1 : Exemple de promotion d'un cluster secondaire.

Pour créer un cluster secondaire et une instance secondaire AlloyDB, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, cliquez sur Créer un cluster secondaire.

  4. Configurez votre cluster secondaire :

    1. Dans le champ ID du cluster, saisissez un ID de ressource pour votre cluster secondaire.
    2. Sélectionnez une région pour votre cluster secondaire qui soit différente de celle du cluster principal.
    3. Sélectionnez la clé de chiffrement par défaut gérée par Google ou une clé gérée par le client (CMEK) comme méthode de chiffrement pour chiffrer votre cluster secondaire.

    Si vous souhaitez chiffrer ce cluster à l'aide d'une clé CMEK, procédez comme suit :

    1. Cliquez sur Options de chiffrement avancées.
    2. Sélectionnez Clé de chiffrement gérée par le client (CMEK).
    3. Sélectionnez une clé gérée par le client dans le menu qui s'affiche.

      La console Google Cloud limite cette liste aux clés du même projetGoogle Cloud et de la même région que le nouveau cluster.

      Pour utiliser une clé qui ne figure pas dans cette liste, procédez comme suit :

      1. Cliquez sur Vous ne voyez pas votre clé ? Saisissez le nom de ressource de la clé.
      2. Saisissez le nom de la ressource dans le champ Nom de ressource de la clé.
      3. Cliquez sur Enregistrer.
      4. Cliquez sur Continuer.

    L'utilisation d'une clé CMEK avec AlloyDB nécessite une configuration supplémentaire. Pour en savoir plus, consultez Utiliser des clés CMEK.

    Si l'instance principale associée est chiffrée avec une clé CMEK, vous devez également chiffrer son cluster secondaire avec une clé CMEK.

  5. Configurez votre instance secondaire :

    1. Dans le champ ID d'instance, saisissez un ID de ressource pour votre instance secondaire. L'ID de ressource doit être unique dans un cluster.
  6. Cliquez sur Créer un cluster.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Exécutez la commande gcloud alloydb clusters create-secondary :

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID

Remplacez les éléments suivants :

  • SECONDARY_CLUSTER_ID : ID du cluster secondaire que vous souhaitez créer.
  • SECONDARY_INSTANCE_ID : ID de l'instance secondaire que vous souhaitez créer.
  • REGION_ID : ID de la région du cluster secondaire, par exemple us-central1.
  • PROJECT_ID : ID du projet du cluster secondaire.
  • LOCATION_ID : emplacement de votre cluster principal (par exemple, us-central1).
  • PRIMARY_CLUSTER_ID : ID du cluster principal auquel le cluster secondaire est associé.
  • SECONDARY_CLUSTER_ID : ID du cluster secondaire auquel l'instance secondaire est associée.
  • ALLOWED_PSC_PROJECTS (facultatif) : liste d'ID ou de numéros de projet séparés par une virgule auxquels vous souhaitez autoriser l'accès à l'instance (par exemple, my-project-1, 12345,my-project-n). Si votre cluster utilise Private Service Connect comme méthode de connexion à l'instance, vous devez définir une liste de projets ou de numéros autorisés.
  • --no-enable-automated-backup(Facultatif) Désactivez la création de sauvegardes automatiques sur le cluster secondaire.

Pour créer une instance secondaire compatible avec Private Service Connect, ajoutez l'indicateur allowed-psc-projects afin de définir une liste d'ID ou de numéros de projet séparés par une virgule auxquels vous souhaitez autoriser l'accès à l'instance (par exemple, my-project-1, 12345 et my-project-n).

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --allowed-psc-projects=ALLOWED_PSC_PROJECTS

Remplacez les éléments suivants :

  • ALLOWED_PSC_PROJECTS (facultatif) : liste d'ID ou de numéros de projet séparés par une virgule auxquels vous souhaitez autoriser l'accès à l'instance (par exemple, my-project-1, 12345 et my-project-n). Si votre cluster utilise Private Service Connect comme méthode de connexion à l'instance, vous devez définir une liste de projets ou de numéros autorisés.

Pour créer une instance secondaire pour un cluster compatible avec les adresses IP publiques, ajoutez le paramètre --assign-inbound-public-ip=ASSIGN_IPV4.

 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
  --assign-inbound-public-ip=ASSIGN_IPV4

Vous pouvez également transmettre la liste des blocs CIDR séparés par une virgule, comme 64.233.160.0/16, au paramètre --authorized-external-networks pour définir les réseaux externes autorisés sur votre instance.

Afficher un cluster secondaire

Pour afficher des informations détaillées sur un cluster secondaire AlloyDB, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster secondaire dans la colonne Nom de la ressource.

  3. Sur la page Vue d'ensemble, consultez tous les détails concernant votre cluster secondaire.

Mettre à jour une instance secondaire

Vous pouvez mettre à jour une instance secondaire pour ajouter, modifier ou supprimer des indicateurs de base de données. Vous pouvez également mettre à l'échelle le type de machine de votre instance secondaire.

Configurer des options de base de données sur une instance secondaire

Pour ajouter, modifier ou supprimer des indicateurs de base de données, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Dans la colonne Nom de la ressource, cliquez sur un cluster secondaire que vous souhaitez modifier.

  3. Sur la page Présentation, accédez à Instances de votre cluster, sélectionnez l'instance secondaire, puis cliquez sur Modifier l'instance secondaire.

  4. Ajoutez, modifiez ou supprimez un indicateur de base de données de votre instance :

    Ajouter une option

    1. Pour ajouter une option de base de données à votre instance, cliquez sur Ajouter une option.
    2. Sélectionnez un indicateur dans la liste Nouvel indicateur de base de données.
    3. Indiquez une valeur pour l'option.
    4. Cliquez sur OK.

    Modifier un flag

    1. Pour modifier un indicateur de base de données présent dans votre instance, développez-le et modifiez sa valeur dans la section Modifier l'indicateur de base de données.
    2. Cliquez sur OK.

    Supprimer un signalement

    1. Pour supprimer un indicateur de base de données de votre instance, sélectionnez-le, puis cliquez sur l'icône Supprimer.
    2. Cliquez sur OK.
  5. Cliquez sur Mettre à jour la carte secondaire.

gcloud

Exécutez la commande gcloud alloydb instances update pour modifier les options de base de données d'une instance secondaire.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --database-flags FLAGS_LIST \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Remplacez les éléments suivants :

  • SECONDARY_INSTANCE_ID : ID de l'instance secondaire.
  • FLAGS_LIST : liste d'une ou de plusieurs spécifications d'indicateurs de base de données, séparées par une virgule. Chaque spécification se compose du nom de l'option, d'un signe égal (=) et de la valeur à attribuer aux options. Pour les indicateurs de base de données sans valeur, indiquez le nom de l'indicateur suivi d'un signe égal (=).
  • REGION_ID : région où se trouve l'instance secondaire (par exemple, us-central1).
  • CLUSTER_ID : ID du cluster dans lequel l'instance secondaire est placée.
  • PROJECT_ID : ID du projet dans lequel le cluster secondaire est placé.

Adapter le type de machine de votre instance secondaire

Pour mettre à l'échelle le type de machine de votre instance secondaire, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Dans la colonne Nom de la ressource, cliquez sur un cluster secondaire que vous souhaitez modifier.

  3. Sur la page Présentation, accédez à la section Instances de votre cluster, puis cliquez sur Modifier le nœud secondaire.

    Notez que cette action n'est pas disponible si la page indique que l'état du cluster est Maintenance. L'action redevient disponible une fois que l'état passe à Prêt.

  4. Sélectionnez un type de machine.

  5. Cliquez sur Mettre à jour la carte secondaire.

gcloud

Utilisez la commande gcloud alloydb instances update pour modifier le type de machine de l'instance secondaire.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Remplacez les éléments suivants :

  • SECONDARY_INSTANCE_ID : ID de l'instance secondaire que vous mettez à jour.
  • CPU_COUNT : nombre de processeurs virtuels souhaité pour l'instance. Les valeurs valides sont les suivantes :

    • 2 (2 vCPU, 16 Go de RAM)
    • 4 (4 processeurs virtuels, 32 Go de RAM)
    • 8 (8 processeurs virtuels, 64 Go de RAM)
    • 16 (16 processeurs virtuels, 128 Go de RAM)
    • 32 (32 processeurs virtuels, 256 Go de RAM)
    • 64 (64 processeurs virtuels, 512 Go de RAM)
  • REGION_ID : région où se trouve l'instance.

  • CLUSTER_ID : ID du cluster dans lequel l'instance est placée.

  • PROJECT_ID : ID du projet dans lequel le cluster est placé.

Si la commande renvoie un message d'erreur incluant l'expression invalid cluster state MAINTENANCE, cela signifie que le cluster fait l'objet d'une maintenance de routine. Cela empêche temporairement la reconfiguration de l'instance. Exécutez à nouveau la commande une fois que le cluster est revenu à l'état READY.

Pour vérifier l'état du cluster, consultez Afficher les détails du cluster.

Ajouter des instances de pool de lecture à un cluster secondaire

Pour ajouter une instance de pool de lecture à un cluster secondaire, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Dans la colonne Nom de ressource, cliquez sur un cluster secondaire auquel vous souhaitez ajouter une instance de pool de lecture.

  3. Sur la page Présentation, accédez à la section Instances de votre cluster, puis cliquez sur Ajouter un pool de lecture.

  4. Configurez votre instance de pool de lecture :

    1. Dans le champ ID de l'instance de pool de lecture, saisissez un ID pour l'instance de pool de lecture.
    2. Dans le champ Nombre de nœuds, saisissez le nombre de nœuds. Le nombre de nœuds d'une instance de pool de lecture détermine la capacité de calcul globale de l'instance. Un cluster ne peut pas comporter plus de 20 nœuds dans toutes les instances de pool de lecture.
    3. Sélectionnez un type de machine.
    4. Facultatif : Définissez des indicateurs personnalisés pour votre instance. Pour chaque indicateur, procédez comme suit :

      1. Cliquez sur Ajouter une option.
      2. Sélectionnez un indicateur dans la liste Nouvel indicateur de base de données.
      3. Indiquez une valeur pour l'option.
      4. Cliquez sur OK.
  5. Cliquez sur Ajouter un pool de lecture.

Promouvoir un cluster secondaire

Avant de promouvoir un cluster secondaire, procédez comme suit pour vérifier qu'il a appliqué toutes les transactions reçues du cluster principal :

  1. Arrêtez toutes les opérations en écriture sur le cluster principal.
  2. Vérifiez l'état de la réplication du cluster secondaire en procédant comme suit :

    1. Dans la console Google Cloud , accédez à la page Clusters.

      accéder aux clusters

    2. Dans la liste des clusters, cliquez sur le nom du cluster secondaire que vous souhaitez promouvoir.

    3. Sur la page d'informations du cluster, cliquez sur Surveillance.

    4. Dans la liste Monitoring, sélectionnez l'instance secondaire. Il apparaît dans la liste sous la forme Secondaire : INSTANCE_NAME.

    5. Dans la liste des métriques, recherchez le graphique Délai de réplication depuis l'instance principale.

    6. Vérifiez que le graphique présente un décalage minimal.

      Une valeur de décalage de 0 est idéale. Si le décalage est supérieur à 0, vous pouvez toujours promouvoir le cluster secondaire, au risque de perdre certaines transactions récentes déjà validées au niveau du cluster principal.

    7. Dans la liste des métriques, recherchez le graphique État de la réplication.

    8. Vérifiez que tous les nœuds représentés dans le graphique ont une valeur de streaming.

Pour promouvoir un cluster secondaire en cluster principal, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Dans la colonne Nom de la ressource, cliquez sur un cluster secondaire que vous souhaitez promouvoir en tant que cluster principal.

  3. Sur la page Présentation, cliquez sur Promouvoir le cluster.

  4. Dans la boîte de dialogue qui s'affiche, saisissez l'ID du cluster secondaire pour confirmer que vous souhaitez promouvoir le cluster.

  5. Cliquez sur Promouvoir.

    Une fois le cluster promu, le champ Type: Secondary cluster (highly available) (Type : cluster secondaire (haute disponibilité)) de la page Overview (Présentation) est remplacé par Type: Highly available with read pools (Type : haute disponibilité avec pools de lecture).

gcloud

Exécutez la commande gcloud alloydb clusters promote :

 gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID \

Remplacez les éléments suivants :

  • SECONDARY_CLUSTER_ID : ID du cluster secondaire que vous souhaitez promouvoir.
  • REGION_ID : ID de la région du cluster secondaire (par exemple,us-central1).
  • PROJECT_ID : ID du projet du cluster secondaire.

Effectuer une commutation

Avant d'effectuer un basculement, vérifiez que toutes les régions auxquelles appartiennent les instances principale et secondaire sont en ligne et que les instances sont en bon état. Pour en savoir plus, consultez Surveiller une instance à l'aide du tableau de bord des insights système AlloyDB.

Si vous effectuez un basculement lorsque vous avez plusieurs clusters secondaires, les modifications suivantes se produisent :

  • Le cluster secondaire qui reçoit la commande de basculement devient un cluster principal.
  • L'ancien cluster principal devient un cluster secondaire, qui réplique les données à partir du nouveau cluster principal.
  • Tous les autres clusters secondaires passent à la réplication à partir du nouveau cluster principal.

Le diagramme suivant illustre un basculement de cluster-1 dans us-central1 vers cluster-2 dans us-east4 :

Exemple de basculement vers l'un des deux clusters secondaires.

Figure 2. Exemple de basculement vers l'un des deux clusters secondaires.

Pour effectuer un basculement, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Dans la colonne Nom de la ressource, cliquez sur un cluster secondaire que vous souhaitez basculer en tant que cluster principal.

  3. Sur la page Vue d'ensemble, cliquez sur Commutation.

  4. Dans la boîte de dialogue qui s'affiche, saisissez l'ID de votre cluster secondaire pour confirmer que vous souhaitez basculer le cluster.

  5. Cliquez sur Commutation.

Une fois le cluster basculé, le champ Type : cluster secondaire de la page Présentation est remplacé par
Type de cluster : cluster principal et Type de cluster : cluster secondaire.

gcloud

Exécutez la commande gcloud alloydb clusters switchover :

 gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
   --region=REGION_ID \
   --project=PROJECT_ID \

Remplacez les éléments suivants :

  • SECONDARY_CLUSTER_ID : ID du cluster secondaire que vous souhaitez promouvoir.
  • REGION_ID : ID de la région du cluster secondaire (par exemple, us-central1).
  • PROJECT_ID : ID du projet du cluster secondaire.

Étapes suivantes