À propos des sauvegardes Cloud SQL

Cette page décrit le fonctionnement des sauvegardes de votre instance Cloud SQL,

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, pour chaque instance, Cloud SQL conserve sept sauvegardes automatiques en plus de toutes les sauvegardes à la demande. Vous pouvez configurer le nombre de sauvegardes automatiques à conserver. Le stockage des sauvegardes est facturé à un tarif inférieur à celui des autres types d'instances.

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 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.

Pendant l'intervalle de sauvegarde, des sauvegardes automatiques sont effectuées tous les jours pendant l'exécution de votre instance. Les sept dernières sauvegardes 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.

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.

Consultez les sections Définir un emplacement personnalisé pour les sauvegardes et Afficher les emplacements des sauvegardes.

Sauvegarde automatique et conservation des journaux de transactions

Les sauvegardes automatiques permettent de restaurer 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, et peut être comprise entre un et sept jours. La valeur par défaut de ces deux paramètres est sept.

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 quelques secondes, mais si une grande quantité de données a été écrite depuis la dernière sauvegarde, la sauvegarde peut prendre plus de temps.

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.

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

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 Logging est activé et que vous disposez des autorisations nécessaires pour les afficher, il est possible que cloudaudit.googleapis.com/activity soit également disponible.
Vous ne pouvez pas effectuer de sauvegarde après la suppression d'une instance. Le délai de grâce avant la suppression définitive d'une instance Cloud SQL est de quatre jours, à l'exception des instances dupliquées avec accès en lecture qui sont supprimées définitivement. Pendant cette période, le service client est en mesure de recréer l'instance. Si l'instance est recréée, ses sauvegardes sont également recréées. Une fois les instances définitivement supprimées, la récupération des données est impossible.

Si vous avez exporté les données, vous pouvez créer une instance, puis importer 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. Sept sauvegardes seulement sont conservées. Les sauvegardes sont régulièrement supprimées en raison de leur coût et de leur taille. 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. Les notifications ne sont pas compatibles avec les échecs de sauvegarde.

Lorsqu'une sauvegarde automatique échoue, le message Operation error s'affiche sur la page Details de l'instance Cloud SQL.

Vous pouvez consulter l'état d'une sauvegarde via l'API REST ou les commandes gcloud. Vous pouvez commencer par répertorier les sauvegardes d'une instance puis décrire une sauvegarde spécifique par son ID :


gcloud sql backups list \
--project=PROJECT_ID \
--instance=INSTANCE_ID
   

gcloud sql backups describe BACKUP-ID \
--instance=INSTANCE_ID
    

Étape suivante