Cette page explique comment sauvegarder des instances Cloud SQL dans un coffre-fort de sauvegarde. L'envoi de sauvegardes vers un coffre de sauvegarde garantit l'immuabilité et la conservation forcée.
Dans la console Google Cloud , vous pouvez sauvegarder des instances Cloud SQL dans un coffre de sauvegarde en appliquant des plans de sauvegarde. Vous pouvez effectuer une sauvegarde de l'une des deux manières suivantes. Ces deux méthodes vous permettent de stocker vos sauvegardes de manière sécurisée dans un coffre-fort de sauvegarde. Vous disposez ainsi d'un moyen fiable de récupérer vos instances Cloud SQL en cas de perte de données ou d'autres événements inattendus.
- Sauvegardes planifiées : Vous pouvez sauvegarder automatiquement les instances Cloud SQL à des intervalles spécifiques, par exemple tous les jours, toutes les semaines, tous les mois ou tous les ans.
- Sauvegardes à la demande : Vous pouvez créer des sauvegardes à la demande chaque fois que vous en avez besoin. Les sauvegardes à la demande sont utiles pour créer des sauvegardes avant d'apporter des modifications importantes à vos bases de données ou pour la protection ponctuelle des données.
Avant de commencer
- Activez l'API du service Backup and DR à l'emplacement des instances Cloud SQL.
- Activer l'API
- Créer un coffre de sauvegarde
- Créer un plan de sauvegarde
- Attribuer des rôles et des autorisations IAM à l'utilisateur de sauvegarde
- Accorder l'accès au coffre de sauvegarde dans le projet Cloud SQL
- Configurez Log Analytics sur votre bucket pour surveiller les jobs de sauvegarde Backup and DR.
Rôles et autorisations IAM pour l'utilisateur de sauvegarde
Pour obtenir les autorisations nécessaires pour configurer des sauvegardes planifiées ou exécuter des sauvegardes à la demande, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet de coffre-fort de sauvegarde :
-
Utilisateur Backup and DR Backup (
roles/backupdr.backupUser
) -
Lecteur (
roles/viewer
)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour configurer des sauvegardes planifiées ou exécuter des sauvegardes à la demande. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour configurer des sauvegardes planifiées ou exécuter des sauvegardes à la demande :
-
backupdr.backupPlans.list
-
backupdr.backupPlanAssociations.createForCloudSqlInstance
-
backupdr.backupPlanAssociations.fetchForCloudSqlInstance
-
backupdr.backupPlanAssociations.list
-
backupdr.backupPlanAssociations.getForCloudSqlInstance
-
backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
-
backupdr.backupPlanAssociations.deleteForCloudSqlInstance
-
backupdr.backupPlans.useForCloudSqlInstance
-
backupdr.locations.list
-
backupdr.operations.get
-
cloudasset.assets.searchAllResources
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Le tableau suivant répertorie les autorisations dynamiques requises pour chaque appel d'API :
Ressource | Action à effectuer sur la ressource | Autorisations requises pour chaque appel d'API | Projet auquel il doit être attribué |
---|---|---|---|
Coffre de sauvegarde | Créer un coffre de sauvegarde | backupdr.backupVaults.create | Projet administrateur |
Supprimer le Coffre de sauvegarde | backupdr.backupVaults.delete | Projet administrateur | |
Mettre à jour BackupVault | backupdr.backupVaults.update | Projet administrateur | |
Lister les BackupVaults | backupdr.backupVaults.list | Projet administrateur | |
Obtenir BackupVault | backupdr.backupVaults.get | Projet administrateur | |
Plan de sauvegarde | Create BackupPlan | backupdr.backupPlans.create | Projet administrateur |
Delete BackupPlan | backupdr.backupPlans.delete | Projet administrateur | |
Obtenir un BackupPlan | backupdr.backupPlans.get | Projet administrateur | |
Lister les plans de sauvegarde | backupdr.backupPlans.list | Projet administrateur | |
Associations de plans de sauvegarde | Créer une association de plan de sauvegarde | cloudsql.instances.updateBackupDrConfig | Projet de charge de travail |
backupdr.backupPlanAssociations.createForCloudSqlInstance | Projet de charge de travail | ||
backupdr.backupPlans.useForCloudSqlInstance | Projet administrateur | ||
Supprimer l'association du plan de sauvegarde | backupdr.backupPlanAssociations.deleteForCloudSqlInstance | Projet de charge de travail | |
cloudsql.instances.updateBackupDrConfig | Projet de charge de travail | ||
Déclencher une sauvegarde à la demande sur l'association du plan de sauvegarde | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance | Projet de charge de travail | |
Obtenir l'association du plan de sauvegarde | backupdr.backupPlanAssociations.getForCloudSqlInstance | Projet de charge de travail | |
Lister les associations de plans de sauvegarde | backupdr.backupPlanAssociations.list | Projet de charge de travail | |
Récupérer les associations de plans de sauvegarde | backupdr.backupPlanAssociations.fetchForCloudSqlInstance | Projet de charge de travail | |
Source de données | Obtenir DataSource | backupdr.bvdataSources.get | Projet administrateur |
Lister les sources de données | backupdr.backupPlanAssociations.list | Projet administrateur | |
Restauration PITR | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance | Projet administrateur | |
Sauvegardes | Obtenir une sauvegarde | backupdr.bvbackups.get | Projet administrateur |
Lister les sauvegardes | backupdr.bvbackups.list | Projet administrateur | |
Supprimer la sauvegarde | backupdr.bvbackups.delete | Projet administrateur | |
Restaurer une sauvegarde | backupdr.bvbackups.useReadOnlyForCloudSqlInstance | Projet administrateur | |
Références aux sources de données | Obtenir une référence DataSource | backupdr.dataSourceReferences.getForCloudSqlInstance | Projet de charge de travail |
Récupérer les références DataSource | backupdr.dataSourceReferences.fetchForCloudSqlInstance | Projet de charge de travail | |
Opérations | Répertorier les opérations | backupdr.operations.list | Projet concerné |
Opérations Get | backupdr.operations.get | Projet concerné |
Accorder l'accès au coffre de sauvegarde dans le projet Cloud SQL
Pour sauvegarder une instance Cloud SQL dans un projet différent de celui dans lequel le parc de sauvegarde est créé, vous devez attribuer le rôle IAM Opérateur Backup and DR pour Cloud SQL (roles/backupdr.cloudSqlOperator
) à l'agent de service du parc de sauvegarde dans le projet Cloud SQL. Si le projet de coffre-fort de sauvegarde dans lequel les sauvegardes seront stockées est différent du projet Cloud SQL, attribuez le rôle à l'agent de service du coffre-fort de sauvegarde dans le projet Cloud SQL.
Pour sauvegarder une instance Cloud SQL dans le même projet que celui dans lequel le coffre de sauvegarde est créé, aucun rôle n'est requis.
Pour savoir comment attribuer des rôles à l'agent de service du parc de sauvegarde dans le projet que vous souhaitez sauvegarder, consultez Attribuer un rôle à l'agent de service.
Configurer une sauvegarde planifiée
Suivez les instructions ci-dessous pour configurer une sauvegarde planifiée pour les instances Cloud SQL.
Console
Dans la console Google Cloud , accédez à la page Sauvegardes dans le coffre-fort.
Cliquez sur Programmer une sauvegarde.
Dans la liste Type de ressource, sélectionnez Cloud SQL.
Dans la liste Projet, sélectionnez un projet dans lequel se trouve l'instance Cloud SQL.
Dans la liste Région, sélectionnez la région dans laquelle se trouvent vos instances.
Dans la liste Ressources, cliquez sur Parcourir. Choisissez l'instance Cloud SQL que vous souhaitez sauvegarder, puis cliquez sur OK.
Cliquez sur Continuer.
Dans la liste Plan de sauvegarde, cliquez sur Sélectionner.
Choisissez un plan de sauvegarde avec lequel vous souhaitez protéger les instances Cloud SQL.
Cliquez sur OK.
Vérifiez les détails de la sauvegarde, puis cliquez sur Programmer.
gcloud
Configurez une sauvegarde planifiée.
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=CSQL_REGION \ --project=CSQL_PROJECT_ID \ --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \ --resource-type=sqladmin.googleapis.com/Instance \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
Remplacez les éléments suivants :
BACKUP_PLAN_ASSOCIATION_NAME
: nom de l'association du plan de sauvegarde.CSQL_REGION
: région dans laquelle se trouvent les instances Cloud SQL.CSQL_PROJECT_ID
: nom du projet dans lequel se trouvent les instances Cloud SQL.CSQL_INSTANCE_ID
: ID de l'instance Cloud SQL.PROJECT_ID
: nom du projet dans lequel les plans de sauvegarde existent.LOCATION
: emplacement de l'instance.
Lister les instances pour lesquelles des sauvegardes sont planifiées
Suivez les instructions ci-dessous pour lister les instances Cloud SQL pour lesquelles des sauvegardes sont planifiées.
Console
Dans la console Google Cloud , accédez à la page Sauvegardes dans le coffre-fort.
En haut du tableau, sélectionnez Filtrer le tableau > Type de ressource. Sélectionnez Cloud SQL. L'affichage est alors limité aux instances Cloud SQL auxquelles des plans de sauvegarde ont été appliqués et dont les sauvegardes sont stockées dans un coffre de sauvegarde au sein d'un projet.
gcloud
Répertoriez les instances Cloud SQL pour lesquelles des sauvegardes sont planifiées :
gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
--location=LOCATION \
--project=PROJECT_ID
Remplacez les éléments suivants :
- LOCATION : emplacement des sauvegardes planifiées.
- PROJECT_ID : nom du projet dans lequel se trouvent les instances Cloud SQL.
Créer une sauvegarde à la demande
Vous pouvez lancer une sauvegarde à la demande pour une instance Cloud SQL avec un forfait de sauvegarde en déclenchant l'exécution immédiate de la règle de sauvegarde de votre choix. Les sauvegardes à la demande ne capturent généralement que les données modifiées depuis la dernière sauvegarde (incrémentielles).
Lorsque vous créez une sauvegarde à la demande, vous pouvez choisir une règle du plan de sauvegarde associé à l'instance Cloud SQL. Cette règle détermine quand la sauvegarde à la demande est supprimée. Vous pouvez vérifier l'état du job de sauvegarde sur la page Jobs. Pour en savoir plus, consultez Surveiller les jobs de sauvegarde et de restauration dans la console Google Cloud .
Suivez les instructions ci-dessous pour créer une sauvegarde à la demande.
Console
Dans la console Google Cloud , accédez à la page Sauvegardes dans le coffre-fort.
Accéder aux sauvegardes stockées dans un vault
La page Sauvegardes dans un coffre ne liste que les ressources de données auxquelles des plans de sauvegarde ont été appliqués et dont les sauvegardes sont stockées dans un coffre de sauvegarde au sein d'un projet.
Sélectionnez la ressource à sauvegarder. Dans le menu
ou sur la page d'informations de la ressource, sélectionnez Créer une sauvegarde à la demande.Dans la fenêtre Créer une sauvegarde à la demande, sélectionnez une règle de sauvegarde à utiliser, puis cliquez sur Créer.
Pour afficher l'état du job de sauvegarde à la demande, cliquez sur Notifications.
gcloud
Créez une sauvegarde à la demande. Lancez une sauvegarde à la demande à l'aide d'une association de plan de sauvegarde existante. Spécifiez un ID de règle pour déterminer la période d'expiration de cette sauvegarde unique à la demande :
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]
Remplacez les éléments suivants :
BACKUP_PLAN_ASSOCIATION_NAME : nom de l'association du plan de sauvegarde.
RULE_ID : nom de la règle de sauvegarde que vous souhaitez associer pour exécuter des sauvegardes à la demande.
PROJECT_ID : nom du projet.
LOCATION : emplacement des sauvegardes planifiées.
Supprimer la protection d'une instance Cloud SQL
Vous pouvez supprimer la protection d'une instance Cloud SQL en supprimant le plan de sauvegarde appliqué à l'instance. La suppression d'un plan de sauvegarde d'une instance Cloud SQL n'entraîne pas la suppression des sauvegardes créées pendant l'utilisation du plan de sauvegarde. Vous pourrez toujours accéder à ces sauvegardes existantes et les gérer jusqu'à leur expiration.
Suivez les instructions ci-dessous pour supprimer la protection d'une instance Cloud SQL.
Console
Dans la console Google Cloud , accédez à la page Sauvegardes dans le coffre-fort.
Cliquez sur le nom de la base de données dont vous souhaitez supprimer un plan de sauvegarde.
Sélectionnez Supprimer le plan de sauvegarde.
gcloud
Supprimez la protection d'une instance Cloud SQL.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
Remplacez les éléments suivants :
- BACKUP_PLAN_ASSOCIATION_NAME : nom de l'association de plan de sauvegarde que vous souhaitez supprimer.
- PROJECT_ID : nom du projet.
- LOCATION : emplacement de la sauvegarde planifiée.