Gérer les sauvegardes
Cette page décrit les opérations de sauvegarde Bigtable et explique comment sauvegarder une table et la restaurer dans une nouvelle table. Avant de lire cette page, il est important de vous familiariser avec les sauvegardes.
Vous pouvez effectuer des sauvegardes Bigtable au moyen de :
- La console Google Cloud
- Google Cloud CLI
- Les bibliothèques clientes Cloud Bigtable
Vous pouvez également accéder directement à l'API. Toutefois, ceci n'est vivement recommandé que si vous devez utiliser un langage non compatible avec les bibliothèques clientes Cloud 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 gcloud CLI, installez gcloud CLI pour Bigtable.
Utiliser la sauvegarde automatique
Vous pouvez utiliser la gcloud CLI pour activer la sauvegarde automatique lorsque vous créez ou mettre à jour une table. Les étapes à suivre pour supprimer, mettre à jour et copier et restaurer une sauvegarde sont identiques, que la sauvegarde soit créée manuellement ou par le biais d'une sauvegarde automatique.
Pendant la phase preview, tenez compte des points suivants si vous prévoyez d'activer la sauvegarde automatique:
- Si un cluster est ajouté à une instance contenant une table avec des API si la sauvegarde est activée, les sauvegardes quotidiennes ne sont pas créées sur le cluster ajouté. Pour créer des sauvegardes quotidiennes sur tous les clusters, y compris celui que vous venez d'ajouter, désactivez la sauvegarde automatique pour la table, puis réactivez la sauvegarde automatique.
- Si une table sur laquelle la sauvegarde automatique est activée est supprimée, puis vous devez réactiver la sauvegarde automatique sur le tableau.
- La restauration de la sauvegarde automatique d'une table n'active pas automatiquement automatique sur la table restaurée. Vous devez activer manuellement les sauvegarde.
Activer la sauvegarde automatique
Pour activer la sauvegarde automatique pour une table, exécutez la commande gcloud bigtable instances
tables update
. Pour en savoir plus sur l'activation
la sauvegarde automatique lors de la création d'une table, consultez Créer une table.
Une fois la règle de sauvegarde automatisée activée pour une table, les informations La prise en compte de la configuration peut prendre jusqu'à une heure.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup
Remplacez les éléments suivants :
- TABLE_ID: ID de la table à sauvegarder.
- INSTANCE_ID : identifiant permanent de l'instance.
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
Consultez la liste des tables pour confirmer l'ID de la table que vous souhaitez sauvegarder.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Les sauvegardes créées dans le cadre d'une sauvegarde automatique se voient attribuer des ID commençant par auto
. Par exemple :
une table dont l'ID est my-table
possède un ID de sauvegarde automatique du type
auto.my-table.c7x3.20230220-1455
, où my-table
est la table tronquée.
ID, c7x3
est l'ID de hachage unique et 20230220-1455
est la date et l'heure.
au format UTC.
Désactiver la sauvegarde automatique
Pour désactiver la sauvegarde automatique pour une table existante, exécutez la commande gcloud bigtable
instances tables update
.
Une fois la règle de sauvegarde automatisée désactivée pour une table, les mises à jour La prise en compte de la configuration peut prendre jusqu'à une heure. Cela peut prendre jusqu'à 24 heures pour que votre première sauvegarde soit disponible.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup
Remplacez les éléments suivants :
- TABLE_ID: ID de la table.
- INSTANCE_ID : identifiant permanent de l'instance.
Afficher la règle de sauvegarde automatique
Pour afficher la règle de sauvegarde automatique d'une table, exécutez la commande gcloud bigtable
instances tables describe
.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Remplacez les éléments suivants :
- TABLE_ID: ID de la table.
- INSTANCE_ID : identifiant permanent de l'instance.
La sortie ressemble à ceci :
automatedBackupPolicy:
retentionPeriod: 3d
frequency: 24h
columnFamilies:
my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'
Veuillez noter les points suivants :
- Le champ
automatedBackupPolicy
n'est pas renseigné lorsque la sauvegarde automatique n'est pas activée pour une table. - Le champ
retentionPeriod
indique la durée de conservation des sauvegardes créées automatiquement. Vous pouvez modifier la durée de conservation d'une sauvegarde jusqu'à 90 jours après sa date de création. Pour mettre à jour la durée de conservation d'une sauvegarde, consultez Modifier une sauvegarde.
Créer une sauvegarde
Console
Accédez à la page Instances Bigtable de la console Google Cloud.
Cliquez sur l'instance contenant la table que vous souhaitez sauvegarder.
Dans le volet de navigation de gauche, cliquez sur Tables.
Cliquez sur Créer une sauvegarde en fonction de la table que vous souhaitez sauvegarder.
Si vous utilisez la réplication, sélectionnez le cluster dans le menu déroulant 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é.)
Saisissez un ID unique pour la sauvegarde.
Définissez une date d'expiration.
Cliquez sur Créer.
La console affiche la page Sauvegardes filtrée pour afficher la sauvegarde et ses détails.
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 située 90 jours ou moins dans le futur, mise en forme en tant que "zoulou" ; Horodatage UTC, précis à la nanoseconde près.
Exemple :
2022-10-02T15:01:23.045123456Z
RETENTION_PERIOD: période de 90 jours maximum, exprimée sous forme de nombre avec l'unité
m
,h
oud
(minutes, heures ou jours).Exemples:
36h
ou89d
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
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
Consultez la liste des tables pour confirmer l'ID de la table que vous souhaitez sauvegarder.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Exécutez la commande gcloud bigtable instances backup create pour créer une sauvegarde à partir de la table, en indiquant une date d'expiration, ou une durée de conservation de 90 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.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
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 à partir d'une sauvegarde
Console
Vous ne pouvez pas restaurer vers un autre projet à l'aide de la console Google Cloud. Si nécessaire, utilisez plutôt la gcloud CLI.
Accédez à la page Instances Bigtable de la console Google Cloud.
Cliquez sur l'instance contenant la sauvegarde que vous souhaitez restaurer.
Dans le volet de navigation de gauche, cliquez sur Sauvegardes.
Cliquez sur Restaurer pour la sauvegarde que vous souhaitez restaurer.
Sélectionnez l'instance sur laquelle vous souhaitez effectuer la restauration.
Les instances qui n'ont pas assez d'espace de stockage pour la nouvelle table sont indisponible. Si vous n'êtes pas autorisé à créer une table dans une l'instance n'est pas disponible. Passez la souris sur l'icône
pour en savoir plus.Si vous effectuez une restauration à partir d'une sauvegarde protégée par une clé CMEK, l'instance de destination doit également être protégée par une clé CMEK.
Vous ne pouvez pas restaurer vers un autre projet à l'aide de la console Google Cloud. Si nécessaire, utilisez la gcloud CLI à la place.
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.
Cliquez sur Restaurer.
La console affiche la page Tables filtrée pour afficher le nouveau tableau.
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 :
- PROJECT_ID_SOURCE: ID du projet contenant la sauvegarde à partir de laquelle restaurer la sauvegarde
- INSTANCE_ID_SOURCE: ID permanent de l'instance source.
- PROJECT_ID_DESTINATION: ID du projet dans lequel vous souhaitez effectuer la restauration Cette option est facultative. Si vous ne spécifiez pas cette option, la sauvegarde est restaurée une nouvelle table dans l'instance où elle a été créée.
- INSTANCE_ID_DESTINATION: ID permanent de l'instance de destination.
- CLUSTER_ID : identifiant permanent du cluster.
- BACKUP_ID: ID de la sauvegarde à partir de laquelle vous souhaitez effectuer la restauration
- TABLE_ID_NEW: ID de la nouvelle table.
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
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_SOURCE
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
Exécutez la commande gcloud bigtable instances tables restaurant pour effectuer une restauration à partir de la sauvegarde vers une nouvelle table.
gcloud bigtable instances tables restore \ --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \ --async \ --destination=TABLE_ID_NEW \ --destination-instance=INSTANCE_ID_DESTINATION \ --project=PROJECT_ID_DESTINATION
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.Affichez la liste des tables pour vérifier que votre table a été créée.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
Si la sauvegarde n'est pas répertoriée, vérifiez l'état de l'opération.
Créer une copie d'une sauvegarde
Console
Vous ne pouvez pas créer une copie d'une sauvegarde dans un autre projet à l'aide de la console. Si nécessaire, utilisez la gcloud CLI.
Accédez à la page Instances Bigtable de la console Google Cloud.
Cliquez sur l'instance contenant la sauvegarde que vous souhaitez copier.
Dans le volet de navigation de gauche, cliquez sur Sauvegardes.
Pour la sauvegarde à copier, développez le menu "Plus" à côté de mot Restaurer, puis cliquez sur Copier.
Cliquez sur Copier pour la sauvegarde dont vous souhaitez créer une copie.
Si la sauvegarde est une copie d'une autre sauvegarde, Copier n'est pas disponibles.
Sélectionnez l'instance de destination.
Vous ne pouvez pas créer une copie d'une sauvegarde dans un autre projet à l'aide de la console. Si nécessaire, utilisez la gcloud CLI.
Les instances qui n'ont pas assez d'espace de stockage pour la copie de sauvegarde indisponible. Si vous n'êtes pas autorisé à créer une sauvegarde dans un l'instance n'est pas disponible. Maintenez le pointeur sur la Icône
pour plus d'informations.Si vous copiez une sauvegarde protégée par une clé CMEK, l'instance de destination doivent également être protégées par des clés CMEK.
Sélectionnez le cluster de destination.
Comme toute sauvegarde, une copie de sauvegarde est stockée dans un seul cluster d'une même si elle utilise la réplication.
Saisissez un ID unique pour la copie qui sera créée à partir de la sauvegarde. Vous ne pourrez pas modifier cet ID par la suite.
Définissez un délai d'expiration pour la copie de sauvegarde, en spécifiant la valeur Heure et en sélectionnant une unité dans le menu déroulant.
Cliquez sur Copier.
Pour afficher votre copie, cliquez sur Afficher la copie.
La console affiche la page Sauvegardes de l'instance de destination. filtrée pour la copie de sauvegarde que vous venez de créer. Quand la colonne "État" affiche Ready (Prêt) : la copie est terminée et prête pour d'autres opérations.
gcloud
Remplacez toutes les commandes par les valeurs suivantes :
- PROJECT_ID_SOURCE: projet contenant la sauvegarde à copier.
- INSTANCE_ID_SOURCE: ID permanent de l'instance source.
- CLUSTER_ID_SOURCE: ID du cluster dans lequel la sauvegarde source est stockée.
- BACKUP_ID_SOURCE: ID de la sauvegarde à copier.
- PROJECT_ID_DESTINATION: projet dans lequel vous souhaitez placer la copie
- INSTANCE_ID_DESTINATION: ID permanent de l'instance de destination.
- CLUSTER_ID_DESTINATION: ID du cluster dans l'instance de destination où vous voulez stocker la copie.
- BACKUP_ID_DESTINATION: ID que vous attribuez à la copie de la sauvegarde.
- RETENTION_PERIOD: valeur TTL (Time To Live) de la copie de sauvegarde, exprimée sous forme de
nombre et une unité (d ou h). Exemples :
5d
pendant cinq jours ou15h
pendant 15 heures. Utilisez cette date ou une date d'expiration. - EXPIRATION_DATE: date et heure auxquelles la copie de sauvegarde expire,
au format
2022-09-01T10:00:00.0Z
.
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
Affichez la liste des sauvegardes de l'instance source contenant le sauvegarde, pour vérifier que la sauvegarde que vous souhaitez copier existe.
gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \ --cluster=CLUSTER_ID_SOURCE
Affichez la liste des sauvegardes de l'instance de destination pour pouvoir choisir un ID pour la copie qui n'est pas déjà utilisé.
gcloud bigtable backups list --instances=DESTINATION_INSTANCE
Exécutez la commande gcloud bigtable instances connections copy pour créer la copie de sauvegarde.
gcloud bigtable backups copy \ --source-project=PROJECT_ID_SOURCE \ --source-instance=INSTANCE_ID_SOURCE \ --source-cluster=CLUSTER_ID_SOURCE \ --source-backup=BACKUP_ID_SOURCE \ --destination-project=PROJECT_ID_DESTINATION \ --destination-instance=INSTANCE_ID_DESTINATION \ --destination-cluster=CLUSTER_ID_DESTINATION \ --destination-backup=BACKUP_ID_DESTINATION \
Ajoutez l'un des éléments suivants à la commande:
--retention-period
`=RETENTION_PERIOD: durée de conservation de la copie de sauvegarde. Le délai doit être compris entre 6 heures et 30 jours à compter de la création de la sauvegarde source.--expiration-date
`=EXPIRATION_DATE: expiration de la copie de sauvegarde. Le délai doit être compris entre 6 heures et 30 jours à compter de la création de la sauvegarde source.
Vous pouvez éventuellement ajouter
--async
à la commande. Utilisez-la si vous souhaitez terminal pour renvoyer l'ID de l'opération avant la fin de l'opération. Cela peut être utile si vous souhaitez vérifier l'état opération.Si un message d'expiration de délai est renvoyé, il se peut que la sauvegarde ait bien été effectuée et que la copie ait été créée.
Consultez la liste des sauvegardes pour voir si votre copie a été créée.
gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
Si la sauvegarde n'est pas répertoriée, vérifiez État de l'opération.
Dans les rares cas où une opération de copie de sauvegarde échoue en raison de limites de capacité, réessayez avec une autre destination cluster. Si cette opération échoue également, contactez l'assistance.
Vérifier l'état d'une opération
Console
Accédez à la page Instances Bigtable de la console Google Cloud.
Cliquez sur l'instance contenant la sauvegarde.
Dans le volet de navigation de gauche, cliquez sur Sauvegardes.
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
Voici les différents états des opérations lors de la création d'une sauvegarde:
- Création de la sauvegarde…
- Sauvegarde terminée
Voici les différents états des opérations lors de la copie d'une sauvegarde:
- Copie de la sauvegarde…
- Sauvegarde copié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.
Copiez l'ID de l'opération.
Exécutez la gcloud bigtable operations describe , en remplaçant la valeur que vous avez 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
soitTRUE
.
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.
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
etDONE
. La valeur de la colonneNAME
correspond à l'ID de l'opération.Copiez l'ID de l'opération en commençant par le premier élément de la liste.
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
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 deDONE
corresponde àTRUE
.Si les métadonnées n'affichent pas de valeur pour
backupInfo
, vérifiez la prochaine dans la liste des opérations affichée à l'étape 1.
Modifier une sauvegarde ou une copie de sauvegarde
Console
La console Google Cloud ne vous permet pas de modifier une sauvegarde, y compris des copies.
gcloud
La gcloud CLI vous permet de modifier la date d'expiration ou pour la sauvegarde ou la copie de sauvegarde.
Remplacez toutes les commandes par les valeurs suivantes :
- INSTANCE_ID : identifiant permanent de l'instance.
- CLUSTER_ID : identifiant permanent du cluster.
- BACKUP_ID : ID unique d'une sauvegarde.
EXPIRATION_DATE: date de 90 jours ou moins dans le futur, au format "zoulou" Horodatage UTC, précis à la nanoseconde près.
Exemple :
2019-10-02T15:01:23.045123456Z
RETENTION_PERIOD: période de 90 jours maximum, exprimée sous la forme d'une numérique avec l'unité
m
,h
oud
(minutes, heures ou jours)._Examples_: `36h` or `89d`
Affichez la liste des sauvegardes :
gcloud bigtable backups list --instance=INSTANCE_ID
Le terminal affiche une liste de sauvegardes.
Notez les ID de sauvegarde et de cluster associés à la sauvegarde que vous devez mettre à jour.
Exécutez la commande gcloud bigtable instances credentials update pour ajouter une date d'expiration ou une période de conservation.
gcloud bigtable backups update BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ --expiration-date=EXPIRATION_DATE \ --retention-period=RETENTION_PERIOD
Exécutez la commande gcloud bigtable instances connections describe pour vérifier que vous avez bien mis à jour la date d'expiration.
gcloud bigtable backups describe BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID ```
Supprimer une sauvegarde
Si vous souhaitez supprimer une sauvegarde après en avoir créé une copie, vérifiez son état pour vous assurer que l'opération de copie est terminée.
Console
Accédez à la page Instances Bigtable de la console Google Cloud.
Cliquez sur l'instance contenant la sauvegarde.
Dans le volet de navigation de gauche, cliquez sur Sauvegardes.
Pour supprimer la sauvegarde, développez le menu "Plus" à côté du mot Restaurer, puis cliquez sur Supprimer.
Saisissez l'ID de sauvegarde dans le champ Confirmer la suppression, puis cliquez sur Supprimer.
gcloud
Affichez la liste des sauvegardes en remplaçant l'ID de l'instance par
INSTANCE_ID
:gcloud bigtable backups list --instance=INSTANCE_ID
Le terminal affiche une liste de sauvegardes.
Notez l'ID de sauvegarde et l'ID du cluster sur lequel elle est stockée.
Exécutez la commande gcloud bigtable instances connections delete en remplaçant l'ID de sauvegarde que vous avez noté
BACKUP_ID
et l'ID de cluster pourCLUSTER_ID
.gcloud bigtable backups delete BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Étape suivante
- En savoir plus sur les sauvegardes.
- Découvrez comment importer et exporter des données Bigtable.