À propos des sauvegardes Cloud SQL

Cette page décrit le fonctionnement des sauvegardes de votre instance Cloud SQL, Vous pouvez effectuer des sauvegardes sur votre instance principale.

Pour obtenir des instructions détaillées sur la planification des sauvegardes ou la création de sauvegardes à la demande, consultez la section Créer et gérer des sauvegardes à la demande et automatiques.

Pour savoir comment restaurer des données sur une instance à partir de la sauvegarde, consultez la section Présentation de la restauration d'une instance.

Avantages des sauvegardes

Les sauvegardes permettent de restaurer des données perdues sur votre instance Cloud SQL. De plus, si une instance rencontre un problème, vous pouvez la restaurer à un état précédent en utilisant la sauvegarde pour l'écraser. Vous devez activer les sauvegardes automatiques pour toute instance contenant des données nécessaires à un bon fonctionnement. Les sauvegardes protègent vos données contre la perte ou les dommages.

L'activation des sauvegardes automatiques et de la journalisation binaire est également requise pour certaines opérations, telles que la création de clones et d'instances dupliquées.

Coût des sauvegardes

Par défaut, Cloud SQL conserve 7 sauvegardes automatiques pour chaque instance Cloud SQL Enterprise et 15 sauvegardes automatiques pour chaque instance Cloud SQL Enterprise Plus, en plus des sauvegardes à la demande. Vous pouvez configurer le nombre de sauvegardes automatiques à conserver (de 1 à 365). Le stockage des sauvegardes est facturé à un tarif inférieur à celui des autres types d'instances.

Cloud SQL n'effectue pas de sauvegarde d'instance si vous arrêtez ou supprimez l'instance. Si vous supprimez une instance, les données sont conservées pendant quatre jours seulement. Pour récupérer l'instance et ses données, contactez l'assistance Google Cloud dans un délai de quatre jours avec toutes les informations requises sur l'instance.

Consultez la page des tarifs pour en savoir plus.

Sauvegardes et exportations

Les sauvegardes sont gérées par Cloud SQL conformément aux règles de conservation et sont conservées séparément de l'instance Cloud SQL. Les sauvegardes Cloud SQL diffèrent d'une exportation importée dans Cloud Storage, dans lequel vous gérez le cycle de vie. Les sauvegardes couvrent l'ensemble de la base de données. Les exportations permettent de sélectionner un contenu spécifique.

Les opérations de sauvegarde et de restauration ne peuvent pas être utilisées pour mettre à niveau une base de données vers une version ultérieure. Vous ne pouvez effectuer une restauration qu'à partir d'une sauvegarde sur une instance ayant la même version de base de données.

Pour passer à une version ultérieure, vous pouvez utiliser le service Database Migration ou exporter, puis importer votre base de données vers une nouvelle instance Cloud SQL.

Taille des sauvegardes

Les sauvegardes Cloud SQL sont incrémentielles. Elles ne contiennent que des données qui ont été modifiées depuis la dernière sauvegarde. La taille de la sauvegarde la plus ancienne est égale à celle de la base de données, mais la taille des sauvegardes suivantes va dépendre du taux de modification des données. Lorsque la sauvegarde la plus ancienne est supprimée, la taille de la deuxième sauvegarde la plus ancienne augmente. Il existe donc toujours une sauvegarde complète.

Types de sauvegardes

Cloud SQL effectue deux types de sauvegardes :

Sauvegardes à la demande

Vous pouvez créer une sauvegarde à tout moment. Cette possibilité s'avère utile si vous êtes sur le point d'effectuer une opération risquée sur votre base de données, ou si vous avez besoin d'une sauvegarde et ne souhaitez pas attendre l'intervalle de sauvegarde. Vous pouvez créer des sauvegardes à la demande pour n'importe quelle instance, que les sauvegardes automatiques soient activées ou non.

À l'inverse des sauvegardes automatiques, les sauvegardes à la demande ne sont pas automatiquement supprimées. Elles persistent jusqu'à ce que vous les supprimiez ou que leur instance soit supprimée. Pour cette raison, les sauvegardes à la demande peuvent affecter vos frais de facturation à long terme.

Sauvegardes automatiques

Les sauvegardes automatiques sont effectuées quotidiennement, dans un intervalle de sauvegarde de quatre heures. La sauvegarde commence pendant l'intervalle de sauvegarde. Si possible, planifiez les sauvegardes en période de faible activité de l'instance.

Nous vous recommandons de ne pas supprimer les sauvegardes automatiques, car elles sont nécessaires à la récupération à un moment précis.

Pendant l'intervalle de sauvegarde, des sauvegardes automatiques sont effectuées tous les jours pendant l'exécution de votre instance. Une sauvegarde automatique supplémentaire est effectuée après l'arrêt de votre instance pour protéger toutes les modifications avant l'arrêt. Jusqu'à sept sauvegardes les plus récentes sont conservées par défaut. Vous pouvez configurer le nombre de sauvegardes automatiques à conserver, de 1 à 365. Les valeurs de conservation des journaux de sauvegarde et de transactions peuvent être modifiées à partir du paramètre par défaut. En savoir plus

Emplacement de stockage des sauvegardes

Les emplacements de sauvegarde incluent :

Emplacements de sauvegarde par défaut

Si vous ne spécifiez pas d'emplacement de stockage, vos sauvegardes sont stockées dans l'emplacement multirégional le plus proche géographiquement de l'emplacement de votre instance Cloud SQL. Par exemple, si votre instance Cloud SQL se trouve dans us-central1, vos sauvegardes sont stockées par défaut dans l'emplacement multirégional us. Toutefois, un emplacement par défaut tel que australia-southeast1 ne se trouve pas dans un emplacement multirégional. L'emplacement multirégional le plus proche est asia.

Emplacements de sauvegarde personnalisés

Cloud SQL vous permet de sélectionner un emplacement personnalisé pour vos données de sauvegarde. Cette fonctionnalité est utile si votre organisation doit respecter des réglementations concernant la résidence des données, qui exigent de conserver vos sauvegardes en respectant une limite géographique spécifique. Si votre organisation doit se conformer à ce type d'exigence, elle utilise probablement une règle d'administration de restriction de l'emplacement des ressources. Avec cette règle, lorsque vous essayez d'utiliser un emplacement géographique non conforme à la règle, une alerte s'affiche sur la page Sauvegardes. Si cette alerte s'affiche, vous devez remplacer l'emplacement de sauvegarde par un emplacement autorisé par la règle.

Lorsque vous sélectionnez un emplacement personnalisé pour une sauvegarde, tenez compte des points suivants :

  • Coût : Un cluster de votre instance peut se trouver dans une région moins coûteuse que les autres.
  • Proximité avec votre serveur d'applications : Vous pouvez stocker la sauvegarde aussi près que possible de votre application de diffusion.
  • Utilisation du stockage : Vous avez besoin d'un espace de stockage suffisant pour conserver votre sauvegarde à mesure que sa taille augmente. En fonction de votre charge de travail, vous pouvez disposer de clusters de différentes tailles ou avec une utilisation de disque différente. Cela peut être un facteur de choix du cluster.

Pour obtenir une liste complète des valeurs régionales valides, consultez Emplacements des instances. Pour obtenir une liste complète des valeurs multirégionales, voir Emplacements multirégionaux.

Pour en savoir plus sur la définition des emplacements des sauvegardes et sur l'affichage des emplacements des sauvegardes effectuées pour une instance, consultez les pages Définir un emplacement personnalisé pour les sauvegardes et Afficher les emplacements de sauvegarde.

Sauvegarde automatique et conservation des journaux de transactions

Les sauvegardes automatiques permettent de restore une instance Cloud SQL. Pour effectuer une récupération à un moment précis, vous pouvez associer des sauvegardes automatiques et des journaux de transactions.

Les sauvegardes automatiques peuvent être conservées jusqu'à un an en configurant la durée de conservation. Les sauvegardes à la demande persistent jusqu'à ce que vous supprimiez les sauvegardes ou votre instance.

Bien que les journaux de transactions soient comptabilisés en jours, il n'est pas garanti que les sauvegardes automatiques aient lieu dans un délai d'un jour. Différentes unités sont utilisées pour ces paramètres de conservation. La conservation des sauvegardes automatiques est un décompte. Sa valeur peut être comprise entre 1 et 365 sauvegardes.

La conservation des journaux de transactions est comptabilisée en jours. Pour les instances de l'édition Cloud SQL Enterprise Plus, la plage est comprise entre 1 et 35 jours, avec une valeur par défaut de 14 jours. Pour les instances de l'édition Cloud SQL Enterprise, la plage est comprise entre 1 et 7 jours, avec une valeur par défaut de 7 jours. Pour les instances Cloud SQL Enterprise Plus et Cloud SQL Enterprise, le paramètre de conservation des journaux de transactions doit être inférieur au paramètre de conservation des sauvegardes.

Les limites inférieures sont utiles pour les instances de test, car les journaux et les sauvegardes sont supprimés plus rapidement. Pour les journaux de transactions, la taille du disque n'augmente pas autant avec des limites inférieures. L'utilisation de valeurs plus élevées pour la conservation des sauvegardes automatiques vous permet de restaurer les données en remontant plus loin dans le temps.

Les journaux sont supprimés définitivement une fois par jour, et non de manière continue. Lorsque le nombre de jours de conservation des journaux est identique au nombre de sauvegardes, la conservation des journaux peut être insuffisante. Par exemple, si vous définissez la durée de conservation des journaux sur sept jours et la durée de conservation de sauvegarde sur sept sauvegardes, cela signifie que six à sept jours de journaux seront conservés.

Nous vous recommandons de définir le nombre de sauvegardes sur une valeur correspondant au moins à la durée de conservation des journaux plus un, afin de garantir un minimum de jours spécifiés de conservation des journaux.

Une activité d'écriture élevée sur la base de données peut générer un grand volume de journaux de transactions, ce qui peut consommer beaucoup d'espace disque et entraîner la croissance de la taille des disques, pour les instances où l'augmentation automatique de l'espace de stockage est activée. Nous vous recommandons de dimensionner le stockage des instances en tenant compte de la conservation des journaux de transactions.

Consultez la section Définir la durée de conservation des sauvegardes automatiques.

Consultez la section Définir la durée de conservation des journaux de transactions.

Puis-je exporter une sauvegarde ?

Non, il n'est pas possible d'exporter une sauvegarde. Vous ne pouvez exporter que des données d'instance. Pour en savoir plus, consultez la page Exporter des données à partir de Cloud SQL.

À propos de l'utilisateur de sauvegarde spécial

Cloud SQL crée un utilisateur de base de données spécial cloudsqladmin pour chaque instance et génère un mot de passe unique, spécifique à celle-ci. Le service se connecte en tant qu'utilisateur cloudsqladmin pour effectuer des sauvegardes automatiques.

Impact des sauvegardes sur les opérations d'instance

L'option FLUSH TABLES WITH READ LOCK n'est pas utilisée pour les sauvegardes d'instances MySQL. Cela signifie que les écritures et les autres opérations ne sont pas affectées par les opérations de sauvegarde.

En règle générale, les sauvegardes sont finalisées en deux minutes, mais l'opération peut prendre plus de temps si une grande quantité de données a été écrite depuis la dernière sauvegarde.

S'il existe une opération en attente au moment de la tentative de sauvegarde, Cloud SQL effectue généralement plusieurs tentatives dans l'intervalle de sauvegarde. Les opérations qui bloquent la sauvegarde sont des opérations de longue durée sur les instances Cloud SQL, comme l'importation, l'exportation, la mise à jour (par exemple, un changement de métadonnées d'instance) et le redémarrage d'instances. Si des opérations fréquentes ou de longue durée bloquent la sauvegarde automatique pendant l'intervalle de sauvegarde, envisagez de planifier la sauvegarde à un autre moment.

Pendant une opération de longue durée, telle que le chargement de données, vous pouvez désactiver temporairement les sauvegardes automatiques.

Limitations de la fréquence de sauvegarde

Cloud SQL limite la fréquence des opérations de sauvegarde sur le disque de données. Vous êtes autorisé à effectuer au maximum cinq opérations de sauvegarde toutes les 50 minutes par instance et par projet. Si une opération de sauvegarde échoue, elle n'est pas comptabilisée dans ce quota. Si vous atteignez la limite, l'opération échoue avec un message d'erreur vous indiquant quand vous pouvez réessayer.

Examinons comment Cloud SQL limite la fréquence des sauvegardes.

Cloud SQL utilise les jetons d'un bucket pour déterminer combien d'opérations de sauvegarde sont disponibles à un moment donné. Chaque instance comporte un bucket. Vous pouvez utiliser un maximum de cinq jetons dans le bucket pour les opérations de sauvegarde. Toutes les 10 minutes, un nouveau jeton est ajouté au bucket. Si le bucket est plein, le jeton "déborde".

Chaque fois que vous effectuez une opération de sauvegarde, un jeton est attribué à partir du bucket. Si l'opération réussit, le jeton est supprimé du bucket. En cas d'échec, le jeton est renvoyé au bucket. Le schéma suivant illustre ce fonctionnement :

Fonctionnement des jetons

Sauvegardes et vérifications de l'intégrité des données

Cloud SQL effectue automatiquement des contrôles d'intégrité de la base de données en arrière-plan, afin d'identifier d'éventuels problèmes d'intégrité des données. Ces vérifications sont effectuées en tant que processus hors connexion, en restaurant un échantillonnage de sauvegardes initiées par le client ou de sauvegardes de récupération.

Sauvegardes de récupération

Une fois qu'une instance est supprimée, Cloud SQL supprime toutes les sauvegardes. Pour éviter toute suppression accidentelle d'instances, Cloud SQL conserve leurs sauvegardes pendant quatre jours. Pour récupérer une instance supprimée, contactez Google Cloud Customer Care dans un délai de quatre jours.

Cloud SQL conserve au moins une dernière sauvegarde quotidienne valide de chaque instance active. Par conséquent, si aucune sauvegarde valide n'est disponible, vous pouvez utiliser la sauvegarde quotidienne pour récupérer votre instance en contactant Google Cloud Customer Care.

Dépannage

Problème Dépannage
Vous ne pouvez pas voir l'état de l'opération en cours. Google Cloud Console signale les réussites ou les échecs d'exécution lorsque l'opération est terminée. Il n'est pas conçu pour afficher des avertissements ni d'autres mises à jour.

Exécutez la commande gcloud sql operations list pour répertorier toutes les opérations pour l'instance Cloud SQL donnée.

Vous souhaitez savoir qui a initié une opération de sauvegarde à la demande. L'interface utilisateur n'affiche pas l'utilisateur qui a lancé une opération.

Recherchez les utilisateurs dans les journaux et filtrez-les par texte. Vous devrez peut-être consulter les journaux d'audit pour obtenir des informations personnelles. Les fichiers journaux pertinents incluent :

  • cloudsql.googlapis.com/mysql-general.log
  • cloudsql.googleapis.com/mysql.err
  • Si Cloud Audit Logs est activé et que vous disposez des autorisations nécessaires pour les afficher, il est possible que cloudaudit.googleapis.com/activity soit également disponible.
Une fois qu'une instance est supprimée, vous ne pouvez plus en effectuer de sauvegarde.

Une fois qu'une instance est définitivement supprimée, la récupération de données est impossible. Toutefois, si l'instance est restaurée, ses sauvegardes sont également restaurées. Pour en savoir plus sur la récupération d'une instance supprimée, consultez la section Sauvegardes de récupération.

Si vous avez exporté les données, créez une instance puis importez les données pour recréer la base de données. Les données exportées sont écrites dans Cloud Storage, d'où sont lues les données importées.

La sauvegarde automatique demeure bloquée pendant de nombreuses heures et ne peut pas être annulée. Les sauvegardes peuvent prendre beaucoup de temps en fonction de la taille de la base de données.

Si vous devez vraiment annuler l'opération, vous pouvez demander au service client d'effectuer une opération force restart sur l'instance.

Une opération de restauration peut échouer lorsqu'un ou plusieurs utilisateurs référencés dans le fichier de vidage SQL n'existent pas. Avant de restaurer un fichier de vidage SQL, tous les utilisateurs de la base de données qui possèdent des objets ou disposent d'autorisations sur les objets qu'elle contient doivent exister dans la base de données cible. Si ce n'est pas le cas, l'opération de restauration ne recrée pas les objets avec les autorisations ou la propriété d'origine.

Créez les utilisateurs de la base de données avant d'effectuer une restauration à partir du fichier de vidage SQL.

Vous souhaitez augmenter le nombre de jours pendant lesquels vous pouvez conserver les sauvegardes automatiques de sept à 30 jours ou plus. Vous pouvez configurer le nombre de sauvegardes automatiques à conserver (de 1 à 365). Les sauvegardes automatiques sont régulièrement supprimées en fonction de la valeur de conservation configurée. Malheureusement, cela signifie que les sauvegardes visibles sont les seules sauvegardes automatiques à partir desquelles vous pourrez effectuer une restauration.

Pour conserver les sauvegardes indéfiniment, vous pouvez créer des sauvegardes à la demande, car elles ne sont pas supprimées de la même manière que les sauvegardes automatiques. Les sauvegardes à la demande sont conservées indéfiniment, c'est-à-dire jusqu'à leur suppression ou la suppression de l'instance à laquelle elles appartiennent. En revanche, comme les sauvegardes de ce type ne sont pas automatiquement supprimées, elles peuvent affecter la facturation.

La sauvegarde automatique a échoué et vous n'avez pas reçu de notification par e-mail. Pour que Cloud SQL vous informe de l'état de la sauvegarde, configurez une alerte basée sur les journaux.

Étapes suivantes