Gestisci backup

Questa pagina descrive le operazioni di backup di Bigtable e come eseguire il backup di una tabella e il ripristino da una tabella in una nuova tabella. Prima di leggere questa pagina, dovresti avere familiarità con la funzionalità Backup.

Puoi utilizzare i backup di Bigtable utilizzando quanto segue:

  • Console Google Cloud.
  • Google Cloud CLI.
  • Le librerie client di Cloud Bigtable.

Puoi anche accedere direttamente all'API, ma ti consigliamo vivamente di farlo solo se devi utilizzare un linguaggio non supportato dalle librerie client di Cloud Bigtable.

Prima di iniziare

Assicurati che tu o l'account utente che stai utilizzando abbiate le autorizzazioni richieste per l'azione che devi eseguire.

Se prevedi di utilizzare gcloud CLI, installalo per Bigtable.

Usa il backup automatico

Puoi utilizzare gcloud CLI per abilitare il backup automatico quando crei o aggiorni una tabella. I passaggi per eliminare, aggiornare, copiare e ripristinare un backup sono gli stessi indipendentemente dal fatto che il backup venga creato manualmente o in seguito a un backup automatico.

Durante l'anteprima, considera quanto segue se prevedi di attivare il backup automatico:

  • Se un cluster viene aggiunto a un'istanza contenente una tabella in cui è abilitato il backup automatico, i backup giornalieri non vengono creati sul cluster aggiunto. Per creare backup giornalieri su tutti i cluster, incluso quello appena aggiunto, disabilita il backup automatico per la tabella, quindi riabilita il backup automatico.
  • Se una tabella con il backup automatico abilitato viene eliminata e poi ne viene annullata l'eliminazione, devi riattivare il backup automatico nella tabella recuperata.
  • Il ripristino di un backup automatico di una tabella non abilita automaticamente il backup automatico nella tabella ripristinata. Devi abilitare manualmente il backup automatico.

Abilita backup automatico

Per abilitare il backup automatico per una tabella, esegui il comando gcloud bigtable instances tables update. Per ulteriori informazioni sull'abilitazione del backup automatico durante la creazione di una tabella, consulta Creare una tabella.

Dopo aver abilitato il criterio di backup automatico per una tabella, l'applicazione della configurazione aggiornata può richiedere fino a un'ora.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella di cui eseguire il backup.
  • INSTANCE_ID: l'identificatore permanente dell'istanza.
  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del tuo progetto:

      gcloud bigtable instances list
    
  2. Visualizza l'elenco delle tabelle per confermare l'ID della tabella di cui vuoi eseguire il backup.

        gcloud bigtable instances tables list --instances=INSTANCE_ID
    

Ai backup creati nell'ambito del backup automatico vengono assegnati ID che iniziano con auto. Ad esempio, una tabella con ID my-table avrebbe un ID backup automatico simile a auto.my-table.c7x3.20230220-1455, dove my-table è l'ID tabella troncato, c7x3 è l'ID hash univoco e 20230220-1455 sono la data e l'ora nel formato UTC.

Disattiva backup automatico

Per disabilitare il backup automatico per una tabella esistente, esegui il comando gcloud bigtable instances tables update.

Dopo aver disabilitato il criterio di backup automatico per una tabella, l'applicazione della configurazione aggiornata può richiedere fino a un'ora. Potrebbero trascorrere fino a 24 ore prima che il primo backup sia disponibile.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella.
  • INSTANCE_ID: l'identificatore permanente dell'istanza.

Visualizza criterio di backup automatico

Per visualizzare il criterio di backup automatico per una tabella, esegui il comando gcloud bigtable instances tables describe.

gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella.
  • INSTANCE_ID: l'identificatore permanente dell'istanza.

L'output è simile al seguente:

automatedBackupPolicy:
  retentionPeriod: 3d
  frequency: 24h
columnFamilies:
  my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'

Tieni presente quanto segue:

  • Il campo automatedBackupPolicy non è presente quando il backup automatico non è abilitato per una tabella.
  • Il valore retentionPeriod indica il periodo di conservazione dei backup creati automaticamente. Puoi modificare il periodo di conservazione di un backup fino a un massimo di 90 giorni dalla data di creazione del backup. Per aggiornare il periodo di conservazione del backup, vedi Modificare un backup.

Crea backup

Console

  1. Vai alla pagina Istanze di Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene la tabella di cui vuoi eseguire il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Tables.

  4. Fai clic su Crea backup per la tabella di cui vuoi eseguire il backup.

  5. Se utilizzi la replica, utilizza il menu a discesa per scegliere l'ID cluster per il cluster che deve archiviare il backup. Se hai fatto clic su Crea backup accanto a un ID cluster anziché a un ID istanza nella pagina Tables, il cluster è preselezionato.

  6. Inserisci un ID univoco per il backup.

  7. Imposta una data di scadenza.

  8. Fai clic su Crea.

    Nella console viene visualizzata la pagina Backup filtrata in modo da mostrare il backup e i relativi dettagli.

  9. Fai clic su Attività per visualizzare lo stato del backup.

    Al termine del backup, la colonna dello stato mostra Backup completato.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con il codice seguente:

  • INSTANCE_ID: l'identificatore permanente dell'istanza.
  • CLUSTER_ID: l'identificatore permanente del cluster.
  • TABLE_ID: l'ID della tabella di cui eseguire il backup.
  • BACKUP_ID: l'ID che assegni al backup.
  • EXPIRATION_DATE: una data futura a un massimo di 90 giorni, formattata come timestamp UTC "Zulu", con precisione in nanosecondi.

    Esempio: 2022-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: un periodo di massimo 90 giorni, espresso come numero con un'unità di m, h o d (minuti, ore o giorni).

    Esempi: 36h o 89d

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del tuo progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza che contiene la tabella di cui vuoi eseguire il backup, in modo da poter scegliere un ID backup che non sia già in uso sul cluster previsto.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  3. Visualizza l'elenco delle tabelle per confermare l'ID della tabella di cui vuoi eseguire il backup.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. Esegui il comando gcloud bigtable instances backups create per creare un backup dalla tabella, fornendo una data di scadenza o un periodo di conservazione fino a 90 giorni.

    gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --table=TABLE_ID \
      --async /
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    

    Il flag --async è facoltativo. Utilizzalo se vuoi che il terminale restituisca l'ID operazione prima del completamento dell'operazione. Questo è utile se vuoi controllare lo stato dell'operazione.

  5. Visualizza l'elenco dei backup per verificare se il backup è stato creato.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. Se il backup non è presente nell'elenco, controlla lo stato dell'operazione.

    Lo stato Ready indica che il backup è stato completato.

Ripristina da un backup

Console

Non puoi ripristinare in un altro progetto utilizzando la console Google Cloud. Se necessario, utilizza gcloud CLI.

  1. Vai alla pagina Istanze di Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup da ripristinare.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Fai clic su Ripristina per il backup da ripristinare.

  5. Seleziona l'istanza in cui vuoi eseguire il ripristino.

    Le istanze che non dispongono di spazio di archiviazione sufficiente per la nuova tabella non sono disponibili. Se non hai l'autorizzazione per creare una tabella in un'istanza, l'istanza non è disponibile. Per ulteriori informazioni, passa il mouse sopra l'icona .

    Se esegui il ripristino da un backup protetto da CMEK, anche l'istanza di destinazione deve essere protetta da CMEK.

    Non puoi eseguire il ripristino in un altro progetto utilizzando la console Google Cloud. Se necessario, utilizza l'interfaccia a riga di comando gcloud.

  6. Inserisci un ID univoco per la tabella che verrà creata dal backup. Non potrai modificare questo ID in un secondo momento.

  7. Fai clic su Ripristina.

    Nella console viene visualizzata la pagina Tabelle filtrata in modo da mostrare la nuova tabella.

    La console mostra lo stato del ripristino per ogni cluster. Quando la colonna dello stato per tutti i cluster mostra Pronta, la tabella è stata ripristinata e replicata in tutti i cluster nell'istanza.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con il codice seguente:

  • PROJECT_ID_SOURCE: l'ID del progetto contenente il backup da cui eseguire il ripristino.
  • INSTANCE_ID_SOURCE: l'ID permanente dell'istanza di origine.
  • PROJECT_ID_DESTINATION: l'ID del progetto in cui vuoi eseguire il ripristino. Questo flag è facoltativo. Se non specifichi questa opzione, il backup viene ripristinato in una nuova tabella nella stessa istanza in cui è stato creato.
  • INSTANCE_ID_DESTINATION: l'ID permanente dell'istanza di destinazione.
  • CLUSTER_ID: l'identificatore permanente del cluster.
  • BACKUP_ID: l'ID del backup da cui eseguire il ripristino.
  • TABLE_ID_NEW: l'ID della nuova tabella.
  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del tuo progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza che contiene il backup, per verificare che il backup esista.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
      --cluster=CLUSTER_ID_SOURCE
    
  3. Visualizza l'elenco delle tabelle nell'istanza di destinazione, in modo da poter scegliere un ID per la nuova tabella che non sia già in uso.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  4. Esegui il comando gcloud bigtable instances Tables ripristin per eseguire il ripristino dal backup in una nuova tabella.

    gcloud bigtable instances tables restore \
    --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \
    --async \
    --destination=TABLE_ID_NEW \
    --destination-instance=INSTANCE_ID_DESTINATION \
    --project=PROJECT_ID_DESTINATION
    

    Il flag --async è facoltativo. Utilizzalo se vuoi che il terminale restituisca l'ID operazione prima del completamento dell'operazione. Questo è utile se vuoi controllare lo stato dell'operazione.

  5. Visualizza l'elenco delle tabelle per verificare se la tua tabella è stata creata.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  6. Se il backup non è presente nell'elenco, controlla lo stato dell'operazione.

Crea una copia di un backup

Console

Non puoi creare una copia di un backup in un altro progetto utilizzando la console. Se necessario, utilizza invece gcloud CLI.

  1. Vai alla pagina Istanze di Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup da copiare.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Per il backup che vuoi copiare, espandi il menu Altro accanto alla parola Ripristina, quindi fai clic su Copia.

  5. Fai clic su Copia per il backup di cui vuoi creare una copia.

    Se il backup è una copia di un altro backup, Copia non è disponibile.

  6. Seleziona l'istanza di destinazione.

    Non puoi creare una copia di un backup in un altro progetto utilizzando la console. Se necessario, utilizza gcloud CLI.

    Le istanze che non dispongono di spazio di archiviazione sufficiente per la copia di backup non sono disponibili. Se non hai l'autorizzazione per creare un backup in un'istanza, l'istanza non è disponibile. Tieni premuto il puntatore sull'icona per ulteriori informazioni.

    Se copi un backup protetto da CMEK, anche l'istanza di destinazione deve essere protetta da CMEK.

  7. Seleziona il cluster di destinazione.

    Come per qualsiasi backup, una copia di backup viene archiviata in un solo cluster in un'istanza, anche se l'istanza utilizza la replica.

  8. Inserisci un ID univoco per la copia che verrà creata dal backup. Non potrai modificare questo ID in un secondo momento.

  9. Imposta una scadenza per la copia di backup, specificando un valore per Ora e selezionando un'Unità dal menu a discesa.

  10. Fai clic su Copia.

  11. Per visualizzare la copia, fai clic su Visualizza copia.

    Nella console viene visualizzata la pagina Backup per l'istanza di destinazione, filtrata in base alla copia di backup appena creata. Quando la colonna dello stato mostra Pronta, la copia è completa e pronta per ulteriori operazioni.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con il codice seguente:

  • PROJECT_ID_SOURCE: il progetto contenente il backup da copiare.
  • INSTANCE_ID_SOURCE: l'ID permanente dell'istanza di origine.
  • CLUSTER_ID_SOURCE: l'ID del cluster in cui è archiviato il backup di origine.
  • BACKUP_ID_SOURCE: l'ID del backup da copiare.
  • PROJECT_ID_DESTINATION: il progetto in cui vuoi inserire la copia.
  • INSTANCE_ID_DESTINATION: l'ID permanente dell'istanza di destinazione.
  • CLUSTER_ID_DESTINATION: l'ID del cluster nell'istanza di destinazione in cui vuoi archiviare la copia.
  • BACKUP_ID_DESTINATION: l'ID che assegni alla copia del backup.
  • RETENTION_PERIOD: la durata (TTL) della copia di backup, espressa in formato numero e unità (d o h). Gli esempi includono 5d per cinque giorni o 15h per 15 ore. Utilizza questa data o una data di scadenza.
  • EXPIRATION_DATE: la data e l'ora di scadenza della copia di backup, nel formato 2022-09-01T10:00:00.0Z.
  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del tuo progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza di origine che contiene il backup, per verificare che quello che vuoi copiare esista.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
    --cluster=CLUSTER_ID_SOURCE
    
  3. Visualizza l'elenco dei backup nell'istanza di destinazione, in modo da poter scegliere un ID per la copia che non sia già in uso.

    gcloud bigtable backups list --instances=DESTINATION_INSTANCE
    
  4. Esegui il comando gcloud bigtable instances backups copy per creare la copia di backup.

    gcloud bigtable backups copy \
      --source-project=PROJECT_ID_SOURCE \
      --source-instance=INSTANCE_ID_SOURCE \
      --source-cluster=CLUSTER_ID_SOURCE \
      --source-backup=BACKUP_ID_SOURCE \
      --destination-project=PROJECT_ID_DESTINATION \
      --destination-instance=INSTANCE_ID_DESTINATION \
      --destination-cluster=CLUSTER_ID_DESTINATION \
      --destination-backup=BACKUP_ID_DESTINATION \
    

    Aggiungi il comando con uno dei seguenti valori:

    • --retention-period`=RETENTION_PERIOD: periodo di conservazione per la copia di backup. Devono essere trascorsi almeno 6 ore e massimo 30 giorni dal momento della creazione del backup di origine.
    • --expiration-date`=EXPIRATION_DATE: scadenza della copia di backup. Devono essere trascorsi almeno 6 ore e massimo 30 giorni dal momento della creazione del backup di origine.

    Facoltativamente, puoi aggiungere --async al comando. Utilizzalo se vuoi che il terminale restituisca l'ID operazione prima del completamento dell'operazione. Questa operazione è utile se vuoi controllare lo stato dell'operazione.

  5. Visualizza l'elenco dei backup per verificare se la tua copia è stata creata.

    gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
    
  6. Se il backup non è presente nell'elenco, controlla lo stato dell'operazione.

Nel raro evento in cui un'operazione di copia di backup non vada a buon fine a causa di limitazioni di capacità, riprova con un cluster di destinazione diverso. Se anche questa operazione ha esito negativo, contatta l'assistenza.

Controllare lo stato di un'operazione

Console

  1. Vai alla pagina Istanze di Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Nella pagina Backup, fai clic su Attività. La colonna Stato mostra lo stato attuale di ogni operazione.

Gli stati delle operazioni durante il ripristino di una tabella includono:

  • Copia in attesa
  • Ripristino backup in corso
  • In fase di inizializzazione
  • Pronto per l'ottimizzazione
  • Pronta

Gli stati delle operazioni durante la creazione di un backup includono:

  • Creazione del backup in corso
  • Backup completato

Gli stati delle operazioni durante la copia di un backup includono:

  • Copia del backup in corso
  • Backup copiato

gcloud

Per controllare lo stato di un'operazione di backup o ripristino, è necessario l'ID univoco dell'operazione. Di seguito è riportato un esempio di ID operazione:

`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`

Dopo aver eseguito un comando per creare un backup o il ripristino in una nuova tabella utilizzando l'opzione --async, nel terminale viene visualizzato l'ID operazione.

  1. Copia l'ID operazione.

  2. Esegui il comando gcloud bigtable Operations describe per sostituire il valore che hai copiato per OPERATION_ID.

    gcloud bigtable operations describe OPERATION_ID
    

    Esempio:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    

    Puoi eseguire questo comando a intervalli regolari fino a quando il valore di DONE non è TRUE.

Se non conosci l'ID operazione, perché non hai semplicemente eseguito il comando o ti trovi in un'altra finestra del terminale, puoi visualizzare un elenco delle operazioni per l'istanza e determinare quale operazione vuoi controllare.

  1. Visualizza un elenco di attività recenti delle operazioni per l'istanza contenente la tabella di cui stai eseguendo il backup o il ripristino, sostituendo l'ID dell'istanza con INSTANCE_ID:

    gcloud bigtable operations list --instance=INSTANCE_ID
    

    Nel terminale viene visualizzato un elenco di operazioni nelle colonne contrassegnate con le etichette NAME, START_TIME, END_TIME e DONE. Il valore nella colonna NAME è l'ID operazione.

  2. Copia l'ID operazione iniziando dal primo elemento dell'elenco.

  3. Utilizza gcloud Bigtable Operations describe per visualizzare i metadati per l'operazione.

    gcloud bigtable operations describe OPERATION_ID
    

    Esempio:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    
  4. Se i metadati per un'operazione mostrano un valore per backupInfo, hai trovato l'operazione corretta e puoi ripetere questo comando ogni tanto finché il valore di DONE non sarà TRUE.

    Se nei metadati non viene visualizzato un valore per backupInfo, controlla l'operazione successiva dall'elenco delle operazioni visualizzate nel passaggio 1.

Modificare una copia di backup o di backup

Console

La console Google Cloud non consente di modificare un backup, incluse le copie.

gcloud

Gcloud CLI consente di modificare la data di scadenza o il periodo di una copia di backup o di backup.

Per tutti i comandi, sostituisci i valori effettivi con il codice seguente:

  • INSTANCE_ID: l'identificatore permanente dell'istanza.
  • CLUSTER_ID: l'identificatore permanente del cluster.
  • BACKUP_ID: l'ID univoco di un backup.
  • EXPIRATION_DATE: una data futura di massimo 90 giorni, formattata come timestamp UTC "Zulu", con precisione in nanosecondi.

    Esempio: 2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: un periodo di massimo 90 giorni, espresso come numero con un'unità di m, h o d (minuti, ore o giorni).

    _Examples_: `36h` or `89d`
    
  1. Visualizza un elenco dei backup:

        gcloud bigtable backups list --instance=INSTANCE_ID
    

    Viene visualizzato un elenco di backup nel terminale.

  2. Prendi nota degli ID backup e cluster del backup da aggiornare.

  3. Esegui il comando gcloud bigtable instances backups update per aggiungere una nuova data di scadenza o un nuovo periodo di conservazione.

      gcloud bigtable backups update BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    
  4. Esegui il comando gcloud bigtable instances backups describe per verificare di aver aggiornato correttamente la scadenza.

        gcloud bigtable backups describe BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID
    ```
    

Eliminare un backup

Puoi eliminare una copia di backup o di backup prima della scadenza pianificata.

Console

  1. Vai alla pagina Istanze di Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Per il backup da eliminare, espandi il menu Altro accanto alla parola Ripristina, quindi fai clic su Elimina.

  5. Inserisci l'ID backup nel campo Conferma eliminazione, quindi fai clic su Elimina.

gcloud

  1. Visualizza un elenco dei backup, sostituendo l'ID dell'istanza con INSTANCE_ID:

    gcloud bigtable backups list --instance=INSTANCE_ID
    

    Viene visualizzato un elenco di backup nel terminale.

  2. Prendi nota dell'ID backup e dell'ID del cluster in cui è archiviato.

  3. Esegui il comando gcloud bigtable instances backups delete, sostituendo l'ID backup che hai annotato per BACKUP_ID e l'ID cluster per CLUSTER_ID.

    gcloud bigtable backups delete BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    

Passaggi successivi