Restaurer une instance

Cette page explique comment restaurer une instance à partir d'une sauvegarde et effectuer une récupération à un moment précis.

Pour plus d'informations sur les opérations de restauration ou la récupération à un moment précis ainsi que pour connaître les bonnes pratiques et les conditions requises les concernant, consultez la section Présentation de la restauration d'une instance.

Restaurer une instance à partir d'une sauvegarde

Vous pouvez utiliser une sauvegarde pour restaurer l'instance à partir de laquelle la sauvegarde a été effectuée ou pour restaurer une autre instance dans le même projet.

Effectuer une restauration sur une autre instance

Lorsque vous effectuez une restauration à 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. Pour en savoir plus, consultez les sections Conseils généraux pour effectuer une restauration et Conseils et prérequis pour restaurer sur une autre instance.

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 la section Afficher les sauvegardes en cas de panne.

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Si l'instance cible comporte des instances dupliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions" Icône Plus, à l'extrême droite.
  3. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  4. Dans le menu de navigation SQL, sélectionnez Sauvegardes.
  5. Recherchez la sauvegarde à partir de laquelle vous souhaitez effectuer la restauration, puis sélectionnez Restaurer.
  6. 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.
  7. Dans Choisir la destination de la restauration, sélectionnez Écraser une instance existante.
  8. Dans le menu déroulant Instance, sélectionnez l'instance à utiliser pour la restauration. L'instance que vous sélectionnez et toutes ses données sont écrasées.
  9. Pour confirmer votre sélection, saisissez le nom de l'instance à écraser dans le champ ID de l'instance de destination.
  10. Pour démarrer le processus de restauration, cliquez sur Restaurer.
  11. Accédez à l'onglet Opérations de l'instance cible pour vérifier l'état de l'opération de restauration.
  12. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

gcloud

  1. Décrivez l'instance cible pour vérifier la présence éventuelle d'instances dupliquées :
    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Notez toutes les instances listées dans replicaNames.

  2. Supprimez toutes les instances dupliquées :
    gcloud sql instances delete REPLICA_NAME
    

    Répétez l'opération pour chaque instance dupliquée.

  3. Répertoriez les sauvegardes de l'instance source :
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
    
  4. Recherchez la sauvegarde que vous souhaitez utiliser, puis enregistrez sa valeur ID.
  5. Restaurez à partir de la sauvegarde spécifiée sur l'instance cible :
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
        
  6. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

REST v1

  1. Répertoriez toutes les instances dupliquées de l'instance cible.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Supprimez toutes les instances dupliquées.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • replica-id : ID de l'instance dupliqué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 :

    Vous devriez recevoir une réponse JSON de ce type :

    Répétez l'opération pour chaque instance dupliquée.

  3. Répertoriez les sauvegardes de l'instance source pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

    -OU- Si votre instance se trouve dans une région ayant subi une panne, répertoriez toutes les sauvegardes d'un projet :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-id : ID d'instance, ou - pour obtenir la liste de toutes les sauvegardes du projet.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/-/backupRuns

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    Recherchez la sauvegarde de l'instance à restaurer.
  4. Restaurez l'instance cible à 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 :

    Vous devriez recevoir une réponse JSON de ce type :

  5. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

REST v1beta4

  1. Répertoriez toutes les instances dupliquées de l'instance cible.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Supprimez toutes les instances dupliquées.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • replica-id : ID de l'instance dupliqué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 :

    Vous devriez recevoir une réponse JSON de ce type :

    Répétez l'opération pour chaque instance dupliquée.

  3. Répertoriez les sauvegardes de l'instance source pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

  4. Restaurez l'instance cible à 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 :

    Vous devriez recevoir une réponse JSON de ce type :

  5. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

Effectuer une restauration sur la même instance

Lorsque vous effectuez une restauration à 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. Pour en savoir plus sur la restauration d'une instance, consultez la section Conseils généraux pour effectuer une restauration.

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Si l'instance cible comporte des instances dupliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions" Icône Plus, à l'extrême droite.
  3. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  4. Dans le menu de navigation SQL, sélectionnez Sauvegardes.
  5. Recherchez la sauvegarde que vous souhaitez utiliser, puis sélectionnez Restaurer.
  6. 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.
  7. Dans Choisir la destination de la restauration, sélectionnez Écraser l'instance source.

    Vérifiez que le nom de l'instance source est spécifié entre parenthèses.

  8. Pour confirmer votre sélection, saisissez le nom de l'instance dans le champ ID de l'instance de destination.
  9. Pour démarrer le processus de restauration, cliquez sur Restaurer.
  10. Accédez à la page Opérations de l'instance pour vérifier l'état de l'opération de restauration.
  11. Une fois l'opération de restauration terminée, recréez les instances répliquées qui ont été supprimées lors de la première étape.

gcloud

  1. Décrivez l'instance pour vérifier la présence éventuelle d'instances dupliquées :
    gcloud sql instances describe INSTANCE_NAME
    

    Notez toutes les instances listées dans replicaNames.

  2. Supprimez toutes les instances dupliquées :
    gcloud sql instances delete REPLICA_NAME
    

    Répétez l'opération pour toutes les instances dupliquées.

  3. Répertoriez les sauvegardes de l'instance :
    gcloud sql backups list --instance INSTANCE_NAME
    
  4. Recherchez la sauvegarde que vous souhaitez utiliser, puis enregistrez sa valeur ID.
  5. Restaurez l'instance à partir de la sauvegarde spécifiée :
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
    
  6. Une fois l'opération de restauration terminée, recréez les instances dupliquées qui ont été supprimées lors de la première étape.

REST v1

  1. Répertoriez toutes les instances dupliquées de l'instance.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-id : ID de l'instance.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=replicaNames

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Supprimez toutes les instances dupliquées.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • replica-id : ID de l'instance dupliqué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 :

    Vous devriez recevoir une réponse JSON de ce type :

    Répétez l'opération pour chaque instance dupliquée avec accès en lecture.

  3. Répertoriez les sauvegardes de l'instance pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

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

    Vous devriez recevoir une réponse JSON de ce type :

  5. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

REST v1beta4

  1. Répertoriez toutes les instances dupliquées de l'instance.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-id : ID de l'instance.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=replicaNames

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Supprimez toutes les instances dupliquées.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • replica-id : ID de l'instance dupliqué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 :

    Vous devriez recevoir une réponse JSON de ce type :

    Répétez l'opération pour chaque instance dupliquée avec accès en lecture.

  3. Répertoriez les sauvegardes de l'instance pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.

    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 :

    Vous devriez recevoir une réponse JSON de ce type :

  4. 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/sql/v1beta4/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 :

    Vous devriez recevoir une réponse JSON de ce type :

  5. Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.

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 que celui où la sauvegarde a été effectuée. Lorsque vous utilisez le paramètre project, appelez restoreBackup dans le projet et sur l'instance sur laquelle vous souhaitez restaurer les données. Lorsque vous effectuez une restauration à 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.

Autorisations

L'utilisateur qui restaure sur un autre projet doit disposer des autorisations cloudsql.instances.restoreBackup pour le projet cible et cloudsql.backupRuns.get pour l'instance source. Ces autorisations sont incluses dans le rôle Cloud SQL Admin.

Pour restaurer les données sur une instance d'un autre projet :

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 :

Vous devriez recevoir une réponse JSON de ce type :

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 :

Vous devriez recevoir une réponse JSON de ce type :

Pour en savoir plus sur la propriété project, consultez la page sur restoreBackup.

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 :

Vous devriez recevoir une réponse JSON de ce type :

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 :

Vous devriez recevoir une réponse JSON de ce type :

Pour en savoir plus sur la propriété project, consultez la page sur restoreBackup.

Effectuer une récupération à un moment précis

Pour effectuer une récupération à un moment précis, consultez la section Récupération à un moment précis.

Identifier la position de récupération

Pour pouvoir effectuer une récupération à un moment précis, vous devez avoir identifié le nom du fichier journal binaire ainsi que la position correspondant au moment auquel vous souhaitez restaurer l'instance.

Pour effectuer cette tâche, consultez la section Identifier la position de récupération.

Étape suivante