Ripristina un'istanza utilizzando un backup

Puoi ripristinare l'istanza da un backup e recuperarla in un periodo di tempo specifico in un'istanza nuova o esistente. Puoi ripristinare un'istanza attiva o eliminata. Per scoprire di più su come funziona il ripristino, consulta la panoramica del ripristino.

Per ripristinare un'istanza utilizzando un backup, devi:

  1. Trova il backup che vuoi ripristinare
  2. Utilizza il backup per ripristinare l'istanza

La posizione del backup dipende dall'opzione di backup dell'istanza.

Ripristina un'istanza attiva

Puoi ripristinare un backup nei seguenti modi:

Ripristino nella stessa istanza

Quando esegui il ripristino dei dati da un backup nella stessa istanza, i dati dell'istanza tornano allo stato in cui erano al momento del backup.

Per ripristinare l'istanza utilizzando un backup nella stessa istanza, segui questi passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Backup di Cloud SQL.

    Vai ai backup di Cloud SQL

  2. Nella pagina Backup, fai clic su Livello Standard o Livello Avanzato, a seconda dell'opzione di backup dell'istanza.

  3. Se l'istanza utilizza i backup standard, seleziona l'istanza per cui vuoi visualizzare i backup.

Se l'istanza utilizza i backup avanzati, seleziona Livello avanzato, quindi seleziona il Vault di backup che contiene il backup che vuoi utilizzare. Vengono visualizzati tutti i backup disponibili nel vault di backup per l'istanza selezionata.

  1. Trova il nome del backup che vuoi ripristinare e poi fai clic su Ripristina.
  1. In Scegli la destinazione del ripristino, seleziona Sovrascrivi l'istanza di origine.

  2. Nel campo ID istanza di destinazione, inserisci il nome dell'istanza da sovrascrivere per confermare la selezione.

  3. Fai clic su Ripristina.

Cloud SQL ripristina il backup nella stessa istanza. Per controllare lo stato dell'operazione di ripristino, vai alla pagina Operazioni dell'istanza.

Puoi creare le repliche una volta completata l'operazione di ripristino.

gcloud

  1. Prima del ripristino, tutte le repliche devono essere eliminate dall'istanza.

    Determina se l'istanza ha repliche di lettura utilizzando il comando gcloud sql instances describe:

    gcloud sql instances describe INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza contiene repliche, eliminale utilizzando il comando gcloud sql instances delete:

    gcloud sql instances delete REPLICA_NAME
    

    Sostituisci quanto segue:

    • REPLICA_NAME: il nome della replica.
  2. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  3. Per ripristinare l'istanza dal backup specificato, utilizza il comando gcloud sql backups restore:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup che vuoi ripristinare.
    • INSTANCE_NAME: il nome dell'istanza
  4. Al termine dell'operazione di ripristino, ricrea le repliche eliminate in questa procedura.

REST v1

  1. Per determinare se l'istanza ha repliche di lettura e per ottenere i relativi ID, elenca tutte le repliche dell'istanza:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup che vuoi utilizzare.

    • Se l'istanza utilizza i backup standard, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

REST v1beta4

  1. Per determinare se l'istanza ha repliche di lettura e per ottenere i relativi ID, elenca tutte le repliche dell'istanza:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup che vuoi utilizzare.

    • Se l'istanza utilizza i backup standard, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup:

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

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza
    • BACKUP_RUN_ID: un timestamp di data e ora che indica quando Cloud SQL ripristina l'istanza dal 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_RUN_ID",
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

Ripristina in un'istanza nuova o esistente

Quando esegui il ripristino dei dati da un backup in un'altra istanza, i dati sull'istanza target vengono aggiornati allo stato dell'istanza di origine al momento del backup.

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

Per ripristinare l'istanza in una nuova o esistente, segui questi passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Backup di Cloud SQL.

    Vai ai backup di Cloud SQL

  2. Nella pagina Backup, fai clic su Livello Standard o Livello Avanzato, a seconda dell'opzione di backup dell'istanza.

  3. Se l'istanza utilizza i backup standard, seleziona l'istanza per cui vuoi visualizzare i backup.

Se l'istanza utilizza i backup avanzati, seleziona Livello avanzato, quindi seleziona il Vault di backup che contiene il backup che vuoi utilizzare. Vengono visualizzati tutti i backup disponibili nel vault di backup per l'istanza selezionata.

  1. Trova il nome del backup che vuoi ripristinare e poi fai clic su Ripristina.

  2. In Scegli la destinazione del ripristino:

    • Se vuoi ripristinare l'istanza in una nuova istanza, seleziona Ripristina in una nuova istanza e aggiorna quanto segue:

    • In Regione, conferma la regione. La regione deve corrispondere a quella della nuova istanza.

    • Nella casella ID istanza, assegna un nome alla nuova istanza. Questo nome è permanente e non può essere modificato.

    • Se vuoi ripristinare l'istanza in un'istanza esistente, seleziona Sovrascrivi un'istanza esistente e segui questi passaggi:

    • Dal menu Istanza da sovrascrivere, seleziona l'istanza che vuoi utilizzare per il ripristino. L'istanza selezionata e tutti i relativi dati verranno sovrascritti.

    • Nel campo ID istanza di destinazione, inserisci il nome dell'istanza da sovrascrivere per confermare la selezione.

  3. Fai clic su Ripristina.

    Cloud SQL ripristina il backup nell'istanza nuova o esistente, a seconda della selezione. Per controllare lo stato dell'operazione di ripristino, vai alla pagina Operazioni dell'istanza.

    Puoi creare le repliche una volta completata l'operazione di ripristino.

gcloud

  1. Se esegui il ripristino in un'istanza esistente, tutte le repliche devono essere eliminate dall'istanza di destinazione prima del ripristino.

    Determina se l'istanza ha repliche di lettura utilizzando il comando gcloud sql instances describe:

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • TARGET_INSTANCE_NAME: il nome dell'istanza

    Se l'istanza contiene repliche, eliminale utilizzando il comando gcloud sql instances delete:

    gcloud sql instances delete REPLICA_NAME
    

    Sostituisci quanto segue:

    • REPLICA_NAME: il nome della replica.
  2. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  3. Per ripristinare l'istanza dal backup specificato, utilizza il comando gcloud sql backups restore:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup che vuoi ripristinare.
    • TARGET_INSTANCE_NAME: il nome della nuova istanza di destinazione o di quella esistente.
    • SOURCE_INSTANCE_NAME: il nome dell'istanza di origine.
  4. Se esegui il ripristino in un'istanza esistente, al termine dell'operazione di ripristino, ricrea le repliche eliminate in questa procedura.

REST v1

  1. Se utilizzi un'istanza esistente, tutte le repliche devono essere eliminate prima del ripristino. Per determinare se l'istanza ha repliche di lettura e per ottenere i relativi ID, elenca tutte le repliche dell'istanza:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup che vuoi utilizzare.

    • Se l'istanza utilizza i backup standard, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup:

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

    • project-id: l'ID progetto
    • target-instance-id: l'ID dell'istanza target
    • source-instance-id: l'ID dell'istanza di 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

REST v1beta4

  1. Per determinare se l'istanza ha repliche di lettura e per ottenere i relativi ID, elenca tutte le repliche dell'istanza:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup che vuoi utilizzare.

    • Se l'istanza utilizza i backup standard, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza dal backup:

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

    • project-id: l'ID progetto
    • target-instance-id: l'ID dell'istanza target
    • source-instance-id: l'ID dell'istanza di 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

Ripristina in un'istanza in un altro progetto

Puoi utilizzare il parametro project per ripristinare i dati in un'istanza in un progetto diverso. Quando esegui il ripristino da un backup in un'istanza di un altro progetto, i dati sull'istanza target vengono aggiornati allo stato dell'istanza di origine al momento del backup.

L'utente che esegue il ripristino in un altro progetto deve disporre delle seguenti autorizzazioni per ripristinare l'istanza:

Queste autorizzazioni sono incluse nel ruolo Cloud SQL Admin.

Se ripristini un backup in un progetto diverso, assicurati che il tuo ambiente soddisfi i seguenti requisiti per le chiavi di crittografia gestite dal cliente (CMEK) e i Controlli di servizio VPC:

  • Se l'istanza di backup o l'istanza target utilizza CMEK, concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) al account di servizio Cloud SQL del progetto di destinazione sulla chiave Cloud KMS. Se ripristini un backup crittografato con CMEK in una nuova istanza in una regione diversa, devi specificare una chiave Cloud KMS nella regione di destinazione. Concedi al account di servizio Cloud SQL del progetto di destinazione questo ruolo sia sulla chiave del backup di origine sia sulla chiave dell'istanza target. Per saperne di più, consulta Utilizza le chiavi di crittografia gestite dal cliente (CMEK).
  • Se utilizzi i Controlli di servizio VPC, aggiungi il progetto dell'istanza target allo stesso perimetro di servizio del progetto del backup di origine o collega i perimetri con un bridge del perimetro.
  • Se utilizzi sia CMEK che i Controlli di servizio VPC, anche il progetto che ospita la chiave Cloud KMS deve appartenere allo stesso perimetro di servizio o a un bridge del perimetro connesso. In caso contrario, i Controlli di servizio VPC bloccano l'accesso alla chiave e il ripristino non riesce con l'errore Insufficient permission to use the Cloud KMS key. Questo errore si verifica anche se il account di servizio ha il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter. Per saperne di più, consulta la voce dell'API Cloud SQL Admin nella tabella dei prodotti supportati dai Controlli di servizio VPC e Configura i Controlli di servizio VPC.

Per ripristinare l'istanza utilizzando un backup in un'istanza in un progetto o una regione diversi, segui questi passaggi:

gcloud

  1. Se esegui il ripristino in un'istanza esistente, determina se l'istanza target ha repliche di lettura utilizzando il comando gcloud sql instances describe:

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • TARGET_INSTANCE_NAME: il nome dell'istanza target in cui vuoi ripristinare il backup.

    Elimina tutte le repliche per l'istanza target utilizzando il comando gcloud sql instances delete:

    gcloud sql instances delete REPLICA_NAME
    

    Sostituisci quanto segue:

    • REPLICA_NAME: il nome della replica dell'istanza target.

    Tutte le repliche devono essere eliminate prima di poter eseguire il ripristino in un'istanza esistente.

  2. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  3. Per eseguire il ripristino in un'istanza nuova o esistente in un nuovo progetto, utilizza il comando 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
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup dal vault di backup. In questo campo devi includere il percorso completo del backup.

    • TARGET_INSTANCE_NAME: l'istanza nel progetto di destinazione in cui stai ripristinando i dati.

    • SOURCE_INSTANCE_NAME: il nome dell'istanza nel progetto di origine in cui si trovano i dati.

    • SOURCE_INSTANCE_PROJECT: il progetto che contiene l'istanza di origine.

REST v1

  1. Per ottenere backupId, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Ripristina il backup in un'istanza di un progetto diverso:

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

    • source-project-id: l'ID progetto di origine
    • target-project-id: l'ID progetto di destinazione
    • target-instance-id: l'ID dell'istanza target
    • source-instance-id: l'ID dell'istanza di 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Per ottenere backupId, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Ripristina il backup in un'istanza di un progetto diverso:

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

    • source-project-id: l'ID progetto di origine
    • target-project-id: l'ID progetto di destinazione
    • target-instance-id: l'ID dell'istanza target
    • source-instance-id: l'ID dell'istanza di 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina un'istanza eliminata

Puoi utilizzare un backup finale o un backup conservato per ripristinare un'istanza eliminata per i seguenti scenari:

Ripristina in un'istanza esistente

Quando ripristini i dati da un backup finale o conservato in un'istanza esistente, aggiorni i dati nell'istanza di destinazione allo stato dell'istanza di origine al momento del backup. Per ulteriori informazioni sul ripristino di un'istanza, consulta Suggerimenti generali sull'esecuzione di un ripristino.

Per ripristinare un'istanza eliminata utilizzando un backup in un'istanza esistente, segui questi passaggi:

Console

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

    Vai a Istanze Cloud SQL

  2. Se l'istanza target ha repliche di lettura, utilizza il menu Azioni Icona Altre azioni. per eliminarle. Tutte le repliche devono essere eliminate prima di poter ripristinare un backup conservato o finale nell'istanza esistente.

  3. Nella console Google Cloud , vai alla pagina Backup di Cloud SQL.

    Vai ai backup di Cloud SQL

  4. Nella pagina Backup, fai clic su Livello Standard o Livello Avanzato, a seconda dell'opzione di backup dell'istanza.

  5. Se l'istanza utilizza i backup standard, fai clic sul nome dell'istanza eliminata che contiene il backup che vuoi ripristinare.

Se l'istanza utilizza i backup avanzati, seleziona Livello avanzato, quindi seleziona il Vault di backup che contiene il backup che vuoi utilizzare. Vengono visualizzati tutti i backup disponibili nel vault di backup per l'istanza selezionata.

  1. Trova il nome del backup che vuoi ripristinare e poi fai clic su Ripristina.

  2. Nella pagina Ripristina un'istanza da un backup, verifica di aver selezionato il backup corretto in Esamina i dettagli del backup.

  3. Nella sezione Scegli la destinazione del ripristino, seleziona Sovrascrivi un'istanza esistente.

  4. Dal menu Istanza da sovrascrivere, seleziona l'istanza in cui vuoi ripristinare il backup. L'istanza selezionata e tutti i relativi dati verranno sovrascritti.

  5. Per confermare la selezione, nel campo ID istanza di destinazione, inserisci il nome dell'istanza da sovrascrivere.

  6. Fai clic su Ripristina.

Cloud SQL ripristinerà il backup nell'istanza esistente. Per controllare lo stato dell'operazione di ripristino, vai alla pagina Operazioni dell'istanza.

Puoi creare le repliche una volta completata l'operazione di ripristino.

gcloud

  1. Quando esegui il ripristino in un'istanza esistente, tutte le repliche devono essere eliminate dall'istanza di destinazione prima del ripristino.

    Determina se l'istanza ha repliche di lettura utilizzando il comando gcloud sql instances describe:

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • TARGET_INSTANCE_NAME: il nome dell'istanza

    Se l'istanza contiene repliche, eliminale utilizzando il comando gcloud sql instances delete:

    gcloud sql instances delete REPLICA_NAME
    

    Sostituisci quanto segue:

    • REPLICA_NAME: il nome della replica.
  2. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  3. Per ripristinare l'istanza dal backup specificato, utilizza il comando gcloud sql backups restore:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup che vuoi ripristinare.
    • TARGET_INSTANCE_NAME: il nome dell'istanza target nuova o esistente.
  4. Al termine dell'operazione di ripristino, ricrea le repliche che hai eliminato in questa procedura.

REST v1

  1. Quando esegui il ripristino in un'istanza esistente, tutte le repliche devono essere eliminate dall'istanza di destinazione prima del ripristino. Per determinare se l'istanza ha repliche di lettura, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche di lettura dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup finale o conservato che vuoi utilizzare:

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

    • PROJECT_ID: l'ID progetto

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza target dal backup conservato o finale.

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

    • PROJECT_ID: l'ID progetto
    • TARGET_INSTANCE_ID: l'ID dell'istanza target
    • BACKUP_ID: l'ID del backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    Corpo JSON della richiesta:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Quando esegui il ripristino in un'istanza esistente, tutte le repliche devono essere eliminate dall'istanza di destinazione prima del ripristino. Per determinare se l'istanza ha repliche di lettura, esegui questo comando:

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

    • 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 di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Elimina tutte le repliche di lettura dell'istanza:

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

    • PROJECT_ID: l'ID progetto
    • REPLICA_ID: l'ID della replica

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Recupera l'ID del backup finale o conservato che vuoi utilizzare:

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

    • PROJECT_ID: l'ID progetto

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  4. Ripristina l'istanza target dal backup conservato o finale.

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

    • PROJECT_ID: l'ID progetto
    • TARGET_INSTANCE_ID: l'ID dell'istanza target
    • BACKUP_ID: l'ID del backup

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    Corpo JSON della richiesta:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina in una nuova istanza

Quando crei un'istanza da un backup finale o conservato, Cloud SQL utilizza le impostazioni di configurazione dell'istanza da cui viene eseguito il backup. Dopo la creazione dell'istanza, Cloud SQL ripristina i dati allo stato in cui si trovavano al momento del backup.

Per ripristinare i dati da un backup finale o conservato in una nuova istanza, devi disporre delle seguenti autorizzazioni:

  • Autorizzazione cloudsql.instances.create per il progetto di destinazione
  • Autorizzazione cloudsql.instances.restoreBackup per il progetto di destinazione
  • cloudsql.backupRuns.get permission per il backup di origine.

Queste autorizzazioni sono incluse nel ruolo Amministratore Cloud SQL.

Per ripristinare un'istanza eliminata utilizzando un backup in una nuova istanza, segui questi passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Backup di Cloud SQL.

    Vai ai backup di Cloud SQL

  2. Nella pagina Backup, fai clic su Livello Standard o Livello Avanzato, a seconda dell'opzione di backup dell'istanza.

  3. Se l'istanza utilizza i backup standard, fai clic sul nome dell'istanza eliminata che contiene il backup che vuoi ripristinare.

    Se l'istanza utilizza i backup avanzati, seleziona Livello avanzato, quindi seleziona il Vault di backup che contiene il backup che vuoi utilizzare. Vengono visualizzati tutti i backup disponibili nel vault di backup per l'istanza selezionata.

  4. Trova il nome del backup che vuoi ripristinare e fai clic su Ripristina.

  5. Nella pagina Ripristina un'istanza da un backup, verifica di aver selezionato il backup corretto in Esamina i dettagli del backup.

  6. Nella sezione Scegli la destinazione del ripristino, seleziona Ripristina in una nuova istanza.

  7. Dal menu Regione, seleziona la regione per la nuova istanza.

  8. Nel campo ID istanza, inserisci un ID per la nuova istanza. Questo ID non può essere modificato dopo la creazione.

  9. Fai clic su Ripristina.

Cloud SQL ripristinerà il backup nell'istanza esistente. Per controllare lo stato dell'operazione di ripristino, vai alla pagina Operazioni dell'istanza.

gcloud

  1. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  2. Per ripristinare l'istanza dal backup specificato, utilizza il comando gcloud sql backups restore:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup che vuoi ripristinare.
    • TARGET_INSTANCE_NAME: il nome dell'istanza target nuova o esistente.

REST v1

Ripristina una nuova istanza dal backup conservato o finale specificato

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

  • PROJECT_ID: l'ID progetto
  • TARGET_INSTANCE_ID: l'ID dell'istanza target
  • BACKUP_ID: l'ID del backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

Corpo JSON della richiesta:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Ripristina una nuova istanza dal backup conservato o finale specificato

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

  • PROJECT_ID: l'ID progetto
  • TARGET_INSTANCE_ID: l'ID dell'istanza target
  • BACKUP_ID: l'ID del backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

Corpo JSON della richiesta:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina in un'istanza nuova o esistente in un progetto diverso

Puoi utilizzare il parametro project per ripristinare i dati in un'istanza in un progetto diverso. Quando ripristini un'istanza eliminata da un backup in un'istanza di un altro progetto, l'istanza target viene aggiornata allo stato dell'istanza di origine al momento del backup.

L'utente che esegue il ripristino in un altro progetto deve disporre delle seguenti autorizzazioni per ripristinare l'istanza:

Queste autorizzazioni sono incluse nel ruolo Cloud SQL Admin.

Se ripristini un backup in un progetto diverso, assicurati che il tuo ambiente soddisfi i seguenti requisiti per le chiavi di crittografia gestite dal cliente (CMEK) e i Controlli di servizio VPC:

  • Se l'istanza di backup o l'istanza target utilizza CMEK, concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) al account di servizio Cloud SQL del progetto di destinazione sulla chiave Cloud KMS. Se ripristini un backup crittografato con CMEK in una nuova istanza in una regione diversa, devi specificare una chiave Cloud KMS nella regione di destinazione. Concedi al account di servizio Cloud SQL del progetto di destinazione questo ruolo sia sulla chiave del backup di origine sia sulla chiave dell'istanza target. Per saperne di più, consulta Utilizza le chiavi di crittografia gestite dal cliente (CMEK).
  • Se utilizzi i Controlli di servizio VPC, aggiungi il progetto dell'istanza target allo stesso perimetro di servizio del progetto del backup di origine o collega i perimetri con un bridge del perimetro.
  • Se utilizzi sia CMEK che i Controlli di servizio VPC, anche il progetto che ospita la chiave Cloud KMS deve appartenere allo stesso perimetro di servizio o a un bridge del perimetro connesso. In caso contrario, i Controlli di servizio VPC bloccano l'accesso alla chiave e il ripristino non riesce con l'errore Insufficient permission to use the Cloud KMS key. Questo errore si verifica anche se il account di servizio ha il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter. Per saperne di più, consulta la voce dell'API Cloud SQL Admin nella tabella dei prodotti supportati dai Controlli di servizio VPC e Configura i Controlli di servizio VPC.

Per ripristinare l'istanza utilizzando un backup in un'istanza in un progetto o una regione diversi, segui questi passaggi:

gcloud

  1. Se esegui il ripristino in un'istanza esistente, determina se l'istanza target ha repliche di lettura utilizzando il comando gcloud sql instances describe:

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Sostituisci quanto segue:

    • TARGET_INSTANCE_NAME: il nome dell'istanza target in cui vuoi ripristinare il backup.

      Elimina tutte le repliche per l'istanza target utilizzando il comando gcloud sql instances delete:

        gcloud sql instances delete REPLICA_NAME
        ```
      
      Replace the following:
      
      • REPLICA_NAME: il nome della replica dell'istanza target.

      Tutte le repliche devono essere eliminate prima di poter eseguire il ripristino in un'istanza esistente.

  2. Trova il backup che vuoi utilizzare.

    Se l'istanza utilizza backup standard, utilizza il comando gcloud sql backups list per trovare un backup e registrarne il valore ID:

    gcloud sql backups list --instance=INSTANCE_NAME
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza

    Se l'istanza utilizza i backup avanzati, consulta Elenca tutti i backup in un vault di backup.

  3. Per eseguire il ripristino in un'istanza nuova o esistente in un nuovo progetto, utilizza il comando 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
    

    Sostituisci quanto segue:

    • BACKUP_ID: l'ID del backup dal vault di backup. In questo campo devi includere il percorso completo del backup.

    • TARGET_INSTANCE_NAME: l'istanza nel progetto di destinazione in cui stai ripristinando i dati.

    • SOURCE_INSTANCE_NAME: il nome dell'istanza nel progetto di origine in cui si trovano i dati.

    • SOURCE_INSTANCE_PROJECT: il progetto che contiene l'istanza di origine.

REST v1

Per ottenere il valore backupID per il backup conservato o finale, esegui questo comando:

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

  • PROJECT_ID: l'ID progetto

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina in un altro progetto

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

  • PROJECT_ID: l'ID progetto
  • TARGET_INSTANCE_ID: l'ID dell'istanza target
  • BACKUP_ID: l'ID del backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

Corpo JSON della richiesta:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Per ottenere il valore backupID per il backup conservato o finale, esegui questo comando:

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

  • PROJECT_ID: l'ID progetto

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Ripristina in un altro progetto

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

  • PROJECT_ID: l'ID progetto
  • TARGET_INSTANCE_ID: l'ID dell'istanza target
  • BACKUP_ID: l'ID del backup

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

Corpo JSON della richiesta:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Passaggi successivi

  • Scopri di più sul backup dei dati.

  • Scopri come eseguire il backup dei tuoi dati.