Utiliser la récupération à un moment précis (PITR)

Cette page explique comment restaurer un cluster à un état passé récent. Il est recommandé de restaurer les données à un moment donné dans un cluster AlloyDB pour PostgreSQL pour une récupération rapide en cas de perte de données à grande échelle.

Avant de commencer

  • Le projet Google Cloud que vous utilisez doit avoir été autorisé à 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 "AlloyDB Admin")
    • 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.

  • Vous devez disposer de tous ces rôles IAM dans le projet Google Cloud que vous utilisez :
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • compute.globalAddresses.create
    • compute.globalAddresses.list
    • servicenetworking.services.addPeering

    Pour obtenir ces autorisations tout en respectant le principe du moindre privilège, demandez à votre administrateur de vous accorder le rôle roles/alloydb.admin (IAM prédéfini AlloyDB Admin).

Restaurer à partir d'un moment récent

AlloyDB vous permet de restaurer complètement les données d'un cluster actif à partir de n'importe quel point dans une plage récente spécifique.

Créneaux de PITR disponibles

Vous pouvez effectuer une restauration à partir de n'importe quel moment après le plus récent des deux moments suivants:

  • Moment représenté par la limite de votre fenêtre de récupération. Par exemple, si vous disposez d'une période de récupération de 14 jours, ce moment remonte à 14 jours en arrière.

  • Heure de création de la sauvegarde la plus ancienne effectuée depuis la dernière activation de la sauvegarde continue. Si vous avez créé le cluster avec la sauvegarde continue activée et que vous ne l'avez pas désactivée depuis, ce moment devient effectivement l'heure de création de la plus ancienne sauvegarde de votre cluster.

Si vous désactivez et réactivez ensuite la sauvegarde continue, vous ne pourrez pas effectuer de récupération à un moment précis tant que vous ou AlloyDB n'aurez pas créé la première nouvelle sauvegarde du cluster. Il peut s'agir d'une sauvegarde à la demande ou de la première des sauvegardes quotidiennes effectuées par AlloyDB après l'activation de la sauvegarde continue. Pour en savoir plus sur les types de sauvegardes, consultez la section Présentation de la sauvegarde et de la récupération de données.

Effectuer une restauration à un moment précis

  1. Utilisez la console Google Cloud ou la Google Cloud CLI pour effectuer la restauration.

    Console

    1. Accédez à la page Clusters.

      accéder aux clusters

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

    3. Cliquez sur Protection des données.

    4. Sous Restaurer à partir d'un point dans le temps, cliquez sur Restaurer.

    5. Dans le champ Heure cible, saisissez la date et l'heure à partir desquelles effectuer la restauration.

    6. Dans le champ ID du cluster, saisissez un nom pour le nouveau cluster.

    7. Dans le champ Réseau, sélectionnez un réseau cloud privé virtuel à utiliser pour le nouveau cluster.

    8. Si vous souhaitez chiffrer les sauvegardes continues et les journaux de modification des données de ce cluster à l'aide d'une clé de chiffrement gérée par le client (CMEK) au lieu du chiffrement géré par Google par défaut, procédez comme suit:

      1. Cliquez sur Options de chiffrement avancées.

      2. Cliquez sur le bouton radio Clé de chiffrement gérée par le client (CMEK).

      3. Cliquez sur la liste Sélectionner une clé gérée par le client, puis sélectionnez une clé.

    9. Cliquez sur Restaurer.

    gcloud

    Utilisez la commande gcloud alloydb clusters restore en spécifiant un cluster et un code temporel. Notez que, contrairement à la restauration à partir d'une sauvegarde, une récupération à un moment précis nécessite que le cluster d'origine existe toujours. Vous ne pouvez pas effectuer ce type de restauration sur un cluster supprimé.

    gcloud alloydb clusters restore NEW_CLUSTER \
      --source-cluster=SOURCE_CLUSTER \
      --point-in-time=TIMESTAMP \
      --region=REGION

    Cette commande renvoie une opération dont vous pouvez interroger l'état à l'aide de la commande gcloud alloydb operations describe.

    gcloud alloydb operations describe OPERATION_ID \
      --region=REGION

    Remplacez les éléments suivants :

    • NEW_CLUSTER : ID à utiliser avec le nouveau cluster.

    • SOURCE_CLUSTER: ID du cluster à partir duquel récupérer les données.
      Pour restaurer à partir d'un cluster d'un autre projet, remplacez-le par le chemin d'accès complet du cluster au format suivant:
      projects/SOURCE_PROJECT/locations/SOURCE_REGION/clusters/SOURCE_CLUSTER

    • TIMESTAMP: description du point de départ de la récupération des données, exprimé au format RFC 3339 (par exemple, 2012-11-15T16:19:00.094Z). Vous pouvez spécifier une seconde fractionnaire aussi petite qu'une microseconde.

      Notez que cet horodatage doit exister pendant la période de conservation que vous avez spécifiée lors de la création du cluster.

    • REGION: région contenant le cluster source et dans laquelle AlloyDB crée le nouveau cluster. Exemple : us-central1.

    • PROJECT_ID: ID du projet dans lequel se trouve le nouveau cluster.

    Si vous souhaitez chiffrer les données du nouveau cluster à l'aide d'une clé de chiffrement gérée par le client (CMEK) au lieu d'un chiffrement géré par Google, vous devez fournir les arguments supplémentaires suivants:

    • --kms-key=KEY_ID: ID de la clé CMEK à utiliser. * --kms-keyring=KEYRING_ID: ID du trousseau de clés de la clé. *--kms-location=LOCATION_ID: ID de la région du trousseau. Notez qu'elle doit correspondre à la région du cluster.
    • --kms-project=PROJECT_ID: ID du projet du trousseau.

    Pour restaurer un cluster avec Private Service Connect activé, veillez à ajouter l'indicateur --enable-private-service-connect.

  2. Une fois que AlloyDB a terminé de créer le cluster, créez une instance principale pour celui-ci. Cette instance vous permet d'accéder aux données restaurées. Notez que la configuration de la nouvelle instance ne doit pas nécessairement correspondre exactement à celle de l'instance principale d'origine.

  3. Facultatif: Créez des instances de pool de lecture.

Vous pouvez commencer à utiliser le cluster une fois l'opération de restauration terminée.

Étape suivante