Ripristino di un'istanza

Questa pagina descrive come ripristinare l'istanza da un backup ed eseguire un recupero point-in-time di un'istanza.

Per informazioni, best practice e requisiti per le operazioni di ripristino o recupero point-in-time, consulta Panoramica del ripristino di un'istanza.

Ripristina un'istanza da un backup

Puoi utilizzare un backup per ripristinare la stessa istanza da cui è stato eseguito il backup oppure un'altra istanza nello stesso progetto.

Ripristina in un'altra istanza

Quando esegui il ripristino da un backup in un'altra istanza, i dati dell'istanza di destinazione vengono aggiornati allo stato dell'istanza di origine al momento del backup. Per ulteriori informazioni, consulta suggerimenti generali sull'esecuzione di un ripristino e suggerimenti e requisiti per il ripristino in un'istanza diversa.

Se hai bisogno di un elenco di backup per il progetto e non riesci a visualizzarli nella pagina di panoramica dell'istanza a causa di un'interruzione, puoi usare l'API backupRuns.list con un carattere jolly (-). L'opzione con caratteri jolly recupera un elenco di tutti i backup in tutte le istanze del progetto. Per ulteriori informazioni, vedi Visualizzazione dei backup durante un'interruzione.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Se l'istanza di destinazione ha repliche di lettura, utilizza il menu Altre azioni Icona Altre azioni. in alto a destra per eliminarle.
  3. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  4. Seleziona Backup dal menu di navigazione SQL.
  5. Trova il backup da cui vuoi eseguire il ripristino e seleziona Ripristina.
  6. Nella pagina Ripristinare un'istanza da un backup, verifica di aver selezionato il backup corretto in Rivedi i dettagli del backup.
  7. In Scegli la destinazione del ripristino, seleziona Sovrascrivi un un'istanza esistente.
  8. Dal menu a discesa Istanza, seleziona l'istanza che ti interessa da utilizzare per il ripristino. L'istanza selezionata e tutti i relativi dati vengono sovrascritti.
  9. Per confermare la selezione, inserisci il nome dell'istanza da sovrascrivere nel campo ID istanza di destinazione.
  10. Per avviare la procedura di ripristino, fai clic su Ripristina.
  11. Per controllare lo stato dell'operazione di ripristino, vai a Scheda Operazioni dell'istanza di destinazione.
  12. Al termine dell'operazione di ripristino, ricrea le eventuali repliche eliminate in precedenza.

gcloud

  1. Descrivi l'istanza target per verificare se ha repliche:
    gcloud sql instances describe TARGET_INSTANCE_NAME

    Prendi nota di eventuali istanze elencate in replicaNames.

  2. Elimina tutte le repliche:
    gcloud sql instances delete REPLICA_NAME

    Ripeti l'operazione per ogni replica.

  3. Elenca i backup per l'istanza di origine:
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
  4. Trova il backup che vuoi utilizzare e registra il relativo valore ID.
  5. Ripristina dal backup specificato nell'istanza di destinazione:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
        
  6. Al termine del ripristino, ricrea le repliche che hai eliminato in precedenza.

REST v1

  1. Elenca tutte le repliche per l'istanza target.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • replica-id: l'ID replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Ripeti l'operazione per ogni replica.

  3. Elenca i backup per l'istanza di origine in modo da ottenere l'ID del che vuoi utilizzare.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    -OPPURE- Se l'istanza si trova in una regione in cui si è verificata un'interruzione, elenca tutte le backup in un progetto:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza o - per un elenco di tutti i backup nella progetto

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Trova il backup per l'istanza da ripristinare.
  4. Ripristina l'istanza di destinazione dal backup.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • target-instance-id: l'ID istanza di destinazione
    • source-instance-id: l'ID istanza dell'origine
    • backup-id L'ID backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/target-instance-id/restoreBackup

    Corpo JSON della richiesta:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  5. Al termine dell'operazione di ripristino, ricrea le repliche che hai eliminato in precedenza.

REST v1beta4

  1. Elenca tutte le repliche per l'istanza target.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • replica-id: l'ID replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Ripeti l'operazione per ogni replica.

  3. Elenca i backup per l'istanza di origine in modo da ottenere l'ID del che vuoi utilizzare.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza di destinazione dal backup.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • target-instance-id: l'ID istanza di destinazione
    • source-instance-id: l'ID istanza dell'origine
    • backup-id L'ID backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/target-instance-id/restoreBackup

    Corpo JSON della richiesta:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  5. Al termine dell'operazione di ripristino, ricrea le eventuali repliche eliminate in precedenza.

Ripristino nella stessa istanza

Quando esegui il ripristino da un backup nella stessa istanza, i dati dell'istanza tornano allo stato in cui erano al momento del backup. Per informazioni su ripristinare un'istanza, consulta Suggerimenti generali sull'esecuzione di un ripristino.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Se l'istanza di destinazione ha repliche di lettura, utilizza il menu Altre azioni Icona Altre azioni. in alto a destra per eliminarle.
  3. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  4. Seleziona Backup dal menu di navigazione SQL.
  5. Individua il backup che vuoi utilizzare e seleziona Ripristina.
  6. Nella pagina Ripristina un'istanza da un backup, verifica di aver selezionato il backup corretto in Esamina i dettagli del backup.
  7. In Scegli la destinazione del ripristino, seleziona Sostituisci l'istanza di origine.

    Verifica che il nome dell'istanza di origine è specificato in le parentesi.

  8. Per confermare la selezione, inserisci il nome dell'istanza nel campo ID istanza di destinazione.
  9. Per avviare il processo di ripristino, fai clic su Ripristina.
  10. Per controllare lo stato dell'operazione di ripristino, vai a pagina Operazioni dell'istanza.
  11. Al termine dell'operazione di ripristino, ricrea le repliche eliminate nel primo passaggio.

gcloud

  1. Descrivi l'istanza per verificare se contiene repliche:
    gcloud sql instances describe INSTANCE_NAME

    Prendi nota di tutte le istanze elencate in replicaNames.

  2. Elimina tutte le repliche:
    gcloud sql instances delete REPLICA_NAME

    Ripeti l'operazione per tutte le repliche.

  3. Elenca i backup per l'istanza:
    gcloud sql backups list --instance INSTANCE_NAME
  4. Trova il backup che vuoi utilizzare e registra il relativo valore ID.
  5. Ripristina l'istanza dal backup specificato:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
  6. Al termine dell'operazione di ripristino, ricrea le repliche che hai eliminato in nel primo passaggio.

REST v1

  1. Elenca tutte le repliche per l'istanza.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • replica-id: l'ID replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Ripeti l'operazione per ogni replica di lettura.

  3. Elenca i backup per l'istanza per ottenere l'ID del backup che vuoi utilizzare.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • backup-id L'ID backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/restoreBackup

    Corpo JSON della richiesta:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  5. Al termine dell'operazione di ripristino, ricrea le repliche che hai eliminato in precedenza.

REST v1beta4

  1. Elenca tutte le repliche per l'istanza.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • replica-id: l'ID replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Ripeti l'operazione per ogni replica di lettura.

  3. Elenca i backup per l'istanza per ottenere l'ID del backup che vuoi utilizzare.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • backup-id L'ID backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/restoreBackup

    Corpo JSON della richiesta:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  5. Al termine dell'operazione di ripristino, ricrea le repliche che hai eliminato in precedenza.

Ripristino in un'istanza di un altro progetto

Puoi utilizzare il parametro project per ripristinare i dati in un'istanza in un diverso da quello in cui è stato eseguito il backup. Quando utilizzi il Parametro project, chiama restoreBackup nel progetto e nell'istanza in cui su cui vuoi ripristinare i dati. Quando esegui il ripristino da un backup in un'altra istanza, i dati dell'istanza di destinazione vengono aggiornati allo stato dell'istanza di origine al momento del backup.

Autorizzazioni

L'utente che esegue il ripristino in un progetto diverso deve disporre dell'autorizzazione cloudsql.instances.restoreBackup per il progetto di destinazione e dell'autorizzazione cloudsql.backupRuns.get per l'istanza di origine. Queste autorizzazioni sono incluse nel ruolo Cloud SQL Admin.

Per ripristinare i dati in un'istanza di un altro progetto:

REST v1

Per ottenere backupId, esegui questo comando.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina il backup in un'istanza di un altro progetto:

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • source-project-id: ID progetto di origine
  • target-project-id: l'ID del progetto di destinazione
  • target-instance-id: l'ID istanza di destinazione
  • source-instance-id: l'ID istanza dell'origine
  • backup-id L'ID backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/target-project-id/instances/target-instance-id/restoreBackup

Corpo JSON della richiesta:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Per ulteriori informazioni sulla proprietà project, vedi restoreBackup

REST v1beta4

Per ottenere backupId, esegui il seguente comando.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina il backup in un'istanza di un altro progetto:

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • source-project-id: ID progetto di origine
  • target-project-id: l'ID del progetto di destinazione
  • target-instance-id: l'ID istanza di destinazione
  • source-instance-id: l'ID istanza dell'origine
  • backup-id L'ID backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id/instances/target-instance-id/restoreBackup

Corpo JSON della richiesta:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Per ulteriori informazioni sulla proprietà project, consulta restoreBackup

Esegui un recupero point-in-time

Per eseguire un recupero point-in-time, consulta Recupero point-in-time.

Identifica la posizione di recupero

Prima di poter eseguire un recupero point-in-time, è necessario aver identificato una il nome e la posizione del file di log binario corrispondenti al momento desiderato in cui ripristinare l'istanza.

A questo scopo, vedi Identificare la posizione di recupero.

Passaggi successivi