Gerenciar backups
Nesta página, descrevemos as operações de backup do Bigtable e explicamos como fazer backup de uma tabela e restaurá-la dela para uma nova tabela. Antes de ler esta página, conheça backups.
Trabalhe com backups do Bigtable usando o seguinte:
- O console do Google Cloud.
- A Google Cloud CLI.
- As bibliotecas de cliente do Cloud Bigtable.
Antes de começar
Certifique-se de que você ou a conta de usuário que está usando tenham as permissões necessárias para a ação que você precisa executar.
Se você planeja usar a CLI do gcloud, instale a CLI do gcloud para Bigtable.
Usar o backup automatizado
Use a CLI gcloud ou o console do Google Cloud para ativar backup automatizado. As etapas para excluir, atualizar copiar e restaurar um backup são iguais independentemente de o backup ter sido criado manualmente ou como resultado de um backup automatizado.
Por padrão, os backups criados automaticamente expiram após três dias. Você pode estender a data de validade. Para mais informações, consulte Modificar um fazer backup.
Durante o pré-lançamento, considere os seguintes fatores se você planeja ativar backup:
- Se um cluster for adicionado a uma instância que contém uma tabela com registros estiver ativado, os backups diários não serão criados no cluster adicionado. Para criar backups diários em todos os clusters, incluindo o cluster recém-adicionado, desative backup automatizado da tabela e, em seguida, reativar o backup automatizado.
- Se uma tabela com backup automatizado ativado for excluída e subsequentemente exclusão, será necessário reativar o backup automatizado no tabela.
- Restaurar o backup automatizado de uma tabela não ativa automaticamente backup automatizado na tabela restaurada. Você precisa ativar manualmente as métricas backup.
Ativar backup automático
É possível ativar o backup automático usando o console ou a Google Cloud CLI. Quando o backup automatizado está ativado, o Bigtable cria um backup da tabela todos os dias em cada cluster na instância;
Os backups criados como parte do backup automatizado recebem IDs que começam
com auto
. Por exemplo, uma tabela com um ID my-table
teria uma
ID de backup automatizado, como auto.my-table.c7x3.20230220-145537
, em que my-table
é o ID de tabela truncado, c7x3
é o ID de hash exclusivo e 20230220-145537
é a data e a hora no formato UTC.
Para criar uma nova tabela com o backup automatizado ativado, consulte Criar e gerenciar tabelas.
Console
Abra a lista de instâncias do Bigtable no Console do Google Cloud.
Clique na instância com a tabela que você quer armazenar em backup.
Clique em Tabelas no painel esquerdo.
A página Tabelas exibe uma lista de tabelas na instância.
Na coluna Backup automático da tabela, clique em Ativar. Ela pode levar até uma hora para que o Bigtable comece a criar backups.
gcloud
Para ativar o backup automatizado de uma tabela, execute o comando gcloud bigtable instances
tables update
. Para mais informações sobre como ativar
backup automatizado ao criar uma tabela, consulte Criar uma tabela.
Depois que a política de backup automatizada for ativada para uma tabela, a pode levar até uma hora para entrar em vigor.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup
Substitua:
- TABLE_ID: ID da tabela a ser armazenada em backup.
- INSTANCE_ID: identificador permanente da instância
Se você não souber o ID da instância, use o comando
bigtable instances list
para ver uma lista das instâncias do projeto:gcloud bigtable instances list
Veja a lista de tabelas para confirmar o ID da tabela que você quer fazer backup.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Desativar o backup automático
Depois que a política de backup automatizado for desativada para uma tabela, a versão atualizada pode levar até uma hora para entrar em vigor. Backups criados antes da alteração da política são mantidas até que expirem, a menos que você exclua para resolvê-los com rapidez.
Console
Abra a lista de instâncias do Bigtable no Console do Google Cloud.
Clique na instância que contém a tabela que você quer desativar para o backup.
Clique em Tables.
A página Tabelas exibe uma lista de tabelas na instância.
Na linha da tabela em que você quer desativar o backup automático, clique em
Editar.Desmarque a caixa de seleção Ativar o backup automatizado.
Clique em Salvar.
gcloud
Para desativar o backup automatizado de uma tabela, execute o comando gcloud bigtable
instances tables update
.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup
Substitua:
- TABLE_ID: ID da tabela.
- INSTANCE_ID: identificador permanente da instância
Conferir a política de backup automatizada
Para ver a política de backup automatizada de uma tabela, execute o comando gcloud bigtable
instances tables describe
.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Substitua:
- TABLE_ID: ID da tabela.
- INSTANCE_ID: identificador permanente da instância
A saída será assim:
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'
Observe o seguinte:
- O campo
automatedBackupPolicy
está ausente quando o backup automatizado não está ativado para uma tabela. - O
retentionPeriod
indica o período de armazenamento dos dados e backups criados. O período de armazenamento de um backup pode ser modificado até 90 dias a partir do horário de criação do backup. Para atualizar o período de armazenamento de backup, consulte Modificar um backup.
Criar backup
É possível criar um backup de uma tabela manualmente usando a Google Cloud CLI ou console do Bigtable ou usando um dos consoles bibliotecas. Você também pode ativar o backup automatizado para: o Bigtable pode criar um backup diário para você.
Console
Acesse a página Instâncias do Bigtable no console do Google Cloud.
Clique na instância que contém a tabela com que você quer fazer backup.
No painel de navegação à esquerda, clique em Tabelas.
Clique em Criar backup para a tabela que você quer armazenar em backup.
Se você estiver usando replicação, use o menu suspenso para escolher o cluster ID do cluster que armazenará o backup. Se você clicou em Criar backup ao lado de um código de cluster em vez de um código de instância na página Tabelas, o cluster será pré-selecionado.
Insira um ID exclusivo para o backup.
Defina a data de validade.
Clique em Criar.
O console exibe a página de Backups filtrados para mostrar o backup e os detalhes dele
Clique em Atividade para visualizar o status do backup.
A coluna de status exibe Backup concluído quando o backup é concluído.
gcloud
Para todos os comandos, substitua os valores reais pelos seguintes itens:
- INSTANCE_ID: identificador permanente da instância
- CLUSTER_ID: identificador permanente do cluster.
- TABLE_ID: o ID da tabela a ser armazenada em backup.
- BACKUP_ID: o ID que você atribui ao backup.
EXPIRATION_DATE: uma data com 90 dias ou menos no futuro, formatada como um carimbo de data/hora UTC "Zulu", precisamente medido em nanossegundos.
Exemplo:
2022-10-02T15:01:23.045123456Z
RETENTION_PERIOD: um período de até 90 dias, expresso como um número com uma unidade de
m
,h
oud
(minutos, horas ou dias).Exemplos:
36h
ou89d
.
Se você não souber o ID da instância, use o comando
bigtable instances list
para ver uma lista das instâncias do projeto:gcloud bigtable instances list
Veja a lista de backups da instância que contém a tabela que você quer armazenar em backup para escolher um ID de backup que ainda não esteja em uso no cluster pretendido.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Veja a lista de tabelas para confirmar o ID da tabela que você quer fazer backup.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Execute o gcloud bigtable instances backups create para criar um backup da tabela, informando uma data de validade ou um período de armazenamento de até 90 dias.
gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ --table=TABLE_ID \ --async / --expiration-date=EXPIRATION_DATE \ --retention-period=RETENTION_PERIOD
A sinalização
--async
é opcional. Use-o se quiser que o terminal retorne o ID da operação antes que a operação seja concluída. Isso é útil se você quiser verificar o status da operação.Veja a lista de backups para ver se o backup foi criado.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Se o backup não estiver listado, verifique o status da operação.
O status
Ready
indica que o backup foi concluído.
Restaurar a partir de um backup
Console
Não é possível restaurar para um projeto diferente usando o console do Google Cloud. Se precisar, use a CLI gcloud.
Acesse a página Instâncias do Bigtable no console do Google Cloud.
Clique na instância que contém o backup que você quer restaurar.
No painel de navegação à esquerda, clique em Backups.
Clique em Restaurar no backup que você quer executar essa tarefa.
Selecione a instância que quer restaurar.
As instâncias que não têm armazenamento suficiente para a nova tabela são: indisponível. Se você não tiver permissão para criar uma tabela em uma a instância ficará indisponível. Passe o mouse sobre o ícone
para ver mais informações.Se você restaurar a partir de um backup protegido por CMEK, a instância de destino também precisará ser protegida por CMEK.
Não é possível restaurar para um projeto diferente usando o console do Google Cloud. Se necessário, use a CLI gcloud.
Insira um ID exclusivo para a tabela que será criada a partir do backup. Não é possível alterar esse ID mais tarde.
Clique em Restaurar.
O console exibe a página Tabelas filtrada para mostrar a nova tabela.
O console exibe o status de restauração de cada cluster. Quando a coluna de status de todos os clusters mostrar Ready, a tabela foi restaurada e replicada para todos os clusters da instância.
gcloud
Para todos os comandos, substitua os valores reais pelos seguintes itens:
- PROJECT_ID_SOURCE: o ID do projeto que contém o backup a ser restaurado.
- INSTANCE_ID_SOURCE: o ID permanente da instância de origem.
- PROJECT_ID_DESTINATION: o ID do projeto em que você quer restaurar. Essa sinalização é opcional. Se você não especificar essa opção, o backup será restaurado para uma nova tabela na mesma instância em que foi criado.
- INSTANCE_ID_DESTINATION: identificador permanente da instância de destino.
- CLUSTER_ID: identificador permanente do cluster.
- BACKUP_ID: o ID do backup que você quer restaurar.
- TABLE_ID_NEW: o ID da nova tabela.
Se você não souber o ID da instância, use o comando
bigtable instances list
para ver uma lista das instâncias do projeto:gcloud bigtable instances list
Veja a lista de backups da instância que contém o backup para verificar se ele existe.
gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \ --cluster=CLUSTER_ID_SOURCE
Veja a lista de tabelas na instância de destino para poder escolher um ID para a nova tabela que ainda não está em uso.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
Execute o comando gcloud bigtable instances instances resume para restaurar o backup em uma nova tabela.
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
A sinalização
--async
é opcional. Use-o se quiser que o terminal retorne o ID da operação antes que a operação seja concluída. Isso é útil se você quiser verificar o status da operação.Veja a lista de tabelas para ver se a tabela foi criada.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
Se o backup não estiver listado, verifique o status da operação.
Criar uma cópia de um backup
Console
Não é possível criar uma cópia de um backup em um projeto diferente usando o console. Se precisar, use a CLI gcloud.
Acesse a página Instâncias do Bigtable no console do Google Cloud.
Clique na instância que contém o backup que você quer copiar.
No painel de navegação à esquerda, clique em Backups.
No backup que você quer copiar, expanda o menu "Mais" ao lado da palavra Restaurar e clique em Copiar.
Clique em Copiar no backup que você quer copiar.
Se o backup for uma cópia de outro, Copiar não estará disponível.
Selecione a instância de destino.
Não é possível criar uma cópia de um backup em um projeto diferente usando o console. Se precisar, use a CLI gcloud.
As instâncias que não têm armazenamento suficiente para a cópia de backup são: indisponível. Se você não tiver permissão para criar um backup em um a instância ficará indisponível. Mantenha o ponteiro do mouse Ícone de
para mais informações.Se você restaurar a partir de um backup protegido por CMEK, a instância de destino também precisará ser protegida por CMEK.
Selecione o cluster de destino.
Como qualquer backup, uma cópia de backup é armazenada em apenas um cluster em uma instância, mesmo que ela use replicação.
Insira um ID exclusivo para a cópia que será criada a partir do backup. Não é possível alterar esse ID mais tarde.
Defina um prazo de validade para a cópia de backup, fornecendo um valor para Hora e selecionando uma Unidade no menu suspenso.
Clique em Copiar.
Para ver a cópia, clique em Ver cópia.
O console exibe a página Backups da instância de destino, filtrada para a cópia de backup recém-criada. Quando a coluna de status exibe Pronto, a cópia está completa e pronta para outras operações.
gcloud
Para todos os comandos, substitua os valores reais pelos seguintes itens:
- PROJECT_ID_SOURCE: o projeto que contém o backup a ser copiado.
- INSTANCE_ID_SOURCE: o ID permanente da instância de origem.
- CLUSTER_ID_SOURCE: o ID do cluster em que o backup de origem está armazenado.
- BACKUP_ID_SOURCE: o ID do backup a ser copiado.
- PROJECT_ID_DESTINATION: o projeto em que você quer colocar a cópia.
- INSTANCE_ID_DESTINATION: identificador permanente da instância de destino.
- CLUSTER_ID_DESTINATION: o ID do cluster na instância de destino em que a cópia será armazenada.
- BACKUP_ID_DESTINATION: o ID que você atribui à cópia do backup.
- RETENTION_PERIOD: o time to live (TTL) da cópia de backup, expresso como uma
número e uma unidade (d ou h). Por exemplo,
5d
para cinco dias ou15h
por 15 horas. Use essa data ou uma data de validade. - EXPIRATION_DATE: a data e a hora de expiração da cópia de backup.
formatado como
2022-09-01T10:00:00.0Z
.
Se você não souber o ID da instância, use o comando
bigtable instances list
para ver uma lista das instâncias do projeto:gcloud bigtable instances list
Veja a lista de backups da instância de origem que contém o backup para verificar se o backup que você quer copiar existe.
gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \ --cluster=CLUSTER_ID_SOURCE
Veja a lista de backups na instância de destino para escolher um ID para a cópia que ainda não esteja em uso.
gcloud bigtable backups list --instances=DESTINATION_INSTANCE
Execute o gcloud bigtable instances backups copy para criar a cópia de 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 \
Anexe o comando com uma das seguintes opções:
--retention-period
`=RETENTION_PERIOD: período de armazenamento da cópia de backup. Precisa ser pelo menos 6 horas e no máximo 30 dias a partir do momento em que o backup de origem foi criado.--expiration-date
`=EXPIRATION_DATE: expiração da cópia de backup. Precisa ser pelo menos 6 horas e no máximo 30 dias a partir do momento em que o backup de origem foi criado.
Se quiser, adicione
--async
ao comando. Use-o se quiser que o terminal retorne o ID da operação antes que a operação seja concluída. Isso é útil se você quiser verificar o status da operação.Se uma mensagem de tempo limite for retornada, isso significa que o backup foi bem-sucedido e que a cópia pode ter sido criada.
Veja a lista de backups para ver se a cópia foi criada.
gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
Se o backup não estiver listado, verifique o status da operação.
Em casos raros de falha na operação de cópia do backup devido a limitações de capacidade, tente novamente com um cluster de destino diferente. Se essa operação também falhar, entre em contato com o Suporte.
Verificar o status de uma operação
Console
Acesse a página Instâncias do Bigtable no console do Google Cloud.
Clique na instância que contém o backup.
No painel de navegação à esquerda, clique em Backups.
Na página Backups, clique em Atividade. A coluna de status exibe o status atual de cada operação.
Os status da operação ao restaurar uma tabela incluem:
- Esperando para copiar
- Restaurando backup
- Inicializando
- Pronto: otimizando
- Pronto
Os status das operações ao criar um backup incluem:
- Criando backup
- Backup concluído
Os status das operações ao copiar um backup incluem:
- Copiando backup
- Backup copiado
gcloud
Para verificar o status de uma operação de backup ou restauração, você precisa do código exclusivo da operação. Veja a seguir um exemplo de ID de operação:
`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`
Depois de executar um comando para criar um backup ou restaurar para uma nova tabela usando a opção --async
, o terminal exibirá o código da operação.
Copie o ID da operação.
Execute o gcloud bigtable operations describe , substituindo o valor copiado
OPERATION_ID
gcloud bigtable operations describe OPERATION_ID
Exemplo:
gcloud bigtable operations describe \ instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
É possível executar esse comando em poucos momentos até que o valor de
DONE
sejaTRUE
.
Se você não souber o ID da operação porque não executou o comando ou está em uma janela de terminal diferente, poderá ver uma lista de operações da instância e determinar qual operação quer verificar.
Veja uma lista de atividades de operação recentes da instância que contém a tabela que você está fazendo backup ou restaurando, substituindo o ID da instância por
INSTANCE_ID
:gcloud bigtable operations list --instance=INSTANCE_ID
O terminal exibe uma lista de operações nas colunas
NAME
,START_TIME
,END_TIME
eDONE
. O valor na colunaNAME
é o ID da operação.Começando com o primeiro item da lista, copie o ID da operação.
Use gcloud bigtable operations describe para visualizar os metadados da operação.
gcloud bigtable operations describe OPERATION_ID
Exemplo:
gcloud bigtable operations describe \ instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
Se os metadados de uma operação exibirem um valor para
backupInfo
, você encontrará a operação correta, e será possível repetir esse comando normalmente até o valor deDONE
éTRUE
.Se os metadados não mostrarem um valor para
backupInfo
, confira o próximo na lista de operações exibidas na Etapa 1.
Modificar um backup ou uma cópia de backup
Console
O console do Google Cloud não permite que você modifique um backup, incluindo as cópias.
gcloud
A CLI gcloud permite modificar a data de validade ou o período de um backup ou cópia de backup.
Para todos os comandos, substitua os valores reais pelos seguintes itens:
- INSTANCE_ID: identificador permanente da instância
- CLUSTER_ID: identificador permanente do cluster.
- BACKUP_ID: o ID exclusivo de um backup.
EXPIRATION_DATE: uma data com 90 dias ou menos no futuro, formatada como um carimbo de data/hora UTC "Zulu", precisamente medida em nanossegundos.
Exemplo:
2019-10-02T15:01:23.045123456Z
RETENTION_PERIOD: um período de até 90 dias, expresso como uma número com uma unidade de
m
,h
oud
(minutos, horas ou dias)._Examples_: `36h` or `89d`
Veja uma lista de backups:
gcloud bigtable backups list --instance=INSTANCE_ID
No terminal, é exibida uma lista de backups.
Anote os IDs de backup e de cluster para o backup que você precisa atualizar.
Execute o gcloud bigtable instances backups update para adicionar uma nova data de validade ou um novo período de armazenamento.
gcloud bigtable backups update BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ --expiration-date=EXPIRATION_DATE \ --retention-period=RETENTION_PERIOD
Execute o gcloud bigtable instances backups describe para verificar se a expiração foi atualizada.
gcloud bigtable backups describe BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID ```
Excluir um backup
Se você quiser excluir um backup depois de criar uma cópia dele, verifique o status para confirmar se a operação de cópia foi concluída.
Console
Acesse a página Instâncias do Bigtable no console do Google Cloud.
Clique na instância que contém o backup.
No painel de navegação à esquerda, clique em Backups.
Para o backup que você precisa excluir, expanda o menu "Mais" ao lado da palavra Restaurar e clique em Excluir.
Digite o ID do backup no campo Confirmar exclusão e clique em Excluir.
gcloud
Veja uma lista de backups, substituindo o ID da instância por
INSTANCE_ID
:gcloud bigtable backups list --instance=INSTANCE_ID
No terminal, é exibida uma lista de backups.
Anote o ID de backup e o ID do cluster em que ele está armazenado.
Execute o comando gcloud bigtable instances backups delete, substituindo o ID de backup que você anotou em
BACKUP_ID
e o ID do cluster deCLUSTER_ID
.gcloud bigtable backups delete BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
A seguir
- Leia mais sobre backups.
- Saiba como importar e exportar dados do Bigtable.