Nesta página, você encontra informações sobre as operações de backup do Spanner. Para mais informações sobre backups, consulte Visão geral de backups.
Antes de começar
-
Para conseguir as permissões necessárias para gerenciar backups, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
roles/spanner.backupAdmin
) -
Crie e visualize backups:
Gravador de backup do Cloud Spanner (
roles/spanner.backupWriter
)
-
Crie, visualize, atualize e exclua backups:
Administrador de backup do Cloud Spanner (
Os exemplos da CLI gcloud nesta página pressupõem o seguinte:
- Você já configurou a CLI gcloud para uso com o Spanner. Se você não sabe como usar a CLI gcloud com o Spanner, consulte Primeiros passos com o Spanner usando a CLI gcloud.
Você configurou CLI gcloud com seu projeto. Exemplo:
gcloud config set core/project PROJECT_ID
Copiar um backup
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados que você quer copiar.
Clique no banco de dados.
No painel de navegação, clique em Backup/restauração.
Na tabela Backups, selecione Ações para o backup e clique em Copiar.
Preencha o formulário escolhendo uma instância de destino, fornecendo um nome e selecionando uma data de validade para a cópia de backup.
Clique em Copiar.
Para verificar o progresso de uma operação de cópia, consulte Verificar o progresso da operação.
Se a operação demorar muito, você pode cancelá-la. Para mais informações, consulte Cancelar uma operação de instância de longa duração.
gcloud
É possível copiar um backup para uma instância diferente no mesmo projeto ou para uma instância diferente em um projeto diferente.
Copiar um backup no mesmo projeto
Se você optar por copiar o backup para uma instância diferente no mesmo projeto,
crie uma nova instância (ou tenha uma pronta) para o backup copiado. Não
é possível criar uma nova instância como parte da operação de cópia de backup. Além disso, o
tempo de expiração do backup precisa ser de pelo menos seis horas a partir do momento em que a
solicitação de cópia atual é processada e no máximo 366 dias após o create_time
do backup de origem.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- SOURCE_INSTANCE_ID: o ID da instância do Spanner de origem.
- SOURCE_DATABASE_ID: o ID do banco de dados de origem do Spanner.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_INSTANCE_ID: o ID da instância de destino do Spanner.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: carimbo de data/hora da data de validade.
-
ENCRYPTION_TYPE:
o tipo de criptografia do backup criado.
Os valores válidos são:
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
eGOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, especifique umkmsKeyName
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-instance=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=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=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
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/PROJECT_ID/instances/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'
Copiar um backup em um projeto diferente
Se você optar por copiar o backup para um projeto diferente, precisará ter outro
com a própria instância pronta para o backup copiado. Não é possível criar um
novo projeto como parte da operação de cópia de backup. Além disso, o
tempo de expiração do backup precisa ser de pelo menos seis horas a partir do momento em que a
solicitação de cópia atual é processada e no máximo 366 dias após o backup
de origem create_time
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- SOURCE_PROJECT_ID: o ID do projeto de origem.
- SOURCE_INSTANCE_ID: o ID da instância de origem do Spanner.
- SOURCE_DATABASE_ID: o ID do banco de dados de origem do Spanner.
- SOURCE_BACKUP_NAME: o nome do backup do Spanner.
- DESTINATION_PROJECT_ID: o ID do projeto de destino.
- DESTINATION_INSTANCE_ID: o ID da instância do Spanner de destino.
- DESTINATION_BACKUP_NAME: o nome do backup de destino do Spanner.
- EXPIRATION_DATE: carimbo de data/hora da data de validade.
-
ENCRYPTION_TYPE:
o tipo de criptografia do backup criado.
Os valores válidos são:
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
eGOOGLE_DEFAULT_ENCRYPTION
ouCUSTOMER_MANAGED_ENCRYPTION
. Se você usarCUSTOMER_MANAGED_ENCRYPTION
, especifique umkmsKeyName
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups copy \ --source-backup=projects/SOURCE_PROJECT_ID/instances/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/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/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
Você receberá uma resposta semelhante a esta:
createTime: '2022-03-29T22:06:05.905823Z' database: projects/SOURCE_PROJECT_ID/instances/INSTANCE_ID/databases/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'
Para verificar o progresso de uma operação de cópia, consulte Verificar o progresso da operação.
Bibliotecas de cliente
O exemplo de código a seguir copia um backup existente. É possível copiar o backup
em uma instância
em uma região ou projeto diferente. Depois de concluído, o exemplo
recupera e imprime algumas informações sobre o backup copiado recém-criado,
como nome, tamanho, estado do backup e version_time
.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verificar o progresso da operação
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados em que você quer conferir a operação de backup.
Clique no banco de dados.
No painel de navegação, clique em Operações. A página Operações mostra uma lista de em execução.
gcloud
Use gcloud spanner operations describe
para verificar o progresso de uma operação.
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
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
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para mais informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A flag
--type
não diferencia maiúsculas de minúsculas.
Execute
gcloud spanner operations describe
:Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou 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 ^
Você receberá uma resposta semelhante a esta:
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
na saída mostra a porcentagem da operação que está completa.Se a operação demorar muito, será possível cancelá-la. Para mais informações, consulte Cancelar uma operação de backup de longa duração.
Bibliotecas de cliente
O exemplo de código a seguir lista todas as operações em andamento para criar backups (operações
com CreateBackupMetadata
) e copiar backups
(operações com CopyBackupMetadata
)
filtradas por um determinado banco de dados.
Para informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
backupOperations.list
.
C++
C#
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Go
Java
Node.js
PHP
Python
Ruby
Para listar todas as operações de criação de backup:
Para listar todas as operações de backup de cópia:
Cancelar operação de backup
Console
O console do Google Cloud não é compatível com o cancelamento de uma operação de backup. No entanto, é possível cancelar operações que demoram muito usando a CLI do Google Cloud, a API REST ou a API RPC. Para mais informações, consulte Cancelar uma operação de instância de longa duração.
gcloud
Consiga o ID da operação:
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=backup
Windows (PowerShell)
gcloud spanner operations list --instance=INSTANCE_NAME ` --database=DATABASE_NAME --type=backup
Windows (cmd.exe)
gcloud spanner operations list --instance=INSTANCE_NAME ^ --database=DATABASE_NAME --type=backup
Você receberá uma resposta semelhante a esta:
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
Observações sobre o uso:
Para limitar a lista, especifique a sinalização
--filter
. Exemplo:--filter="metadata.name:example-db"
lista apenas as operações em um banco de dados específico.--filter="error:*"
lista apenas as operações de backup que falharam.
Para informações sobre a sintaxe do filtro, consulte
gcloud topic filters
. Para mais informações sobre como filtrar operações de backup, consulte o campofilter
emListBackupOperationsRequest
.A sinalização
--type
não diferencia maiúsculas de minúsculas.
Usar
gcloud spanner operations cancel
para cancelar uma operação de backup.Antes de usar os dados do comando abaixo, faça estas substituições:
- OPERATION_ID: o ID da operação.
- INSTANCE_NAME: o nome da instância do Spanner.
- DATABASE_NAME: o nome do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou 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
Bibliotecas de cliente
O exemplo de código a seguir cria um backup, cancela a operação de backup e
aguarda até que a operação de backup seja done
. Se a operação foi
cancelado com sucesso, ele retorna cancelTime
e uma mensagem de erro. Se o
de backup foi concluída antes de ser cancelado, o backup existe e você pode excluí-lo.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Receber informações de backup
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que contém o banco de dados em que você quer ver as informações de backup.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração. Você pode conferir os dados de backup informações do backup selecionado no banco de dados.
gcloud
Para informações sobre um backup,
use gcloud spanner backups describe
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- INSTANCE_ID: o ID da instância do Spanner.
- DATABASE_ID: o ID do banco de dados do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups describe BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
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
Bibliotecas de cliente
As bibliotecas de cliente não oferecem suporte para receber informações de backup de um único backup. No entanto, é possível listar todos os backups e as informações deles em uma instância. Para Para mais informações, consulte Listar backups em uma instância.
Listar backups em uma instância
Console
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na sua instância para conferir todos os backups disponíveis e as informações deles.
No painel de navegação, clique em Backup/restauração.
gcloud
Para listar todos os backups em uma instância,
use gcloud spanner backups list
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
Execute o seguinte comando:
Linux, macOS ou 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
Você receberá uma resposta semelhante a esta:
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
Para limitar a lista, especifique a sinalização --filter
. Por exemplo, para filtrar a lista
e incluir apenas os backups que ainda estão sendo criados, adicione
--filter="state:creating"
. Saiba mais sobre a sintaxe de filtro em gcloud topic filters
.
Para informações sobre como filtrar backups, consulte o campo filter
em ListBackupsRequest
.
Bibliotecas de cliente
O exemplo de código a seguir lista os backups em uma determinada instância.
É possível filtrar a lista de backups retornados (por exemplo, filtrar por nome, versão
ou o prazo de validade do backup) fornecendo uma expressão de filtro. Para
informações sobre a sintaxe de filtragem, consulte o parâmetro filter
em
Listar backups.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Atualizar o período de validade do backup
Console
Acesse a página "Instâncias do Spanner" no Console do Google Cloud.
Clique na instância que contém o banco de dados para abrir a página Visão geral correspondente.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração.
Clique no botão Ações do backup selecionado e selecione Atualizar metadados.
Selecione a nova data de validade.
Clique em Atualizar.
gcloud
Para atualizar a data de validade de um backup,
use gcloud spanner backups update-metadata
:
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto;
- BACKUP_ID: o ID do backup do Spanner.
- INSTANCE_ID: o ID da instância do Spanner.
- EXPIRATION_DATE: o carimbo de data/hora de validade.
- DATABASE_ID: o ID do banco de dados do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups update-metadata BACKUP_ID \ --instance=INSTANCE_ID \ --expiration-date=EXPIRATION_DATE
Windows (PowerShell)
gcloud spanner backups update-metadata BACKUP_ID ` --instance=INSTANCE_ID ` --expiration-date=EXPIRATION_DATE
Windows (cmd.exe)
gcloud spanner backups update-metadata BACKUP_ID ^ --instance=INSTANCE_ID ^ --expiration-date=EXPIRATION_DATE
Você receberá uma resposta semelhante a esta:
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
Bibliotecas de cliente
O exemplo de código a seguir recupera o tempo de expiração de um backup e o estende.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Excluir um backup
Quando você exclui um backup, o Spanner libera o armazenamento e todos os outros recursos associados a ele.
Se você excluir um backup que ainda está sendo criado, O Spanner também cancela a operação de backup de longa duração.
A exclusão de um backup incremental pode não liberar espaço de armazenamento se um backup incremental mais jovem depender disso. Para mais informações, consulte Visão geral de backups.
Console
Acesse a página "Instâncias do Spanner" no Console do Google Cloud.
Clique na instância que contém o banco de dados para abrir a página Visão geral correspondente.
Clique no banco de dados para abrir a página Visão geral correspondente.
No painel de navegação, clique em Backup/restauração.
Clique no botão Ações do backup selecionado e selecione Excluir.
Digite o ID do backup.
Clique em Excluir.
gcloud
Para excluir um backup,
use gcloud spanner backups delete
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INSTANCE_ID: o ID da instância do Spanner.
- BACKUP_NAME: o nome do backup do Spanner.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (PowerShell)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Windows (cmd.exe)
gcloud spanner backups delete BACKUP_NAME --instance=INSTANCE_ID
Você receberá uma resposta semelhante a esta:
You are about to delete backup BACKUP_NAME Do you want to continue (Y/n)? Y Deleted backup BACKUP_NAME.
Bibliotecas de cliente
O exemplo de código a seguir exclui um backup e verifica se ele foi excluído.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
A seguir
Para saber mais sobre backups, consulte Visão geral dos backups.
Para criar backups, consulte Criar backups.