Gérer des sauvegardes

Cette page décrit les opérations de sauvegarde Cloud Bigtable, et explique comment sauvegarder et restaurer une table. Avant de lire cette page, vous devez avoir lu la présentation des sauvegardes.

Vous pouvez effectuer des sauvegardes Bigtable au moyen de :

Vous pouvez également accéder directement à l'API. Toutefois, nous vous conseillons vivement de n'employer cette méthode que si vous devez utiliser un langage qui n'est pas compatible avec les bibliothèques clientes Bigtable.

Avant de commencer

Assurez-vous que vous (ou le compte utilisateur que vous utilisez) disposez des autorisations requises pour l'action que vous devez effectuer.

Si vous prévoyez d'utiliser l'outil gcloud, installez le SDK Cloud pour Bigtable.

Créer une sauvegarde de table

Console

  1. Accédez à la page des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance contenant la table que vous souhaitez sauvegarder.

  3. Dans le volet de navigation de gauche, cliquez sur Tables.

  4. Cliquez sur Créer une sauvegarde en fonction de la table que vous souhaitez sauvegarder.

  5. Si vous utilisez la réplication, utilisez le menu déroulant pour choisir l'ID du cluster qui doit stocker la sauvegarde. (Si vous avez cliqué sur Créer une sauvegarde à côté d'un ID de cluster plutôt qu'un ID d'instance sur la page Tables, le cluster est présélectionné.)

  6. Saisissez un ID unique pour la sauvegarde.

  7. Définissez une date d'expiration.

  8. Cliquez sur Créer.

    La console affiche la page "Sauvegardes" filtrée pour montrer la sauvegarde et ses informations.

  9. Cliquez sur Activité pour afficher l'état de la sauvegarde.

    La colonne d'état indique Sauvegarde terminée lorsque la sauvegarde est terminée.

gcloud

Remplacez toutes les commandes par les valeurs suivantes :

  • INSTANCE_ID : identifiant permanent de l'instance
  • CLUSTER_ID : identifiant permanent du cluster.
  • TABLE_ID : ID de la table à sauvegarder.
  • BACKUP_ID : ID que vous attribuez à la sauvegarde.
  • EXPIRATION_DATE : date à 30 jours ou moins, formatée en horodatage UTC "Zulu", à la nanoseconde près.

    Exemple : 2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD : période de 30 jours maximum, exprimée sous la forme de nombres accompagnés d'une unité m, h ou d (minutes, heures ou jours).

    Exemples : 5m, 36h, ou 29d

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Affichez la liste des sauvegardes de l'instance contenant la table que vous souhaitez sauvegarder. Vous pourrez ainsi choisir un ID de sauvegarde qui n'est pas déjà utilisé sur le cluster prévu.

    gcloud bigtable backups list --instance=INSTANCE_ID
    --cluster=CLUSTER_ID
    
  3. Consultez la liste des tables pour confirmer l'ID de la table que vous souhaitez sauvegarder.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. Créez une sauvegarde à partir de la table, en indiquant une date d'expiration ou une période de conservation de 30 jours maximum.

    gcloud  bigtable backups create BACKUP_ID --instance=INSTANCE_ID
    --cluster=CLUSTER_ID --table=TABLE_ID --async
    --expiration-date=EXPIRATION_DATE |
    --retention-period=RETENTION_PERIOD
    

    L'option --async est facultative. Utilisez-la si vous souhaitez que le terminal renvoie l'ID de l'opération avant que celle-ci prenne fin. Cela est utile si vous souhaitez vérifier l'état de l'opération.

  5. Affichez la liste des sauvegardes pour vérifier que votre sauvegarde a été créée.

    gcloud bigtable backups list --instance=INSTANCE_ID
    --cluster=CLUSTER_ID
    
  6. Si la sauvegarde n'est pas répertoriée, vérifiez l'état de l'opération.

    L'état Ready indique que la sauvegarde est terminée.

Restaurer une sauvegarde de table

Console

  1. Accédez à la page des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance contenant la sauvegarde que vous souhaitez restaurer.

  3. Dans le volet de navigation de gauche, cliquez sur Sauvegardes.

  4. Cliquez sur Restaurer pour la sauvegarde que vous souhaitez restaurer.

  5. Sélectionnez l'instance sur laquelle vous souhaitez effectuer la restauration.

    Les instances qui ne disposent pas d'un espace de stockage suffisant pour la nouvelle table sont indisponibles. Si vous n'êtes pas autorisé à créer une table dans une instance, celle-ci n'est pas disponible. Passez la souris sur l'icône pour en savoir plus.

  6. Saisissez un ID unique pour la table qui sera créée à partir de la sauvegarde. Vous ne pourrez pas modifier cet ID par la suite.

  7. Cliquez sur Restaurer.

    La console affiche la page "Tables" filtrée pour montrer la nouvelle table.

    La console affiche l'état de restauration de chaque cluster. Lorsque la colonne d'état de tous les clusters indique Prêt, la table a été restaurée et répliquée sur tous les clusters de l'instance.

gcloud

Remplacez toutes les commandes par les valeurs suivantes :

  • INSTANCE_ID_SOURCE : identifiant permanent de l'instance source.
  • INSTANCE_ID_DESTINATION : identifiant permanent de l'instance de destination.
  • CLUSTER_ID : identifiant permanent du cluster.
  • TABLE_ID : ID de la table à sauvegarder.
  • BACKUP_ID : ID que vous attribuez à la sauvegarde.
  • NEW_TABLE_ID : ID de la table nouvellement restaurée.
  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Affichez la liste des sauvegardes de l'instance contenant la sauvegarde pour vérifier que cette dernière existe.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE
    --cluster=CLUSTER_ID
    
  3. Affichez la liste des tables de l'instance de destination, afin de pouvoir choisir un ID qui n'est pas déjà utilisé pour la nouvelle table.

    gcloud bigtable instances tables list
    --instances=INSTANCE_ID_DESTINATION
    
  4. Restaurez la sauvegarde dans une nouvelle table.

    gcloud bigtable instances tables restore
    --source-instance=INSTANCE_ID_SOURCE --source-cluster=CLUSTER_ID
    --source=BACKUP_ID --destination-instance=INSTANCE_ID_DESTINATION
    --destination=NEW_TABLE_ID --async
    

    L'option --async est facultative. Utilisez-la si vous souhaitez que le terminal renvoie l'ID de l'opération avant que celle-ci prenne fin. Cela est utile si vous souhaitez vérifier l'état de l'opération.

  5. Affichez la liste des tables pour vérifier que votre table a été créée.

    gcloud bigtable instances tables list
    --instances=INSTANCE_ID_DESTINATION
    
  6. Si la sauvegarde n'est pas répertoriée, vérifiez l'état de l'opération.

Vérifier l'état d'une opération

Console

  1. Accédez à la page des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance contenant la sauvegarde.

  3. Dans le volet de navigation de gauche, cliquez sur Sauvegardes.

  4. Sur la page Sauvegardes, cliquez sur Activité. La colonne d'état affiche l'état actuel de chaque opération.

Lors de la restauration d'une table, les états d'opération sont les suivants :

  • En attente de copie
  • Restauration de la sauvegarde…
  • Initialisation…
  • Prête pour l'optimisation
  • Prêt

Lors de la création d'une sauvegarde, les états d'opération incluent les éléments suivants :

  • Création de la sauvegarde…
  • Sauvegarde terminée

gcloud

Pour vérifier l'état d'une opération de sauvegarde ou de restauration, vous avez besoin de l'ID unique de l'opération. Voici un exemple d'ID d'opération :

`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`

Une fois que vous avez exécuté une commande pour créer une sauvegarde ou une restauration dans une nouvelle table à l'aide de l'option --async, le terminal affiche l'ID de l'opération.

  1. Copiez l'ID de l'opération.

  2. Exécutez la commande suivante en remplaçant la valeur copiée par OPERATION_ID.

    gcloud bigtable operations describe OPERATION_ID
    

    Exemple :

    gcloud bigtable operations describe
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    

    Vous pouvez exécuter cette commande à intervalles réguliers jusqu'à ce que la valeur de DONE soit TRUE.

Si vous ne connaissez pas l'ID de l'opération, soit parce que vous n'avez pas exécuté la commande, soit parce que vous vous trouvez dans une autre fenêtre de terminal, vous pouvez afficher la liste des opérations de l'instance et déterminer l'opération à vérifier.

  1. Affichez une liste des activités d'opération récentes de l'instance contenant la table que vous sauvegardez ou restaurez, en remplaçant l'ID de l'instance par INSTANCE_ID :

    gcloud bigtable operations list --instance=INSTANCE_ID
    

    Le terminal affiche une liste d'opérations dans les colonnes NAME, START_TIME, END_TIME et DONE. La valeur de la colonne NAME correspond à l'ID de l'opération.

  2. Copiez l'ID de l'opération en commençant par le premier élément de la liste.

  3. Utilisez gcloud bigtable operations describe pour afficher les métadonnées de l'opération.

    gcloud bigtable operations describe OPERATION_ID
    

    Exemple :

    gcloud bigtable operations describe
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    
  4. Si les métadonnées d'une opération affichent une valeur pour backupInfo, vous avez trouvé l'opération appropriée. Vous pouvez répéter cette commande régulièrement jusqu'à ce que la valeur de DONE corresponde à TRUE.

    Si les métadonnées n'affichent pas de valeur pour backupInfo, vérifiez l'opération suivante dans la liste que vous avez créée à l'étape 1.

Modifier une sauvegarde

Console

Cloud Console ne vous permet pas de modifier une sauvegarde.

gcloud

L'outil gcloud vous permet de modifier le délai ou la date d'expiration d'une sauvegarde. Remplacez les valeurs réelles par les suivantes :

  • INSTANCE_ID : identifiant permanent de l'instance
  • CLUSTER_ID : identifiant permanent du cluster.
  • BACKUP_ID : ID unique d'une sauvegarde.
  • EXPIRATION_DATE : date à 30 jours ou moins, formatée en horodatage UTC "Zulu", à la nanoseconde près.

    Exemple : 2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD : période de 30 jours maximum, exprimée sous la forme de nombres accompagnés d'une unité m, h ou d (minutes, heures ou jours).

    Exemples : 5m, 36h, ou 29d

  1. Affichez la liste des sauvegardes :

    gcloud bigtable backups list --instance=INSTANCE_ID
    

    Le terminal affiche une liste de sauvegardes.

  2. Notez les ID de sauvegarde et de cluster associés à la sauvegarde que vous devez mettre à jour.

  3. Exécutez la commande suivante. Vous pouvez définir une nouvelle date d'expiration ou une nouvelle durée de conservation.

    gcloud bigtable backups update BACKUP_ID --instance=INSTANCE_ID
    --cluster=CLUSTER_ID --expiration-date=EXPIRATION_DATE |
    --retention-period=RETENTION_PERIOD
    
  4. Vérifiez que vous avez bien mis à jour le délai d'expiration :

    gcloud bigtable backups describe BACKUP_ID --instance=INSTANCE_ID
    --cluster=CLUSTER_ID
    

Supprimer une sauvegarde

Vous pouvez supprimer une sauvegarde avant le délai d'expiration prévu.

Console

  1. Accédez à la page des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance contenant la sauvegarde.

  3. Dans le volet de navigation de gauche, cliquez sur Sauvegardes.

  4. Pour supprimer la sauvegarde, développez le menu "Plus" à côté du mot Restaurer, puis cliquez sur Supprimer.

  5. Saisissez l'ID de sauvegarde dans le champ Confirmer la suppression, puis cliquez sur Supprimer.

gcloud

  1. Affichez la liste des sauvegardes en remplaçant l'ID de l'instance par INSTANCE_ID :

    gcloud bigtable backups list --instance=INSTANCE
    

    Le terminal affiche une liste de sauvegardes.

  2. Notez l'ID de sauvegarde et l'ID du cluster sur lequel elle est stockée.

  3. Exécutez la commande suivante en remplaçant l'ID de sauvegarde que vous avez noté par BACKUP_ID et l'ID de cluster par CLUSTER_ID.

    gcloud bigtable backups delete BACKUP_ID --instance=INSTANCE_ID --cluster=CLUSTER_ID
    

Étape suivante