Présentation des sauvegardes

La sauvegarde Spanner vous permet de créer des sauvegardes de bases de données Spanner à la demande, et de les restaurer pour vous protéger contre les erreurs d'opérateur et d'application qui entraînent une corruption logique des données. Les sauvegardes sont chiffrées et disponibilité élevée, et peuvent être conservées jusqu'à un an à compter de leur création. Lorsque vous créez une sauvegarde, celle-ci réside dans la même instance, dans la même région et dans le même projet que sa base de données source. Si vous devez restaurer la sauvegarde dans une région ou un projet différent pour des raisons de conformité ou de continuité des activités, vous pouvez copier la sauvegarde sur une instance d'une région ou d'un projet distinct. Pour conserver les sauvegardes pendant plus d'un an, nous vous recommandons d'exporter votre base de données. Pour se protéger contre la corruption des données logique, Spanner propose également la récupération à un moment précis. Vous pouvez également activer la protection contre la suppression de bases de données pour éviter la suppression accidentelle de bases de données.

Principales fonctionnalités

  • Cohérence des données: les sauvegardes sont une copie transactionnelle et cohérente en externe d'une base de données Spanner au niveau du version_time de la sauvegarde.

  • Réplication: les sauvegardes résident dans la même instance que leur base de données source et sont répliquées dans les mêmes emplacements géographiques. Pour les instances régionales, la sauvegarde est stockée dans chacune des trois zones de lecture/écriture. Pour les instances multirégionales, la sauvegarde est stockée dans toutes les zones contenant une instance dupliquée en lecture/écriture ou en lecture seule. Si vous devez stocker la sauvegarde de votre base de données dans une autre région ou un autre projet, vous pouvez copier la sauvegarde terminée de l'instance source vers une instance de destination située dans une autre région ou un autre projet. Pour en savoir plus, consultez la section Copier une sauvegarde.

  • Expiration automatique : la date d'expiration spécifiée par l'utilisateur détermine la date de suppression automatique de toutes les sauvegardes. Spanner supprime les sauvegardes expirées de manière asynchrone. Il peut donc y avoir un délai entre l'expiration d'une sauvegarde et sa suppression effective.

Le tableau suivant décrit plusieurs stratégies de sauvegarde, l'approche recommandée pour mettre en œuvre le plan et la durée de conservation maximale pour l'approche suggérée.

Stratégie de sauvegarde Approche recommandée Durée de conservation maximale pour l'approche suggérée
Stockage de la sauvegarde d'une base de données dans la même instance, région et projet que sa base de données source Créez une sauvegarde. 1 an
Stockage de la sauvegarde d'une base de données dans une instance, une région ou un projet différents de ceux de sa base de données source (sauvegarde interrégionale ou inter-projets, par exemple) Créez une sauvegarde, puis copiez-la sur une instance d'une autre région ou d'un autre projet. 1 an
Stocker la sauvegarde dans Cloud Storage exporter la base de données vers un bucket Cloud Storage ; Pour obtenir une comparaison détaillée entre la sauvegarde et l'exportation, consultez Choisir entre la sauvegarde et la restauration ou l'importation et l'exportation. Illimitée (conservé jusqu'à la suppression)
Récupération à un moment précis (PITR) Pour récupérer des données à un moment précis dans le passé, sélectionnez PITR. Vous pouvez modifier la valeur version_retention_period de la base de données de 1 heure par défaut à 7 jours maximum. 7 jours

Contrôle des accès avec Identity and Access Management (IAM)

IAM vous permet de contrôler l'accès aux ressources Spanner, y compris les sauvegardes. Si vous débutez avec IAM, les rôles et les autorisations, consultez la page Présentation d'IAM pour une introduction.

Les ressources de sauvegarde sont organisées sous forme d'instances dans la hiérarchie des ressources Spanner. Nous vous recommandons d'appliquer les stratégies IAM au niveau du projet ou de l'instance. Si vous avez besoin d'un contrôle plus précis, vous pouvez également appliquer des stratégies IAM au niveau de la sauvegarde et de la base de données, mais cela n'est pas recommandé en raison de la complexité. N'oubliez pas que les sauvegardes ne contiennent pas de métadonnées de base de données telles que les stratégies IAM. Par conséquent, lorsque vous restaurez une base de données, celle-ci hérite initialement des stratégies de son instance parente.

Cette section décrit les rôles prédéfinis ayant accès à la sauvegarde et à la restauration.

Les rôles suivants sont conçus spécifiquement pour la sauvegarde:

  • spanner.backupAdmin: peut créer, afficher, mettre à jour, copier et supprimer des sauvegardes. Ce rôle permet également d'afficher et de gérer la stratégie IAM d'une sauvegarde. Ce rôle ne peut pas restaurer une base de données à partir d'une sauvegarde.
  • spanner.backupWriter: a accès à la création et à la copie de sauvegardes, mais ne peut pas les mettre à jour ni les supprimer. Ce rôle est destiné à être utilisé par les scripts qui automatisent la création de sauvegardes.

Les rôles suivants ont également accès aux sauvegardes Spanner:

  • spanner.admin: dispose d'un accès complet à la sauvegarde. Ce rôle dispose d'un accès complet à toutes les ressources Spanner.
  • owner: dispose d'un accès complet à la sauvegarde.
  • editor: dispose d'un accès complet à la sauvegarde.
  • viewer: peut afficher les sauvegardes et les opérations de sauvegarde. Ce rôle ne permet pas de créer, de mettre à jour, de supprimer ni de copier une sauvegarde.

Pour en savoir plus, consultez la page IAM pour Spanner.

Fonctionnement de la création d'une sauvegarde

Vous pouvez créer une sauvegarde de n'importe quelle base de données Spanner. Ces sauvegardes sont complètes, dans le sens où elles contiennent toutes les données de la base de données (y compris le schéma et les index secondaires) dans la section version_time de la sauvegarde. Les modifications apportées aux données ou au schéma après l'version_time ne sont pas incluses dans la sauvegarde. Les sauvegardes incluent toutes les options de base de données définies à l'aide de la commande ALTER DATABASE SET OPTIONS, mais n'incluent pas les stratégies Identity and Access Management (IAM). Lorsque vous créez une sauvegarde, celle-ci se trouve dans la même instance, dans la même région et dans le même projet que sa base de données source.

Vous pouvez créer une sauvegarde de différentes manières:

Lorsque vous créez une sauvegarde, vous devez spécifier une base de données source, un nom pour la ressource de sauvegarde et une date d'expiration (jusqu'à un an à compter de la création de la sauvegarde). Vous pouvez également spécifier un élément version_time, ce qui vous permet de sauvegarder votre base de données à un moment antérieur. Le champ version_time est généralement utilisé pour synchroniser les sauvegardes de plusieurs bases de données ou récupérer des données à l'aide de la récupération à un moment précis. Si version_time n'est pas spécifié, il est défini sur le create_time de la sauvegarde. Le système crée une ressource de sauvegarde et une opération de sauvegarde de longue durée pour suivre la progression de la sauvegarde. La nouvelle sauvegarde se trouve dans la même instance, dans la même région et dans le même projet que sa base de données source.

Pour garantir la cohérence externe de la sauvegarde, Spanner épingle le contenu de la base de données à l'emplacement create_time. Cela empêche le système de récupération de mémoire de supprimer les valeurs de données pertinentes pendant la durée de l'opération de sauvegarde. Ensuite, chaque zone de lecture/écriture et de lecture seule de l'instance commence à copier les données en parallèle. Si une zone est temporairement indisponible, la sauvegarde n'est pas terminée tant que la zone n'est pas rétablie et se termine. Les sauvegardes peuvent être restaurées dès que l'opération est terminée. Pour les instances multirégionales, toutes les zones en lecture/écriture et en lecture seule de toutes les régions doivent terminer leurs instances répliquées de sauvegarde avant que la sauvegarde ne soit marquée comme récupérable.

Les sauvegardes incluent également le schéma des flux de modifications d'une base de données, mais pas les enregistrements de modifications existants. Les données de flux de modifications sont destinées à être diffusées et consommées presque simultanément avec les modifications qu'elles décrivent. Par conséquent, Spanner exclut ces données des sauvegardes.

Fonctionnement de la copie de sauvegarde

La sauvegarde et la restauration Spanner vous permettent de copier une sauvegarde de votre base de données Spanner d'une instance vers une autre instance d'une région ou d'un projet différent, afin de fournir des fonctionnalités supplémentaires de protection des données et de conformité. La sauvegarde copiée possède les mêmes fonctionnalités clés que la sauvegarde d'origine. En outre, vous pouvez restaurer une sauvegarde copiée dans la même instance que la sauvegarde copiée pour prendre en charge les cas d'utilisation de sauvegarde et de restauration interrégionales et inter-projets.

Cas d'utilisation interrégionaux courants

Voici quelques cas d'utilisation interrégionaux courants de la copie d'une sauvegarde:

  • Conservez une sauvegarde dans une autre région pour respecter les exigences de conformité et réglementaires.

    Par exemple, pour répondre aux exigences de conformité, vous pouvez copier une sauvegarde de votre base de données dans une instance située dans une région à une distance minimale de vos données de production.

  • Conservez une sauvegarde dans une région distincte à des fins de reprise après sinistre et de continuité des activités.

    Par exemple, vous pouvez copier une base de données de sauvegarde dans une instance de destination à des fins de reprise après sinistre avec des objectifs de temps de récupération (RTO) et de point de récupération (RPO) non nuls. Ensuite, si nécessaire, vous pouvez restaurer la base de données à partir de la sauvegarde copiée dans l'instance de destination. (Si votre application présente des exigences de RTO et de RPO nuls, nous vous recommandons de configurer des configurations multirégionales Spanner pour vos plans de reprise après sinistre.)

Cas d'utilisation courants de plusieurs projets

Voici quelques cas d'utilisation courants de la copie d'une sauvegarde inter-projets:

  • Conservez une copie de sauvegarde dans un projet distinct pour répondre aux exigences opérationnelles, de sécurité ou de conformité.
  • Copier et déplacer des données entre des projets de développement, de test et de production

    Par exemple, si vous souhaitez transférer des données de votre projet de production vers un projet de test, vous pouvez créer une sauvegarde de vos données de production, puis copier cette sauvegarde dans le projet de test. Une fois l'opération de copie terminée, vous pouvez restaurer la sauvegarde copiée sur une instance du projet de test.

  • Déplacez votre base de données d'un projet à un autre (notez qu'un temps d'arrêt peut se produire lors de la migration).

Vous pouvez copier une sauvegarde vers une instance de destination dans une région ou un projet différent en spécifiant une sauvegarde source, une sauvegarde de destination et une date d'expiration située jusqu'à un an à compter de la date de création de la sauvegarde source. Cela signifie que la valeur de expiration_date doit être d'au moins six heures à compter du traitement de la requête de copie actuelle et au maximum 366 jours après la sauvegarde source create_time.

Au début de la requête de sauvegarde de copie, Spanner crée une ressource de sauvegarde et une opération de sauvegarde de longue durée pour faciliter le suivi de la progression de la sauvegarde. La sauvegarde est copiée dans chaque zone de lecture/écriture et de lecture seule de l'instance de destination. Si une zone est temporairement indisponible, la copie de sauvegarde ne se termine que lorsqu'elle est de nouveau en ligne. Vous ne pouvez pas supprimer l'instance de destination pendant la copie. Pour suivre la progression et l'état d'avancement de l'opération de copie de sauvegarde, suivez les étapes de la section Afficher la progression de la sauvegarde. Une fois la copie terminée, vous pouvez supprimer la sauvegarde source si vous n'en avez plus besoin. Une fois la copie terminée, vous pouvez utiliser des opérations telles que GetBackup, UpdateBackup et DeleteBackup avec la sauvegarde copiée.

Conditions préalables pour lancer la copie d'une sauvegarde

Si vous copiez une sauvegarde vers une instance d'une autre région ou d'un autre projet, vous devez d'abord configurer l'instance de destination. L'instance de destination est celle où se trouve la copie de votre sauvegarde. Elle peut compter jusqu'à 100 unités de traitement et n'a pas besoin d'avoir la même configuration d'instance que l'instance source (l'instance où réside votre sauvegarde source). Avant la restauration, assurez-vous que l'instance de destination dispose de suffisamment de nœuds ou d'unités de traitement provisionnés pour gérer la taille de la base de données, conformément à la limite de stockage de 4 To par nœud (par exemple, vous avez besoin d'au moins deux nœuds pour restaurer une sauvegarde de 8 To). Pour créer une instance de destination, consultez Créer et gérer des instances.

Autres considérations

Autres points à prendre en compte:

  • Lorsque vous copiez une sauvegarde d'une instance source vers une instance de destination, la sauvegarde existe indépendamment de sa sauvegarde source. Une fois l'opération de copie terminée, il y a une sauvegarde dans l'instance source et une sauvegarde dans l'instance de destination. Si vous n'avez plus besoin de la sauvegarde dans l'instance source, vous pouvez la supprimer.
  • Lorsque vous copiez une sauvegarde sur une instance régionale, les données de sauvegarde sont copiées dans chacune des trois zones de lecture/écriture de l'instance de destination.
  • Lorsque vous copiez une sauvegarde sur une instance multirégionale, les données de sauvegarde sont copiées dans chaque zone de l'instance contenant une instance répliquée en lecture/écriture ou en lecture seule.
  • Vous pouvez copier plusieurs sauvegardes en même temps.
  • Vous pouvez mettre à jour ou supprimer la sauvegarde de destination pendant qu'un processus de copie est en cours. Si vous supprimez la sauvegarde de destination, l'opération de copie en cours sera annulée.
  • Vous pouvez restaurer une sauvegarde dans l'instance source lorsqu'une opération de copie est en cours.
  • Vous pouvez annuler une opération de copie avant qu'elle ne se termine.

Les opérations suivantes ne sont pas autorisées pendant le processus de copie:

  • Vous ne pouvez pas supprimer la sauvegarde source lorsqu'une opération de copie est en cours.
  • Vous ne pouvez pas lancer une nouvelle copie ni une restauration sur la sauvegarde copiée de destination tant que la copie est en cours. Une fois la copie terminée, vous pouvez la copier à nouveau ou la restaurer.

Emplacement de stockage des sauvegardes Spanner

Les sauvegardes sont des ressources dans Spanner. Chaque ressource de sauvegarde est organisée sous la même instance que sa base de données source dans la hiérarchie des ressources et possède un chemin d'accès à la ressource au format projects/<project>/instances/<instance>/backups/<backup>. Une sauvegarde continue d'exister même après la suppression de sa base de données source, mais elle ne peut pas survivre à son instance parente. Pour éviter la suppression accidentelle de sauvegardes, vous ne pouvez pas supprimer une instance Spanner s'il existe des sauvegardes. Si vous souhaitez supprimer l'instance, nous vous recommandons de restaurer la sauvegarde, puis d'exporter la base de données restaurée, avant de supprimer la sauvegarde et l'instance.

Chiffrement

Tout comme les bases de données, les sauvegardes Spanner sont chiffrées par le biais d'un chiffrement géré par Google ou par le client. Par défaut, une sauvegarde utilise la même configuration de chiffrement que sa base de données, mais vous pouvez ignorer ce comportement en spécifiant une configuration de chiffrement différente lors de la création de la sauvegarde. Si la sauvegarde est compatible avec CMEK, elle est chiffrée à l'aide de la version principale de la clé KMS au moment de la création de la sauvegarde. Une fois la sauvegarde créée, la clé et la version de clé associées ne peuvent plus être modifiées, même si la clé KMS est alternée. Pour en savoir plus, consultez la section Créer une sauvegarde compatible avec CMEK.

Par défaut, une sauvegarde copiée utilise la même configuration de chiffrement, gérée par Google ou gérée par le client (CMEK), que son chiffrement de sauvegarde source. Vous pouvez ignorer ce comportement en spécifiant une configuration de chiffrement différente lors de la copie de la sauvegarde. Si vous souhaitez que la sauvegarde copiée soit chiffrée avec une clé CMEK lors de la copie interrégionale, spécifiez la clé KMS correspondant à la région de destination.

Performances

Cette section décrit les performances de sauvegarde optimales dans Spanner.

Performances lors de la sauvegarde

Lors d'une sauvegarde, Spanner crée une tâche de sauvegarde pour copier les données directement de la base de données vers l'espace de stockage de sauvegarde, et dimensionne cette tâche en fonction de la taille de la base de données. Ce job de sauvegarde n'utilise pas les ressources de processeur allouées à l'instance de la base de données. Il n'affecte donc pas les performances de l'instance. De plus, la charge de calcul sur l'instance de la base de données n'affecte pas la vitesse de l'opération de sauvegarde. Pour suivre la progression et l'achèvement d'une opération de sauvegarde, consultez Afficher la progression de la sauvegarde.

En règle générale, la plupart des sauvegardes prennent une à quatre heures. Certaines sauvegardes peuvent prendre plus de temps en raison de leur taille ou de la mise en file d'attente interne des ressources. Si une sauvegarde prend plus de temps que d'habitude alors qu'aucun autre facteur n'a changé, cela peut être dû à un retard dans la planification de la tâche de sauvegarde dans une zone. Cette opération peut parfois prendre jusqu'à 30 minutes. Nous vous recommandons de ne pas annuler et redémarrer la sauvegarde, car vous risquez de rencontrer le même retard de planification lors de la nouvelle opération de sauvegarde.

Performances lors de la copie d'une sauvegarde

Le temps nécessaire pour copier une sauvegarde dépend de facteurs tels que la taille de la sauvegarde source et la région de destination choisie pour la sauvegarde. Généralement, la plupart des copies sont finalisées en une à quatre heures. Certaines copies peuvent prendre plus de temps en fonction de la taille de la sauvegarde et de la région de destination. La copie d'une sauvegarde n'a aucune incidence sur les performances de l'instance ou de la base de données sources. Vous pouvez effectuer plusieurs copies simultanées de la sauvegarde source sur des instances de différentes régions sans affecter les performances.

Tarification

Vous êtes facturé en fonction de la quantité de stockage utilisée par vos sauvegardes par unité de temps. La facturation commence une fois l'opération de sauvegarde terminée et se poursuit jusqu'à ce que la sauvegarde ait été supprimée. Une sauvegarde terminée est facturée pour un minimum de 24 heures. Si vous créez une sauvegarde, puis la supprimez une minute après son achèvement, vous êtes toujours facturé 24 heures.

Une copie d'une sauvegarde est soumise aux mêmes coûts de stockage qu'une sauvegarde d'origine. Si vous créez une copie entre deux instances qui occupent des régions différentes, les coûts de transfert de données sortants s'appliquent.

Par exemple, si vous copiez votre base de données depuis la configuration d'instance multirégionale source nam7 dans la configuration d'instance multirégionale de destination nam-eur-asia3, les frais suivants s'appliquent:

  • Aucuns frais pour les régions us-central1 qui se chevauchent
  • Sans frais pour le témoin us-central2 dans la région
  • Les frais de transfert de données intercontinental s'appliquent deux fois: une fois pour chaque nouveau continent (Europe et Asie).
  • Les frais de transfert de données entre régions d'un même continent s'appliquent une fois pour us-east1.
  • Les frais de transfert de données entre régions d'un même continent s'appliquent une fois en Europe.

Spanner optimise le processus de copie pour minimiser le nombre de transferts entre régions. Cela permet de minimiser les coûts de transfert de données tout en offrant une expérience de sauvegarde rapide.

Les sauvegardes sont stockées et facturées séparément. Le stockage des sauvegardes n'affecte pas la facturation du stockage de base de données ni les limites de stockage des bases de données. Pour en savoir plus, consultez également la page Métriques d'utilisation du stockage.

Pour en savoir plus sur les coûts de sauvegarde, consultez la page Tarifs de Spanner.

Étapes suivantes