Vous pouvez utiliser la récupération à un moment précis (PITR) pour restaurer vos instances Cloud SQL principales, qu'elles soient actives ou supprimées. La PITR vous permet de restaurer l'instance à un moment précis. Une récupération à un moment précis crée toujours une instance ; vous ne pouvez pas effectuer de récupération PITR sur une instance existante.
Cloud SQL propose les options suivantes pour restaurer votre instance à l'aide de la récupération PITR :
- Effectuer une récupération PITR sur une instance active
- Effectuer une récupération PITR à l'aide du coffre de sauvegarde
Pour effectuer une récupération PITR sur une instance indisponible ou supprimée, vous devez trouver l'heure de récupération la plus récente et la plus ancienne.
Effectuer une récupération PITR
Console
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Ouvrez le menu "Autres actions"
pour l'instance que vous souhaitez récupérer, puis cliquez sur Créer un clone. - Vous pouvez également mettre à jour l'ID du nouveau clone sur la page Créer un clone.
- Sélectionnez Cloner à partir d'un moment antérieur.
- Saisissez la date et l'heure de la récupération PITR.
- Sélectionnez Toutes les bases de données, ou spécifiez un nom de base de données.
Si vous spécifiez un nom de base de données, vous ne pouvez en sélectionner qu'un. Par défaut, la récupération PITR est destinée à toutes les bases de données. - Cliquez sur Create clone (Créer un clone).
gcloud
Créez un clone à l'aide de la récupération PITR.
Remplacez les éléments suivants :
- SOURCE_INSTANCE_NAME : nom de l'instance à partir de laquelle vous effectuez la restauration.
- NEW_INSTANCE_NAME : nom du clone.
- TIMESTAMP : fuseau horaire UTC de l'instance source au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \ NEW_INSTANCE_NAME \ --point-in-time 'TIMESTAMP'
REST v1
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID du projet
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- restore-timestamp : moment jusqu'auquel effectuer la restauration
Dans la requête JSON, vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : "databaseNames": "my-database"
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID du projet
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- restore-timestamp : moment jusqu'auquel effectuer la restauration
Dans la requête JSON, vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : "databaseNames": "my-database"
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Effectuer une récupération PITR à l'aide du coffre de sauvegarde
Si votre instance Cloud SQL est activée pour utiliser les sauvegardes améliorées, vous pouvez effectuer une récupération à un moment précis pour votre instance à l'aide du coffre de sauvegarde.
Console
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
Ouvrez le menu d'actions
pour l'instance que vous souhaitez récupérer, puis cliquez sur Créer un clone.Sélectionnez Cloner à partir d'un moment antérieur.
Saisissez la date et l'heure de la récupération PITR.
Cliquez sur Create clone (Créer un clone).
gcloud
Pour effectuer une récupération PITR sur une instance à partir du coffre de sauvegarde, vous devez trouver le data-source de la sauvegarde la plus proche de l'heure à laquelle vous souhaitez effectuer la récupération PITR. Pour trouver la sauvegarde, consultez Répertorier toutes les sauvegardes du coffre de sauvegarde d'une instance. Une fois que vous avez identifié la sauvegarde, exécutez la commande suivante pour effectuer la récupération PITR :
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Remplacez les éléments suivants :
DATA_SOURCE: chemin d'accès de ladata-sourcede l'instance source la plus proche du code temporel de la récupération à un moment précis que vous souhaitez récupérer.TARGET_INSTANCE_NAME: nom de la nouvelle instance créée par l'opération de récupération PITR.PITR_TIMESTAMP: code temporel UTC du journal PITR de l'instance source vers lequel vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2025-11-15T16:19:00.094Z.TARGET_PROJECT: ID du projet pour la nouvelle instance.REGION: région de l'instance cible. Ce champ est obligatoire si la source de données de l'instance source se trouve dans un emplacement multirégional ou dans une région différente de celle de l'instance source. La région de l'instance cible doit être la même que celle de l'instance source.
REST v1
Pour effectuer une récupération à un moment précis à l'aide d'une source de données du coffre de sauvegarde, utilisez la méthode instances.pointInTimeRestore avec une requête POST.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance.
- DATASOURCE : source de données Backup and DR que le service doit utiliser pour l'opération de restauration à un moment précis.
- PITR_TIMESTAMP : code temporel UTC du journal PITR de l'instance source vers lequel vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME : nom de l'instance créée par l'opération de récupération à un moment précis.
- REGION : région de l'instance cible. Ce champ est obligatoire si la source de données de l'instance source se trouve dans un emplacement multirégional. La région de l'instance cible doit être la même que celle de l'instance source.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID:pointInTimeRestore
Corps JSON de la requête :
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
Pour effectuer une récupération à un moment précis à l'aide d'une source de données du coffre de sauvegarde, utilisez la méthode instances.pointInTimeRestore avec une requête POST.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance.
- DATASOURCE : source de données Backup and DR que le service doit utiliser pour l'opération de restauration à un moment précis.
- PITR_TIMESTAMP : code temporel UTC du journal PITR de l'instance source vers lequel vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME : nom de l'instance créée par l'opération de récupération à un moment précis.
- REGION : région de l'instance cible. Ce champ est obligatoire si la source de données de l'instance source se trouve dans un emplacement multirégional. La région de l'instance cible doit être la même que celle de l'instance source.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID:pointInTimeRestore
Corps JSON de la requête :
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Effectuer une récupération PITR inter-projets
Avec les sauvegardes améliorées, vous pouvez restaurer une instance Cloud SQL dans un projet autre que celui où se trouve l'instance source ou le coffre de sauvegarde.
La récupération à un moment précis interprojets n'est possible qu'avec la gcloud CLI et les API REST.
Pour effectuer une récupération PITR multiprojet, effectuez l'une des opérations suivantes :
Si vous utilisez la gcloud CLI, définissez l'option
--projectsur le projet dans lequel vous souhaitez créer l'instance cible.Si vous utilisez des API REST, définissez le champ
PROJECT_IDsur le projet dans lequel vous souhaitez créer l'instance cible.
Effectuer une récupération PITR sur une instance supprimée
Pour utiliser la récupération PITR afin de restaurer une instance supprimée, vous aurez besoin des éléments suivants :
- Le code temporel PITR (
timestamp) auquel vous souhaitez restaurer votre instance - le nom de l'instance cible ;
- l'heure à laquelle l'instance source a été supprimée (
source-instance-deletion-time) ;
Vous ne pouvez utiliser la récupération PITR sur une instance supprimée qu'à l'aide de la gcloud CLI ou de l'API Cloud SQL. Pour en savoir plus, consultez Restaurer une instance supprimée à l'aide de la récupération à un moment précis (PITR).
gcloud
Sauvegarde standard
Trouver votre fenêtre de récupération PITR
Pour trouver la période de récupération PITR de votre instance supprimée, obtenez les heures de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner n'importe quel code temporel dans cette fenêtre pour effectuer une récupération PITR.
Rechercher la suppression de l'instance source
Les éléments source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour obtenir la liste de toutes les sauvegardes disponibles pour votre instance supprimée, consultez Lister les sauvegardes conservées.
Une fois que vous avez identifié la sauvegarde que vous souhaitez utiliser, exécutez la commande gcloud sql backups describe pour obtenir l'source-instance-deletion-time.
Effectuer une restauration à l'aide de la récupération PITR
Pour restaurer votre instance supprimée à l'aide de la récupération à un moment précis (PITR), exécutez la commande suivante :
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP
Remplacez les éléments suivants :
SOURCE_INSTANCE_NAME: nom de l'instance source que vous souhaitez restaurer.NEW_INSTANCE_NAME: le nom de la nouvelle instancePITR_TIMESTAMP: code temporel UTC du journal PITR de l'instance source vers lequel vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: code temporel UTC de la suppression de l'instance source, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
Sauvegarde améliorée
Trouver votre fenêtre de récupération PITR
Pour trouver la période de récupération PITR de votre instance supprimée, obtenez les heures de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner n'importe quel code temporel dans cette fenêtre pour effectuer une récupération PITR.
Trouver la source de données
La source de données de l'instance supprimée est stockée avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Répertorier toutes les sauvegardes du coffre de sauvegarde de votre instance.
Effectuer une restauration à l'aide de la récupération PITR
Pour restaurer votre instance supprimée à l'aide de la récupération à un moment précis (PITR), exécutez la commande suivante :
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Remplacez les éléments suivants :
DATA_SOURCE: chemin d'accès de ladata-sourcepour la sauvegarde la plus proche du code temporel PITR vers lequel vous souhaitez effectuer la récupération.TARGET_INSTANCE_NAME: nom de la nouvelle instance créée par l'opération de récupération PITR.PITR_TIMESTAMP: code temporel UTC du journal PITR de l'instance source vers lequel vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2025-11-15T16:19:00.094Z.TARGET_PROJECT: ID du projet de la nouvelle instance.REGION: région de l'instance cible. Ce champ est obligatoire si la source de données de l'instance source se trouve dans un emplacement multirégional. La région de l'instance cible doit être la même que celle de l'instance source.
REST v1
Trouver votre fenêtre de récupération PITR
Pour trouver la période de récupération PITR de votre instance supprimée, obtenez les heures de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner n'importe quel code temporel dans cette fenêtre pour effectuer une récupération PITR.
Trouver la date de suppression de l'instance source et le nombre de jours de conservation des journaux
Les éléments source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Lister les sauvegardes conservées.
Effectuer une restauration à l'aide de la récupération PITR
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- source-instance-deletion-time : heure de suppression de l'instance source
- restore-timestamp : moment auquel vous souhaitez restaurer l'instance
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
Trouver votre fenêtre de récupération PITR
Pour trouver la période de récupération PITR de votre instance supprimée, obtenez les heures de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner n'importe quel code temporel dans cette fenêtre pour effectuer une récupération PITR.
Trouver la date de suppression de l'instance source et le nombre de jours de conservation des journaux
Les éléments source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Lister les sauvegardes conservées.
Restaurer à l'aide de la récupération PITR
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- source-instance-deletion-time : heure de suppression de l'instance source
- restore-timestamp : moment auquel vous souhaitez restaurer l'instance
Dans la requête JSON, vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : "databaseNames": "my-database"
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Obtenir les heures de récupération la plus ancienne et la plus récente
Pour une instance disponible, vous pouvez effectuer une récupération PITR à n'importe quel code temporel de la fenêtre de récupération PITR de l'instance. La fenêtre de récupération PITR commence à l'heure de récupération la plus ancienne et se termine à l'heure de récupération la plus récente. Si l'instance n'est pas disponible et que les journaux d'instance sont stockés dans Cloud Storage, ou si l'instance a été supprimée et que la conservation PITR était activée, vous pouvez récupérer l'heure de récupération la plus ancienne et la plus récente, et effectuer la récupération PITR à n'importe quel code temporel de cette période. Dans tous les cas, vous pouvez restaurer l'instance dans une autre zone principale ou secondaire en indiquant des valeurs pour les zones de votre choix.
gcloud
Instance indisponible
Pour obtenir l'heure la plus ancienne et la plus récente à laquelle vous pouvez récupérer une instance Cloud SQL indisponible, exécutez la commande suivante :
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance pour laquelle vous souhaitez trouver l'heure de la dernière récupération.
Instance supprimée
Pour obtenir l'heure la plus ancienne et la plus récente à laquelle vous pouvez récupérer une instance Cloud SQL supprimée, exécutez la commande suivante :
gcloud sql instances get-latest-recovery-time INSTANCE_NAME \
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance pour laquelle vous souhaitez trouver l'heure de la dernière récupération.SOURCE_INSTANCE_DELETION_TIMESTAMP: code temporel UTC de la suppression de l'instance source, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
REST v1
Instance indisponible
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet
- INSTANCE_NAME : nom de l'instance pour laquelle vous interrogez l'heure de la dernière récupération
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instance supprimée
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet
- INSTANCE_NAME : nom de l'instance source pour laquelle vous interrogez l'heure de la dernière récupération
- SOURCE_INSTANCE_DELETION_TIME : heure de suppression de l'instance source
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
REST v1beta4
Instance indisponible
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet
- INSTANCE_NAME : nom de l'instance pour laquelle vous interrogez l'heure de la dernière récupération
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instance supprimée
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet
- INSTANCE_NAME : nom de l'instance source pour laquelle vous interrogez l'heure de la dernière récupération
- SOURCE_INSTANCE_DELETION_TIME : heure de suppression de l'instance source
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Résoudre les problèmes
| Problème | Dépannage |
|---|---|
|
OU
|
Le code temporel que vous avez fourni n'est pas valide. |
|
OU
|
L'horodatage que vous avez fourni correspond à un moment où les sauvegardes ou les coordonnées du journal binaire sont introuvables. |
Étapes suivantes
- Configurez des options sur votre clone.