Vous pouvez restaurer votre instance à partir d'une sauvegarde et la récupérer pour une période spécifique sur une instance nouvelle ou existante. Vous pouvez restaurer une instance en direct ou supprimée. Pour en savoir plus sur la restauration, consultez Présentation de la restauration .
Pour restaurer une instance à l'aide d'une sauvegarde, vous devez procéder comme suit :
Recherchez la sauvegarde que vous souhaitez restaurer.
Utiliser la sauvegarde pour restaurer votre instance
L'emplacement de votre sauvegarde dépend de l'option de sauvegarde de votre instance.
Restaurer une instance en production
Vous pouvez restaurer une sauvegarde de différentes manières :
Effectuer une restauration sur la même instance
Lorsque vous restaurez des données à partir d'une sauvegarde sur la même instance, les données de cette instance sont rétablies à l'état existant au moment de la sauvegarde.
Avertissement : Le processus de restauration écrase toutes les données actuelles de l'instance, y compris les journaux de récupération à un moment précis (PITR) antérieurs. Les sauvegardes automatiques et à la demande précédentes de l'instance sont conservées.
Pour restaurer votre instance à l'aide d'une sauvegarde sur la même instance, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Sauvegardes Cloud SQL .
Accéder aux sauvegardes Cloud SQL
Sur la page Sauvegardes , cliquez sur Niveau Standard ou Niveau Advanced , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, sélectionnez l'instance pour laquelle vous souhaitez afficher les sauvegardes.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde pour l'instance sélectionnée s'affichent.
Recherchez le nom de la sauvegarde que vous souhaitez restaurer, puis cliquez sur Restaurer .
Remarque : Toutes les répliques de votre instance cible doivent être supprimées avant la restauration.
Dans Choisir la destination de la restauration , sélectionnez Écraser l'instance source .
Dans le champ ID de l'instance de destination , saisissez le nom de l'instance à écraser pour confirmer votre sélection.
Cliquez sur Restaurer .
Cloud SQL restaure la sauvegarde sur la même instance. Pour vérifier l'état de l'opération de restauration, accédez à la page Opérations de l'instance.
Vous pouvez créer des répliques une fois l'opération de restauration terminée.
gcloud
Toutes les répliques doivent être supprimées de votre instance avant la restauration.
Déterminez si votre instance comporte des instances répliquées avec accès en lecture à l'aide de la commande gcloud sql instances describe :
gcloud sql instances describe INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance contient des répliques, supprimez-les à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Remplacez les éléments suivants :
REPLCICA_NAME : nom de l'instance répliquée.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer l'instance à partir de la sauvegarde spécifiée, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=BACKUP_ID
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde que vous souhaitez restaurer.
INSTANCE_NAME : nom de l'instance.
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
REST v1
Pour déterminer si l'instance possède des instances dupliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez l'instance à partir de la sauvegarde :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
BACKUP_ID : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_ID ",
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
REST v1beta4
Pour déterminer si l'instance possède des instances dupliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez l'instance à partir de la sauvegarde :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
BACKUP_RUN_ID : date et heure auxquelles Cloud SQL restaure l'instance à partir de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_RUN_ID ",
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
Restaurer sur une instance nouvelle ou existante
Lorsque vous restaurez des données à partir d'une sauvegarde sur une autre instance, les données de l'instance cible sont mises à jour selon l'état de l'instance source au moment de la sauvegarde.
Si vous avez besoin d'une liste de sauvegardes pour le projet et que vous ne pouvez pas les consulter sur la page de présentation de l'instance en raison d'une panne, vous pouvez utiliser l'API backupRuns.list avec un caractère générique (-). Cette option permet de récupérer la liste de toutes les sauvegardes de toutes les instances du projet. Pour en savoir plus, consultez Afficher les sauvegardes en cas de panne .
Pour restaurer votre instance sur une instance nouvelle ou existante, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Sauvegardes Cloud SQL .
Accéder aux sauvegardes Cloud SQL
Sur la page Sauvegardes , cliquez sur Niveau Standard ou Niveau Advanced , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, sélectionnez celle pour laquelle vous souhaitez afficher les sauvegardes.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde pour l'instance sélectionnée s'affichent.
Recherchez le nom de la sauvegarde que vous souhaitez restaurer, puis cliquez sur Restaurer .
Dans Choisir la destination de la restauration :
Si vous souhaitez restaurer votre instance sur une nouvelle instance, sélectionnez Restaurer sur une nouvelle instance , puis modifiez les éléments suivants :
Sous Région , vérifiez la région. La région doit correspondre à celle de la nouvelle instance.
Dans le champ ID de l'instance , attribuez un nom à votre nouvelle instance. Ce nom est définitif et ne peut pas être modifié.
Si vous souhaitez restaurer votre instance sur une instance existante, sélectionnez Écraser une instance existante , puis procédez comme suit :
Remarque : Toutes les répliques de votre instance cible doivent être supprimées avant la restauration.
Dans le menu Instance à écraser , sélectionnez l'instance à utiliser pour la restauration. L'instance que vous sélectionnez et toutes ses données seront écrasées.
Dans le champ ID de l'instance de destination , saisissez le nom de l'instance à écraser pour confirmer votre sélection.
Cliquez sur Restaurer .
Cloud SQL restaure la sauvegarde sur l'instance nouvelle ou existante, selon votre sélection. Pour vérifier l'état de l'opération de restauration, accédez à la page Opérations de l'instance.
Vous pouvez créer des répliques une fois l'opération de restauration terminée.
gcloud
Si vous restaurez une instance existante, toutes les instances dupliquées doivent être supprimées de votre instance cible avant la restauration.
Déterminez si votre instance comporte des instances répliquées avec accès en lecture à l'aide de la commande gcloud sql instances describe :
gcloud sql instances describe TARGET_INSTANCE_NAME
Remplacez les éléments suivants :
TARGET_INSTANCE_NAME : nom de l'instance.
Si votre instance contient des répliques, supprimez-les à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLCICA_NAME
Remplacez les éléments suivants :
REPLCICA_NAME : nom de l'instance répliquée.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer l'instance à partir de la sauvegarde spécifiée, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde que vous souhaitez restaurer.
TARGET_INSTANCE_NAME : nom de l'instance cible (nouvelle ou existante).
SOURCE_INSTANCE_NAME : nom de l'instance source.
Si vous restaurez une instance existante, recréez les instances dupliquées que vous avez supprimées lors de cette procédure une fois l'opération de restauration terminée.
REST v1
Si vous utilisez une instance existante, toutes les répliques doivent être supprimées avant la restauration. Déterminez si l'instance possède des répliques en lecture et obtenez leurs ID en listant toutes les répliques de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez l'instance à partir de la sauvegarde :
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
backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
REST v1beta4
Pour déterminer si l'instance possède des instances dupliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances dupliquées de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez l'instance à partir de la sauvegarde :
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
backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
Effectuer une restauration sur une instance d'un autre projet
Vous pouvez utiliser le paramètre project pour restaurer des données sur une instance d'un autre projet. Lorsque vous effectuez une restauration à partir d'une sauvegarde sur une instance d'un autre projet, les données de l'instance cible sont mises à jour selon l'état de l'instance source au moment de la sauvegarde.
L'utilisateur qui restaure sur un autre projet doit disposer des autorisations suivantes pour restaurer l'instance :
* Autorisation cloudsql.instances.restoreBackup pour le projet cible
* Autorisation cloudsql.backupRuns.get pour le projet source.
Ces autorisations sont incluses dans le rôle Cloud SQL Admin.
Avertissement : Le processus de restauration écrase toutes les données actuelles de l'instance, y compris les journaux de récupération à un moment précis (PITR) antérieurs. Les sauvegardes automatiques et à la demande précédentes de l'instance sont conservées.
Pour restaurer votre instance à l'aide d'une sauvegarde sur une instance dans un autre projet ou une autre région, procédez comme suit :
gcloud Pour restaurer une sauvegarde à partir d'un coffre de sauvegarde sur une instance existante, procédez comme suit :
Si vous effectuez la restauration vers une instance existante, déterminez si l'instance cible possède des instances répliquées avec accès en lecture à l'aide de la commande gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
Remplacez les éléments suivants :
TARGET_INSTANCE_NAME : nom de l'instance cible sur laquelle vous souhaitez restaurer votre sauvegarde.
Supprimez toutes les instances dupliquées de votre instance cible à l'aide de la commande gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de la réplique de l'instance cible.
Vous devez supprimer toutes les répliques avant de pouvoir restaurer une instance existante.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer une instance nouvelle ou existante dans un nouveau projet, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde dans le coffre-fort de sauvegarde. Vous devrez inclure le chemin d'accès complet de la sauvegarde dans ce champ.
TARGET_INSTANCE_NAME : instance du projet de destination dans laquelle vous restaurez les données.
SOURCE_INSTANCE_NAME : nom de l'instance dans le projet source où se trouvent les données.
SOURCE_INSTANCE_PROJECT : projet contenant l'instance source.
REST v1
Pour obtenir le backupId, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez la sauvegarde sur une instance dans un autre projet :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
source-project-id : ID du projet source
target-project-id : ID du projet cible
target-instance-id : ID de l'instance cible
source-instance-id : ID de l'instance source
backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
REST v1beta4
Pour obtenir le backupId, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Restaurez la sauvegarde sur une instance dans un autre projet :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
source-project-id : ID du projet source
target-project-id : ID du projet cible
target-instance-id : ID de l'instance cible
source-instance-id : ID de l'instance source
backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
Restaurer une instance supprimée
Vous pouvez utiliser une sauvegarde finale ou une sauvegarde conservée pour restaurer une instance supprimée dans les scénarios suivants :
Restaurer sur une instance existante
Lorsque vous restaurez des données à partir d'une sauvegarde finale ou conservée sur une instance existante, les données de l'instance cible sont mises à jour selon l'état de l'instance source au moment de la sauvegarde. Pour en savoir plus sur la restauration d'une instance, consultez Conseils généraux pour effectuer une restauration .
Avertissement : Le processus de restauration écrase toutes les données actuelles de l'instance, y compris les journaux de récupération à un moment précis (PITR) antérieurs. Les sauvegardes automatiques et à la demande précédentes de l'instance sont conservées.
Pour restaurer une instance supprimée à l'aide d'une sauvegarde sur une instance existante, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Instances Cloud SQL .
Accéder à la page Instances Cloud SQL
Si l'instance cible comporte des instances dupliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions" . Toutes les répliques doivent être supprimées avant que vous puissiez restaurer une sauvegarde conservée ou finale sur l'instance existante.
Dans la console Google Cloud , accédez à la page Sauvegardes Cloud SQL .
Accéder aux sauvegardes Cloud SQL
Sur la page Sauvegardes , cliquez sur Niveau Standard ou Niveau Advanced , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, cliquez sur le nom de l'instance supprimée contenant la sauvegarde que vous souhaitez restaurer.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde pour l'instance sélectionnée s'affichent.
Recherchez le nom de la sauvegarde que vous souhaitez restaurer, puis cliquez sur Restaurer .
Sur la page Restaurer une instance à partir d'une sauvegarde , vérifiez que vous avez sélectionné la bonne sauvegarde dans la section Vérifier les détails de la sauvegarde .
Dans la section Choisir la destination de la restauration , sélectionnez Écraser une instance existante .
Dans le menu Instance à écraser , sélectionnez l'instance dans laquelle vous souhaitez restaurer la sauvegarde. L'instance que vous sélectionnez et toutes ses données seront écrasées.
Pour confirmer votre sélection, saisissez le nom de l'instance à écraser dans le champ ID de l'instance de destination .
Cliquez sur Restaurer .
Cloud SQL restaure la sauvegarde sur l'instance existante.
Pour vérifier l'état de l'opération de restauration, accédez à la page Opérations de l'instance.
Vous pouvez créer des répliques une fois l'opération de restauration terminée.
gcloud
1 . When restoring to an existing instance , all replicas must be deleted
from your target instance prior to restoring .
Determine if your instance has any read replicas using the
[ ` gcloud sql instances describe ` ]( / sdk / gcloud / reference / sql / instances / describe )
command :
``` gcloud
gcloud sql instances describe TARGET_INSTANCE_NAME
```
Replace the following :
* ` TARGET_INSTANCE_NAME ` : the name of the instance .
If your instance contains replicas , then delete the replicas
using the
[ ` gcloud sql instances delete ` ]( / sdk / gcloud / reference / sql / instances / delete )
command :
``` gcloud
gcloud sql instances delete REPLCICA_NAME
```
Replace the following :
* ` REPLCICA_NAME ` : the name of the replica .
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer l'instance à partir de la sauvegarde spécifiée, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde que vous souhaitez restaurer.
TARGET_INSTANCE_NAME : nom de l'instance cible (nouvelle ou existante).
Une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées lors de cette procédure.
REST v1
Lorsque vous restaurez une sauvegarde dans une instance existante, vous devez supprimer toutes les répliques de votre instance cible avant la restauration. Pour déterminer si l'instance possède des instances répliquées en lecture, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances répliquées en lecture de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde finale ou conservée que vous souhaitez utiliser :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurez l'instance cible à partir de la sauvegarde conservée ou finale.
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
BACKUP_ID : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Lorsque vous restaurez une sauvegarde dans une instance existante, vous devez supprimer toutes les répliques de votre instance cible avant la restauration. Pour déterminer si l'instance possède des réplicas en lecture, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
INSTANCE_ID : ID de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"replicaNames": [
"REPLICA_NAME "
]
}
Supprimez toutes les instances répliquées en lecture de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
REPLICA_ID : ID de l'instance répliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Obtenez l'ID de la sauvegarde finale ou conservée que vous souhaitez utiliser :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurez l'instance cible à partir de la sauvegarde conservée ou finale.
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
BACKUP_ID : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Restaurer dans une nouvelle instance
Lorsque vous créez une instance à partir d'une sauvegarde finale ou conservée, Cloud SQL utilise les paramètres de configuration de l'instance à partir de laquelle la sauvegarde est effectuée.
Une fois l'instance créée, Cloud SQL restaure les données à l'état où elles se trouvaient au moment de la sauvegarde.
Pour restaurer des données à partir d'une sauvegarde finale ou conservée sur une nouvelle instance, vous devez disposer des autorisations suivantes :
Autorisation cloudsql.instances.create pour le projet cible
Autorisation cloudsql.instances.restoreBackup pour le projet cible
cloudsql.backupRuns.get permission pour la sauvegarde source.
Ces autorisations sont incluses dans le rôle Administrateur Cloud SQL.
Remarque : L'adresse IP de l'instance que vous créez à partir de la sauvegarde finale est différente de celle de l'instance à partir de laquelle la sauvegarde finale est effectuée. Pour en savoir plus sur la restauration d'une instance, consultez Conseils généraux pour effectuer une restauration .
Pour restaurer une instance supprimée à l'aide d'une sauvegarde sur une nouvelle instance, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Sauvegardes Cloud SQL .
Accéder aux sauvegardes Cloud SQL
Sur la page Sauvegardes , cliquez sur Niveau Standard ou Niveau Advanced , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, cliquez sur le nom de l'instance supprimée contenant la sauvegarde que vous souhaitez restaurer.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde pour l'instance sélectionnée s'affichent.
Recherchez le nom de la sauvegarde que vous souhaitez restaurer, puis cliquez sur Restaurer .
Sur la page Restaurer une instance à partir d'une sauvegarde , vérifiez que vous avez sélectionné la bonne sauvegarde dans la section Vérifier les détails de la sauvegarde .
Dans la section Choisir la destination de la restauration , sélectionnez Restaurer sur une nouvelle instance .
Dans le menu Région , sélectionnez la région de la nouvelle instance.
Dans le champ ID d'instance , saisissez un ID pour la nouvelle instance.
Une fois créé, cet ID ne peut pas être modifié.
Cliquez sur Restaurer .
Cloud SQL restaure la sauvegarde sur l'instance existante.
Pour vérifier l'état de l'opération de restauration, accédez à la page Opérations de l'instance.
gcloud
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer l'instance à partir de la sauvegarde spécifiée, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde que vous souhaitez restaurer.
TARGET_INSTANCE_NAME : nom de l'instance cible (nouvelle ou existante).
REST v1 Restaurer une nouvelle instance à partir de la sauvegarde finale ou conservée spécifiée
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
BACKUP_ID : ID de la sauvegarde
Remarque : La ligne de code restore_instance_settings: {} permet à Cloud SQL de restaurer les données de la sauvegarde sur la nouvelle instance.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Restaurer une nouvelle instance à partir de la sauvegarde finale ou conservée spécifiée
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
BACKUP_ID : ID de la sauvegarde
Remarque : La ligne de code restore_instance_settings: {} permet à Cloud SQL de restaurer les données de la sauvegarde sur la nouvelle instance.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Restaurer sur une instance nouvelle ou existante dans un autre projet
Le paramètre project vous permet de restaurer des données sur une instance d'un autre projet. Lorsque vous restaurez une instance supprimée à partir d'une sauvegarde sur une instance dans un autre projet, l'instance cible est mise à jour selon l'état de l'instance source au moment de la sauvegarde.
L'utilisateur qui restaure sur un autre projet doit disposer des autorisations suivantes pour restaurer l'instance :
* Autorisation cloudsql.instances.create pour le projet cible
* Autorisation cloudsql.instances.restoreBackup pour le projet cible
* Autorisation cloudsql.backupRuns.get permission pour la sauvegarde source.
Ces autorisations sont incluses dans le rôle Cloud SQL Admin.
Avertissement : Le processus de restauration écrase toutes les données actuelles de l'instance, y compris les journaux de récupération à un moment précis (PITR) antérieurs. Les sauvegardes automatiques et à la demande précédentes de l'instance sont conservées.
Pour restaurer votre instance à l'aide d'une sauvegarde sur une instance dans un autre projet ou une autre région, procédez comme suit :
gcloud
Si vous effectuez la restauration vers une instance existante, déterminez si l'instance cible possède des instances répliquées avec accès en lecture à l'aide de la commande gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
Remplacez les éléments suivants :
TARGET_INSTANCE_NAME : nom de l'instance cible sur laquelle vous souhaitez restaurer votre sauvegarde.
Supprimez toutes les instances dupliquées de votre instance cible à l'aide de la commande gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de la réplique de l'instance cible.
Vous devez supprimer toutes les répliques avant de pouvoir restaurer une instance existante.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, exécutez la commande gcloud sql backups list pour trouver une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Lister toutes les sauvegardes d'un coffre de sauvegarde .
Pour restaurer une instance nouvelle ou existante dans un nouveau projet, utilisez la commande gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
Remplacez les éléments suivants :
BACKUP_ID : ID de la sauvegarde dans le coffre-fort de sauvegarde. Vous devrez inclure le chemin d'accès complet de la sauvegarde dans ce champ.
TARGET_INSTANCE_NAME : instance du projet de destination dans laquelle vous restaurez les données.
SOURCE_INSTANCE_NAME : nom de l'instance dans le projet source où se trouvent les données.
SOURCE_INSTANCE_PROJECT : projet contenant l'instance source.
REST v1 Pour obtenir le backupID de la sauvegarde conservée ou finale, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurer dans un autre projet
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
BACKUP_ID : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Pour obtenir le backupID de la sauvegarde conservée ou finale, exécutez la commande suivante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID : ID du projet
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurer dans un autre projet
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
BACKUP_ID : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Corps JSON de la requête :
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login , ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud.
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud avec votre compte utilisateur en exécutant la commande gcloud init ou gcloud auth login .
Vous pouvez exécuter la commande gcloud auth list pour vérifier quel est le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Étapes suivantes
*
En savoir plus sur la sauvegarde de vos données
*
Découvrez comment sauvegarder vos données.