Questa pagina fornisce informazioni sulle operazioni di backup di Spanner. Per saperne di più sui backup, consulta la Panoramica dei backup.
Prima di iniziare
-
Per ottenere le autorizzazioni necessarie per gestire i backup, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'istanza:
-
Crea, visualizza, aggiorna ed elimina i backup:
Amministratore backup Cloud Spanner (
roles/spanner.backupAdmin
) -
Crea e visualizza i backup:
Cloud Spanner Backup Writer (
roles/spanner.backupWriter
)
-
Crea, visualizza, aggiorna ed elimina i backup:
Amministratore backup Cloud Spanner (
Gli esempi dell'interfaccia a riga di comando gcloud in questa pagina fanno le seguenti ipotesi:
- Hai già configurato l'interfaccia a riga di comando gcloud per l'utilizzo con Spanner. Se non hai mai utilizzato gcloud CLI con Spanner, consulta Introduzione a Spanner con gcloud CLI.
Hai configurato l'interfaccia a riga di comando gcloud con il tuo progetto. Ad esempio:
gcloud config set core/project
PROJECT_ID
Copiare un backup
Nella console Google Cloud, vai alla pagina Istanze di Spanner.
Fai clic sull'istanza contenente il database che vuoi copiare.
Fai clic sul database.
Nel riquadro di navigazione, fai clic su Backup/Ripristino.
Nella tabella Backup, seleziona Azioni per il backup e fai clic su Copia.
Compila il modulo scegliendo un'istanza di destinazione, specificando un nome e selezionando una data di scadenza per la copia di backup.
Fai clic su Copia.
Per controllare l'avanzamento di un'operazione di copia, consulta Verificare l'avanzamento dell'operazione.
Se l'operazione richiede troppo tempo, puoi annullarla. Per ulteriori informazioni, consulta Annullare un'operazione di istanza di lunga durata.
Puoi copiare un backup in un'altra istanza nello stesso progetto o in un'altra istanza in un altro progetto.
Copiare un backup nello stesso progetto
Se scegli di copiare il backup in un'altra istanza nello stesso progetto,
devi creare una nuova istanza (o averne una pronta) per il backup copiato. Non puoi creare una nuova istanza nell'ambito dell'operazione di copia del backup. Inoltre, la data e l'ora di scadenza del backup devono essere distanti almeno sei ore dal momento dell'elaborazione della richiesta di copia corrente e al massimo 366 giorni dalla data e dall'ora del backup di origine.create_time
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
PROJECT_ID : l'ID progetto.SOURCE_INSTANCE_ID : l'ID istanza Spanner di origine.SOURCE_DATABASE_ID : l'ID del database Spanner di origine.SOURCE_BACKUP_NAME : il nome del backup Spanner.DESTINATION_INSTANCE_ID : l'ID istanza Spanner di destinazione.DESTINATION_BACKUP_NAME : il nome del backup Spanner di destinazione.EXPIRATION_DATE : il timestamp della data di scadenza.-
ENCRYPTION_TYPE : il tipo di crittografia del backup creato. I valori validi sonoUSE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
oCUSTOMER_MANAGED_ENCRYPTION
. Se utilizziCUSTOMER_MANAGED_ENCRYPTION
, devi specificare unkmsKeyName
.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups copy \ --source-instance=SOURCE_INSTANCE_ID \ --source-backup=SOURCE_BACKUP_NAME \ --destination-instance=DESTINATION_INSTANCE_ID \ --destination-backup=DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backups copy ` --source-instance=SOURCE_INSTANCE_ID ` --source-backup=SOURCE_BACKUP_NAME ` --destination-instance=DESTINATION_INSTANCE_ID ` --destination-backup=DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-instance=SOURCE_INSTANCE_ID ^ --source-backup=SOURCE_BACKUP_NAME ^ --destination-instance=DESTINATION_INSTANCE_ID ^ --destination-backup=DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Dovresti ricevere una risposta simile alla seguente:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/PROJECT_ID /instances/SOURCE_INSTANCE_ID /databases/SOURCE_DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/PROJECT_ID /instances/DESTINATION_INSTANCE_ID /backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Copiare un backup in un altro progetto
Se scegli di copiare il backup in un altro progetto, devi avere un altro progetto con la propria istanza pronta per il backup copiato. Non puoi creare un nuovo progetto nell'ambito dell'operazione di copia di backup. Inoltre, la data e l'ora di scadenza del backup devono essere almeno a sei ore dal momento dell'elaborazione della richiesta di copia corrente e al massimo a 366 giorni dal backup di origine create_time
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
SOURCE_PROJECT_ID : l'ID progetto di origine.SOURCE_INSTANCE_ID : l'ID istanza Spanner di origine.SOURCE_DATABASE_ID : l'ID del database Spanner di origine.SOURCE_BACKUP_NAME : il nome del backup Spanner.DESTINATION_PROJECT_ID : l'ID progetto di destinazione.DESTINATION_INSTANCE_ID : l'ID istanza Spanner di destinazione.DESTINATION_BACKUP_NAME : il nome del backup Spanner di destinazione.EXPIRATION_DATE : il timestamp della data di scadenza.-
ENCRYPTION_TYPE : il tipo di crittografia del backup creato. I valori validi sonoUSE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
oCUSTOMER_MANAGED_ENCRYPTION
. Se utilizziCUSTOMER_MANAGED_ENCRYPTION
, devi specificare unkmsKeyName
.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups copy \ --source-backup=projects/SOURCE_PROJECT_ID /instances/SOURCE_INSTANCE_ID /backups/SOURCE_BACKUP_NAME \ --destination-backup=projects/DESTINATION_PROJECT_ID /instances/DESTINATION_INSTANCE_ID /backups/DESTINATION_BACKUP_NAME \ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (PowerShell)
gcloud spanner backups copy ` --source-backup=projects/SOURCE_PROJECT_ID /instances/SOURCE_INSTANCE_ID /backups/SOURCE_BACKUP_NAME ` --destination-backup=projects/DESTINATION_PROJECT_ID /instances/DESTINATION_INSTANCE_ID /backups/DESTINATION_BACKUP_NAME ` --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Windows (cmd.exe)
gcloud spanner backups copy ^ --source-backup=projects/SOURCE_PROJECT_ID /instances/SOURCE_INSTANCE_ID /backups/SOURCE_BACKUP_NAME ^ --destination-backup=projects/DESTINATION_PROJECT_ID /instances/DESTINATION_INSTANCE_ID /backups/DESTINATION_BACKUP_NAME ^ --expiration-date=EXPIRATION_DATE --encryption-type=ENCRYPTION_TYPE
Dovresti ricevere una risposta simile alla seguente:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/SOURCE_PROJECT_ID /instances/SOURCE_INSTANCE_ID /databases/SOURCE_DATABASE_ID databaseDialect: GOOGLE_STANDARD_SQL encryptionInfo: encryptionType: GOOGLE_DEFAULT_ENCRYPTION expireTime: '2022-03-30T10:49:41Z' maxExpireTime: '2023-03-17T20:46:33.479336Z' name: projects/DESTINATION_PROJECT_ID /instances/DESTINATION_INSTANCE_ID /backups/DESTINATION_BACKUP_NAME sizeBytes: '7957667' state: READY versionTime: '2022-03-16T20:46:33.479336Z'
Per controllare l'avanzamento di un'operazione di copia, consulta Verificare l'avanzamento dell'operazione.
Il seguente esempio di codice copia un backup esistente. Puoi copiare il backup
in un'istanza in una regione o in un progetto diverso. Al termine, il sample recupera e stampa alcune informazioni sul backup copiato appena creato, come nome, dimensioni, stato del backup e version_time
.
Controllare l'avanzamento dell'operazione
Nella console Google Cloud, vai alla pagina Istanze di Spanner.
Fai clic sull'istanza contenente il database di cui vuoi visualizzare l'operazione di backup.
Fai clic sul database.
Nel riquadro di navigazione, fai clic su Operazioni. La pagina Operazioni mostra un elenco di operazioni in esecuzione.
Utilizza gcloud spanner operations describe
per controllare l'avanzamento di un'operazione.
Recupera l'ID operazione:
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_NAME : il nome dell'istanza Spanner.DATABASE_NAME : il nome del database Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner operations list --instance=
INSTANCE_NAME \ --database=DATABASE_NAME --type=backupWindows (PowerShell)
gcloud spanner operations list --instance=
INSTANCE_NAME ` --database=DATABASE_NAME --type=backupWindows (cmd.exe)
gcloud spanner operations list --instance=
INSTANCE_NAME ^ --database=DATABASE_NAME --type=backupDovresti ricevere una risposta simile alla seguente:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Note sull'utilizzo:
Per limitare l'elenco, specifica il flag
--filter
. Ad esempio:--filter="metadata.name:example-db"
elenca solo le operazioni su un database specifico.--filter="error:*"
elenca solo le operazioni di backup non riuscite.
Per informazioni sulla sintassi dei filtri, consulta
gcloud topic filters
. Per informazioni sul filtro delle operazioni di backup, consulta il campofilter
inListBackupOperationsRequest
.L'indicatore
--type
non è sensibile alle maiuscole.
Esegui
gcloud spanner operations describe
:Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
OPERATION_ID : l'ID operazione.INSTANCE_NAME : il nome dell'istanza Spanner.DATABASE_NAME : il nome del database Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner operations describe
OPERATION_ID \ --instance=INSTANCE_NAME \ --backup=BACKUP_NAME \Windows (PowerShell)
gcloud spanner operations describe
OPERATION_ID ` --instance=INSTANCE_NAME ` --backup=BACKUP_NAME `Windows (cmd.exe)
gcloud spanner operations describe
OPERATION_ID ^ --instance=INSTANCE_NAME ^ --backup=BACKUP_NAME ^Dovresti ricevere una risposta simile alla seguente:
done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
progress
nell'output mostra la percentuale dell'operazione in stato di completamento.Se l'operazione richiede troppo tempo, puoi annullarla. Per ulteriori informazioni, consulta Annullare un'operazione di backup di lunga durata.
Il seguente esempio di codice elenca tutte le operazioni in corso per la creazione di backup (operazioni con CreateBackupMetadata
) e la copia dei backup (operazioni con CopyBackupMetadata
) filtrate in base a un determinato database.
Per informazioni sulla sintassi di filtro, consulta il parametro filter
in
backupOperations.list
.
Per elencare tutte le operazioni di creazione backup:
Per elencare tutte le operazioni di backup di copia:
Per elencare tutte le operazioni di creazione backup:
Per elencare tutte le operazioni di backup di copia:
Annullare un'operazione di backup
La console Google Cloud non supporta l'annullamento di un'operazione di backup. Tuttavia, puoi annullare le operazioni che richiedono troppo tempo utilizzando l'API RPC, REST o Google Cloud CLI. Per ulteriori informazioni, consulta Annullare un'operazione di istanza di lunga durata.
Recupera l'ID operazione:
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_NAME : il nome dell'istanza Spanner.DATABASE_NAME : il nome del database Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner operations list --instance=
INSTANCE_NAME \ --database=DATABASE_NAME --type=backupWindows (PowerShell)
gcloud spanner operations list --instance=
INSTANCE_NAME ` --database=DATABASE_NAME --type=backupWindows (cmd.exe)
gcloud spanner operations list --instance=
INSTANCE_NAME ^ --database=DATABASE_NAME --type=backupDovresti ricevere una risposta simile alla seguente:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Note sull'utilizzo:
Per limitare l'elenco, specifica il flag
--filter
. Ad esempio:--filter="metadata.name:example-db"
elenca solo le operazioni su un database specifico.--filter="error:*"
elenca solo le operazioni di backup non riuscite.
Per informazioni sulla sintassi dei filtri, consulta
gcloud topic filters
. Per informazioni sul filtro delle operazioni di backup, consulta il campofilter
inListBackupOperationsRequest
.L'indicatore
--type
non è sensibile alle maiuscole.
Utilizza
gcloud spanner operations cancel
per annullare un'operazione di backup.Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
OPERATION_ID : l'ID operazione.INSTANCE_NAME : il nome dell'istanza Spanner.DATABASE_NAME : il nome del database Spanner.BACKUP_NAME : il nome del backup Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner operations cancel
OPERATION_ID --instance=INSTANCE_NAME \ --database=DATABASE_NAME --backup=BACKUP_NAME Windows (PowerShell)
gcloud spanner operations cancel
OPERATION_ID --instance=INSTANCE_NAME ` --database=DATABASE_NAME --backup=BACKUP_NAME Windows (cmd.exe)
gcloud spanner operations cancel
OPERATION_ID --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --backup=BACKUP_NAME
Il seguente esempio di codice crea un backup, annulla l'operazione di backup e
poi attende che l'operazione di backup sia done
. Se l'operazione è stata annullata correttamente, viene restituito cancelTime
e un messaggio di errore. Se l'operazione di backup è stata completata prima di essere annullata, il backup esiste e puoi eliminarlo.
Ottenere informazioni sul backup
Nella console Google Cloud, vai alla pagina Istanze di Spanner.
Fai clic sull'istanza contenente il database di cui vuoi visualizzare le informazioni di backup.
Fai clic sul database per aprire la pagina Panoramica.
Nel riquadro di navigazione, fai clic su Backup/Ripristino. Puoi visualizzare le informazioni sul backup selezionato nel database.
Per informazioni su un backup,
utilizza gcloud spanner backups describe
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
PROJECT_ID : l'ID progetto.INSTANCE_ID : l'ID istanza Spanner.DATABASE_ID : l'ID database Spanner.BACKUP_NAME : il nome del backup Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups describeBACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups describeBACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups describeBACKUP_NAME --instance=INSTANCE_ID
Dovresti ricevere una risposta simile alla seguente:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID /instances/INSTANCE_ID /databases/DATABASE_ID expireTime: '2021-02-04T02:05:43.268327Z' name: projects/PROJECT_ID /instances/INSTANCE_ID /backups/BACKUP_NAME sizeBytes: '1000000000' state: READY
Le librerie client non supportano l'ottenimento delle informazioni di backup per un singolo backup. Tuttavia, puoi elencare tutti i backup e le relative informazioni in un'istanza. Per ulteriori informazioni, consulta Elenco dei backup in un'istanza.
Elenco dei backup in un'istanza
Nella console Google Cloud, vai alla pagina Istanze di Spanner.
Fai clic sull'istanza per visualizzare tutti i backup disponibili e le relative informazioni.
Nel riquadro di navigazione, fai clic su Backup/Ripristino.
Per elencare tutti i backup di un'istanza,
utilizza gcloud spanner backups list
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_ID : l'ID istanza Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups list --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups list --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups list --instance=INSTANCE_ID
Dovresti ricevere una risposta simile alla seguente:
BACKUP SOURCE_DATABASE CREATION_TIME EXPIRATION_TIME STATE BACKUP_SIZE_IN_BYTES IN_USE_BY example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2021-02-04T02:05:43.268327Z CREATING example-db-backup-4 example-db 2020-02-04T01:21:20.873839Z 2021-02-04T01:21:20.530151Z READY 32 example-db-backup-3 example-db 2020-02-03T23:59:18.936433Z 2021-02-03T23:59:18.203083Z READY 32 example-db-backup-5 example-db 2020-02-03T23:48:06.259296Z 2021-02-03T23:48:05.830937Z READY 32 example-db-backup-2 example-db 2020-01-30T19:49:00.616338Z 2021-01-30T19:49:00.283917Z READY 32 example-db-backup-1 example-db 2020-01-30T19:47:09.492551Z 2021-01-30T19:47:09.097804Z READY 32
Per limitare l'elenco, specifica il flag --filter
. Ad esempio, per filtrare l'elenco
in modo da includere solo i backup che sono ancora in fase di creazione, aggiungi
--filter="state:creating"
. Per informazioni sulla sintassi dei filtri, consulta gcloud topic filters
.
Per informazioni sul filtro dei backup, consulta il campo filter
in ListBackupsRequest
.
Il seguente esempio di codice elenca i backup in una determinata istanza.
Puoi filtrare l'elenco dei backup restituiti (ad esempio, filtrando per nome, data della versione o data di scadenza del backup) specificando un'espressione di filtro. Per informazioni sulla sintassi di filtro, consulta il parametro filter
in Elenca i backup.
Aggiorna il periodo di scadenza del backup
Vai alla pagina Istanze Spanner nella console Google Cloud.
Fai clic sull'istanza contenente il database per aprire la pagina Panoramica.
Fai clic sul database per aprire la pagina Panoramica.
Nel riquadro di navigazione, fai clic su Backup/Ripristino.
Fai clic sul pulsante Azioni per il backup selezionato e poi seleziona Aggiorna metadati.
Seleziona la nuova data di scadenza.
Fai clic su Aggiorna.
Per aggiornare la data del periodo di scadenza di un backup,
utilizza gcloud spanner backups update-metadata
:
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
PROJECT_ID : l'ID progetto.BACKUP_ID : l'ID del backup Spanner.INSTANCE_ID : l'ID istanza Spanner.EXPIRATION_DATE : il timestamp della data di scadenza.DATABASE_ID : l'ID database Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups update-metadataBACKUP_ID \ --instance=INSTANCE_ID \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups update-metadataBACKUP_ID ` --instance=INSTANCE_ID ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups update-metadataBACKUP_ID ^ --instance=INSTANCE_ID ^ --expiration-date=EXPIRATION_DATE
Dovresti ricevere una risposta simile alla seguente:
createTime: '2020-02-04T02:05:43.920377Z' database: projects/PROJECT_ID /instances/INSTANCE_ID /databases/DATABASE_ID expireTime: '2020-05-05T00:00:00Z' name: projects/PROJECT_ID /instances/INSTANCE_ID /backups/BACKUP_ID sizeBytes: '1000000000' state: READY
Il seguente esempio di codice recupera la data e l'ora di scadenza di un backup e la estende.
Eliminare un backup
Quando elimini un backup, Spanner rilascia lo spazio di archiviazione e tutte le altre risorse associate al backup.
Se elimini un backup che è ancora in fase di creazione, Spanner annulla anche l'operazione di backup di lunga durata.
L'eliminazione di un backup incrementale potrebbe non liberare spazio di archiviazione se un backup incrementale più recente ne dipende. Per ulteriori informazioni, consulta la panoramica dei backup.
Vai alla pagina Istanze Spanner nella console Google Cloud.
Fai clic sull'istanza contenente il database per aprire la pagina Panoramica.
Fai clic sul database per aprire la pagina Panoramica.
Nel riquadro di navigazione, fai clic su Backup/Ripristino.
Fai clic sul pulsante Azioni per il backup selezionato e poi seleziona Elimina.
Digita l'ID backup.
Fai clic su Elimina.
Per eliminare un backup,
utilizza gcloud spanner backups delete
.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_ID : l'ID istanza Spanner.BACKUP_NAME : il nome del backup Spanner.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups deleteBACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups deleteBACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups deleteBACKUP_NAME --instance=INSTANCE_ID
Dovresti ricevere una risposta simile alla seguente:
You are about to delete backupBACKUP_NAME Do you want to continue (Y/n)? Y Deleted backupBACKUP_NAME .
Il seguente esempio di codice elimina un backup e ne verifica l'eliminazione.
Passaggi successivi
Per saperne di più sui backup, consulta la Panoramica dei backup.
Per creare i backup, consulta Creare i backup.