Esta página oferece informações sobre como criar backups de bancos de dados do Spanner.
Para mais informações sobre backups, consulte Visão geral dos backups. É possível fazer backup de bancos de dados das seguintes maneiras:
- Usando o Console do Google Cloud.
- Usando a Google Cloud CLI.
- usando bibliotecas de cliente.
- Usando as APIs REST ou RPC.
Antes de começar
-
Para ter as permissões necessárias para criar 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 gcloud CLI para usar com no Spanner. Se você nunca usou a CLI gcloud com Spanner, consulte Criar e consultar um banco de dados usando o CLI gcloud.
Você configurou CLI gcloud com seu projeto. Exemplo:
gcloud config set core/project PROJECT_ID
Criar backup
Quando você cria um backup, o Spanner cria como um recurso de backup e uma operação de backup para rastrear o andamento do backup. O backup recém-criado fica na mesma instância, região e projeto que o banco de dados de origem.
É preciso especificar as seguintes informações ao criar um backup:
- Um ID do banco de dados de origem.
- Um nome para o recurso de backup.
- Uma data de validade (até um ano a partir da criação do backup).
Como opção, é possível especificar
versionTime
para o banco de dados de origem;
o que permite fazer backup do banco de dados para um momento anterior.
O campo versionTime
normalmente é usado para sincronizar os backups de
vários bancos de dados ou recuperar dados usando a recuperação pontual (PITR, na sigla em inglês).
Se versionTime
não for especificado, ele será definido como createTime
do backup.
Também é possível criar backups em uma frequência especificada usando uma programação de backup. Para mais informações, consulte Criar e gerenciar programaçõ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 para backup.
Clique no banco de dados.
No painel de navegação, clique em Backup/restauração.
Na guia Backups, clique em Criar backup.
Preencha o formulário e clique em Criar.
Para verificar o progresso de uma operação de backup, consulte Verificar o progresso da operação.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- 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.
-
RETENTION_PERIOD: o período de retenção do backup criado. Por exemplo, se você quiser que a duração da retenção seja um
dia, use
86400s
. -
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
, vai precisar especificar umkmsKeyName
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud spanner backups create BACKUP_NAME\ --instance=INSTANCE_ID\ --database=DATABASE_ID\ --retention-period=RETENTION_PERIOD\ --encryption-type=ENCRYPTION_TYPE\ --async
Windows (PowerShell)
gcloud spanner backups create BACKUP_NAME` --instance=INSTANCE_ID` --database=DATABASE_ID` --retention-period=RETENTION_PERIOD` --encryption-type=ENCRYPTION_TYPE` --async
Windows (cmd.exe)
gcloud spanner backups create BACKUP_NAME^ --instance=INSTANCE_ID^ --database=DATABASE_ID^ --retention-period=RETENTION_PERIOD^ --encryption-type=ENCRYPTION_TYPE^ --async
Você receberá uma resposta semelhante a esta:
Create request issued for: BACKUP_NAME Check operation [projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME/operations/_auto_op_234567] for status.
Veja algumas observações de uso:
- Para definir a data de validade do backup, especifique a sinalização
--retention-period
ou--expiration-date
. Para informações sobre a sintaxe de data, consultegcloud topic datetimes
. - O nome do backup precisa ser exclusivo na instância.
- O comando retorna imediatamente por causa da sinalização
--async
. Sem a sinalização, o comando aguardará a conclusão da operação de backup. - Especifique a sinalização
--help
para receber ajuda para qualquer comando.
Para verificar o progresso de uma operação de backup, consulte Verificar o progresso da operação.
Bibliotecas de cliente
O exemplo de código a seguir cria um backup em um version_time
específico
e aguarda a conclusão. Depois de concluído, ele verifica se o backup está
pronto e recupera algumas informações sobre ele, como nome, tamanho e
hora de criação.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
A seguir
Para saber mais sobre backups, consulte Visão geral de backups.
Para gerenciar backups, consulte Gerenciar backups.