Vous pouvez restaurer votre instance à partir d'une sauvegarde et la récupérer à un moment précis sur une instance nouvelle ou existante. Vous pouvez restaurer une instance active ou supprimée. Pour en savoir plus sur le fonctionnement de la restauration, consultez la présentation de la restauration .
Pour restaurer une instance à l'aide d'une sauvegarde, vous devez procéder comme suit :
Rechercher la sauvegarde à 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 active
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 anciens journaux de récupération à un moment précis (PITR). 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 à la page "Sauvegardes Cloud SQL"
Sur la page Sauvegardes , cliquez sur Niveau standard ou Niveau amélioré , 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 sélectionnez le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde de l'instance sélectionnée s'affichent.
Recherchez le nom de la sauvegarde que vous souhaitez restaurer, puis cliquez sur Restaurer .
Remarque : Toutes les instances dupliquées 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 pourrez créer des instances dupliquées une fois l'opération de restauration terminée.
gcloud
Toutes les instances dupliquées 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 instances dupliquées, supprimez-les à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de l'instance répliquée.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Répertorier 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=INSTANCE_NAME
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 au cours de cette procédure.
REST v1
Pour déterminer si l'instance comporte des instances répliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances répliqué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 répliqué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 au cours de cette procédure.
REST v1beta4
Pour déterminer si l'instance comporte des instances répliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances répliqué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 répliqué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 au cours de cette procédure.
Restaurer dans 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 vers une instance nouvelle ou existante, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Sauvegardes Cloud SQL .
Accéder à la page "Sauvegardes Cloud SQL"
Sur la page Sauvegardes , cliquez sur Niveau standard ou Niveau amélioré , 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 sélectionnez le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde de 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 vers une nouvelle instance, sélectionnez Restaurer vers une nouvelle instance et mettez à jour les éléments suivants :
Sous Région , confirmez la région. La région doit correspondre à celle de la nouvelle instance.
Dans le champ ID d'instance , attribuez un nom à votre nouvelle instance. Ce nom est définitif et ne peut pas être modifié.
Si vous souhaitez restaurer votre instance vers une instance existante, sélectionnez Écraser une instance existante , puis procédez comme suit :
Remarque : Toutes les instances dupliquées de votre instance cible doivent être supprimées avant la restauration.
Dans le menu Instance à écraser , sélectionnez l'instance que vous souhaitez 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 pourrez créer des instances dupliquées une fois l'opération de restauration terminée.
gcloud
Si vous effectuez une restauration vers 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 instances dupliquées, supprimez-les à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de l'instance répliquée.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=INSTANCE_NAME
Remplacez les éléments suivants :
INSTANCE_NAME : nom de l'instance.
Si votre instance utilise des sauvegardes améliorées, consultez Répertorier 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 la nouvelle instance ou de l'instance existante cible.
SOURCE_INSTANCE_NAME : nom de l'instance source.
Si vous effectuez une restauration vers une instance existante, une fois l'opération de restauration terminée, recréez les instances répliquées que vous avez supprimées au cours de cette procédure.
REST v1
Si vous utilisez une instance existante, toutes les instances dupliquées doivent être supprimées avant la restauration. Pour déterminer si l'instance possède des instances répliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances répliqué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 répliqué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 au cours de cette procédure.
REST v1beta4
Pour déterminer si l'instance comporte des instances répliquées avec accès en lecture et obtenir leurs ID, listez toutes les instances répliqué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 répliqué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 au cours de cette procédure.
Effectuer une restauration sur une instance d'un autre projet
Le paramètre project vous permet de 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 anciens journaux de récupération à un moment précis (PITR). 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 d'un autre projet ou d'une autre région, procédez comme suit :
gcloud
Si vous effectuez une restauration sur une instance existante, déterminez si l'instance cible 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 cible sur laquelle vous souhaitez restaurer votre sauvegarde.
Supprimez toutes les instances répliquées de votre instance cible à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de l'instance répliquée de l'instance cible.
Toutes les instances dupliquées doivent être supprimées avant de pouvoir effectuer une restauration vers une instance existante.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=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 effectuer une restauration vers 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 de sauvegarde. Vous devez 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 l'identifiant 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 l'identifiant 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, vous mettez à jour les données de l'instance cible selon l'état de l'instance source au moment de la sauvegarde. Pour en savoir plus sur la restauration d'une instance, consultez la section 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 anciens journaux de récupération à un moment précis (PITR). 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 répliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions" . Toutes les instances dupliquées 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 à la page "Sauvegardes Cloud SQL"
Sur la page Sauvegardes , cliquez sur Niveau standard ou Niveau amélioré , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, cliquez sur le nom de l'instance supprimée qui contient la sauvegarde que vous souhaitez restaurer.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis sélectionnez le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde de 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 sur 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 restaurera 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 pourrez créer des instances dupliquées une fois l'opération de restauration terminée.
gcloud
Lors de la restauration vers 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 instances répliquées, supprimez-les à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Remplacez les éléments suivants :
REPLICA_NAME : nom de l'instance répliquée.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=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 au cours de cette procédure.
REST v1
Lors de la restauration vers une instance existante, toutes les instances dupliquées doivent être supprimées de votre instance cible avant la restauration. Pour déterminer si l'instance comporte des instances répliquées avec accès 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 avec accès 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
Lors de la restauration vers une instance existante, toutes les instances dupliquées doivent être supprimées de votre instance cible avant la restauration. Pour déterminer si l'instance comporte des instances répliquées avec accès 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 avec accès 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 existant 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 d'administrateur Cloud SQL.
Remarque : L'instance que vous créez à partir de la sauvegarde finale possède une adresse IP 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 la section 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 à la page "Sauvegardes Cloud SQL"
Sur la page Sauvegardes , cliquez sur Niveau standard ou Niveau amélioré , selon l'option de sauvegarde de votre instance.
Si votre instance utilise des sauvegardes standards, cliquez sur le nom de l'instance supprimée qui contient la sauvegarde que vous souhaitez restaurer.
Si votre instance utilise des sauvegardes améliorées, sélectionnez Niveau amélioré , puis sélectionnez le coffre de sauvegarde contenant la sauvegarde que vous souhaitez utiliser. Toutes les sauvegardes disponibles dans le coffre de sauvegarde de 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 vers une nouvelle instance .
Dans le menu Région , sélectionnez la région de la nouvelle instance.
Dans le champ ID de l'instance , saisissez un ID pour la nouvelle instance.
Une fois l'ID créé, il ne peut plus être modifié.
Cliquez sur Restaurer .
Cloud SQL restaurera 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, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=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 conservée ou finale 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 conservée ou finale 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 d'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
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 anciens journaux de récupération à un moment précis (PITR). 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 d'un autre projet ou d'une autre région, procédez comme suit :
gcloud
Si vous effectuez une restauration sur une instance existante, déterminez si l'instance cible 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 cible sur laquelle vous souhaitez restaurer votre sauvegarde.
Supprimez toutes les instances répliquées de votre instance cible à l'aide de la commande gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
```
Replace the following:
REPLICA_NAME : nom de l'instance répliquée de l'instance cible.
Toutes les instances dupliquées doivent être supprimées avant de pouvoir effectuer une restauration vers une instance existante.
Recherchez la sauvegarde que vous souhaitez utiliser.
Si votre instance utilise des sauvegardes standards, utilisez la commande gcloud sql backups list pour rechercher une sauvegarde et enregistrer sa valeur ID :
gcloud sql backups list --instance=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 effectuer une restauration vers 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 de sauvegarde. Vous devez 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 l'ID 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
}
Effectuer une restauration 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 l'ID 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
}
Effectuer une restauration 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