Gerenciar backups

Nesta página, descrevemos as operações de backup do Bigtable e explicamos como fazer backup e restaurar uma tabela para uma nova tabela. Antes de ler esta página, conheça backups.

Trabalhe com backups do Bigtable usando o seguinte:

Também é possível acessar a API diretamente, mas é altamente recomendável que você faça isso apenas se precisar usar uma linguagem que não seja compatível com 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

É possível usar a CLI gcloud para ativar o backup automatizado ao criar ou atualizar uma tabela. As etapas para excluir, atualizar, copiar e restaurar um backup são as mesmas, seja o backup criado manualmente ou como resultado do backup automatizado.

Durante a prévia, considere o seguinte se você planeja ativar o backup automatizado:

  • Se um cluster for adicionado a uma instância que contenha uma tabela com backup automatizado ativado, 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 o backup automatizado da tabela e, em seguida, reative o backup automatizado.
  • Se uma tabela com o backup automatizado ativado for excluída e, consequentemente, cancelada, será necessário reativar o backup automatizado na tabela recuperada.
  • Restaurar um backup automatizado de uma tabela não ativa automaticamente o backup na tabela restaurada. Ative manualmente o backup automatizado.

Ativar backup automático

Para ativar o backup automatizado em uma tabela, execute o comando gcloud bigtable instances tables update. Para mais informações sobre como ativar o backup automatizado ao criar uma tabela, consulte Criar uma tabela.

Depois que a política de backup automatizada é ativada em uma tabela, a configuração atualizada 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
  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista de instâncias do seu projeto:

      gcloud bigtable instances list
    
  2. Veja a lista de tabelas para confirmar o ID da tabela que você quer fazer backup.

        gcloud bigtable instances tables list --instances=INSTANCE_ID
    

Os backups criados como parte do backup automatizado recebem IDs que começam com auto. Por exemplo, uma tabela com o ID my-table teria um ID de backup automatizado como auto.my-table.c7x3.20230220-1455, em que my-table é o ID da tabela truncada, c7x3 é o ID de hash exclusivo e 20230220-1455 é a data e a hora no formato UTC.

Desativar backup automático

Para desativar o backup automatizado de uma tabela, execute o comando gcloud bigtable instances tables update.

Depois que a política de backup automatizada for desativada em uma tabela, a configuração atualizada poderá levar até uma hora para entrar em vigor. Pode levar até 24 horas para que o primeiro backup seja disponibilizado.

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 visualizar 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 resposta será semelhante a:

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'

Observações:

  • O campo automatedBackupPolicy fica ausente quando o backup automatizado não está ativado para uma tabela.
  • O retentionPeriod indica o período de armazenamento dos backups criados automaticamente. É possível modificar o período de armazenamento de um backup até 90 dias a partir do momento de criação dele. Para atualizar o período de armazenamento do backup, consulte Modificar um backup.

Criar backup

Console

  1. Acesse a página Instâncias do Bigtable no console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância que contém a tabela com que você quer fazer backup.

  3. No painel de navegação à esquerda, clique em Tabelas.

  4. Clique em Criar backup para a tabela que você quer armazenar em backup.

  5. Se você estiver usando a replicação, use o menu suspenso para escolher o ID do cluster 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.

  6. Insira um ID exclusivo para o backup.

  7. Defina a data de validade.

  8. Clique em Criar.

    O console exibe a página de Backups filtrados para mostrar o backup e os detalhes dele

  9. 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 ou d (minutos, horas ou dias).

    Exemplos: 36h ou 89d.

  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. 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
    
  3. Veja a lista de tabelas para confirmar o ID da tabela que você quer fazer backup.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. Execute o comando gcloud bigtable instances backups create para criar um backup da tabela, fornecendo 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.

  5. Veja a lista de backups para ver se o backup foi criado.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. 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.

  1. Acesse a página Instâncias do Bigtable no console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância que contém o backup que você quer restaurar.

  3. No painel de navegação à esquerda, clique em Backups.

  4. Clique em Restaurar no backup que você quer executar essa tarefa.

  5. Selecione a instância que quer restaurar.

    As instâncias que não tiverem armazenamento suficiente para a nova tabela ficarão indisponíveis. Se você não tiver permissão para criar uma tabela em uma instância, ela não estará disponí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.

  6. Insira um ID exclusivo para a tabela que será criada a partir do backup. Não é possível alterar esse ID mais tarde.

  7. 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 que 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.
  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. 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
    
  3. 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
    
  4. Execute o comando gcloud bigtable instances instances recovery para fazer a restauração do 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.

  5. Veja a lista de tabelas para ver se a tabela foi criada.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  6. 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.

  1. Acesse a página Instâncias do Bigtable no console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância que contém o backup que você quer copiar.

  3. No painel de navegação à esquerda, clique em Backups.

  4. No backup que você quer copiar, expanda o menu "Mais" ao lado da palavra Restaurar e clique em Copiar.

  5. Clique em Copiar no backup que você quer copiar.

    Se o backup for uma cópia de outro, Copiar não estará disponível.

  6. 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 ficam indisponíveis. Se você não tiver permissão para criar um backup em uma instância, ela não está disponível. Mantenha o ponteiro do mouse sobre o ícone 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.

  7. 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.

  8. Insira um ID exclusivo para a cópia que será criada a partir do backup. Não é possível alterar esse ID mais tarde.

  9. Defina um prazo de validade para a cópia de backup, fornecendo um valor para Hora e selecionando uma Unidade no menu suspenso.

  10. Clique em Copiar.

  11. 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 você quer armazenar a cópia.
  • BACKUP_ID_DESTINATION: o ID atribuído à cópia do backup.
  • RETENTION_PERIOD: o tempo de vida da cópia de backup, expresso como um número e uma unidade (d ou h). Por exemplo, 5d para cinco dias ou 15h para 15 horas. Use essa data ou uma data de validade.
  • EXPIRATION_DATE: a data e a hora em que a cópia de backup expira, formatada como 2022-09-01T10:00:00.0Z.
  1. Se você não souber o ID da instância, use o comando bigtable instances list para ver uma lista de instâncias do seu projeto:

    gcloud bigtable instances list
    
  2. 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
    
  3. 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
    
  4. 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. O período precisa ser de 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. O período precisa ser de 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.

  5. Veja a lista de backups para ver se a cópia foi criada.

    gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
    
  6. 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

  1. Acesse a página Instâncias do Bigtable no console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância que contém o backup.

  3. No painel de navegação à esquerda, clique em Backups.

  4. 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.

  1. Copie o ID da operação.

  2. Execute o gcloud bigtable operations describe, substituindo o valor copiado por 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 seja TRUE.

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.

  1. 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 e DONE. O valor na coluna NAME é o ID da operação.

  2. Começando com o primeiro item da lista, copie o ID da operação.

  3. Use gcloud bigtable operations describe para visualização de 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
    
  4. 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 de DONE é TRUE.

    Se os metadados não mostrarem um valor para backupInfo, verifique a próxima operação na lista de operações exibida 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 um número com uma unidade de m, h ou d (minutos, horas ou dias).

    _Examples_: `36h` or `89d`
    
  1. Veja uma lista de backups:

        gcloud bigtable backups list --instance=INSTANCE_ID
    

    No terminal, é exibida uma lista de backups.

  2. Anote os IDs de backup e de cluster para o backup que você precisa atualizar.

  3. Execute o gcloud bigtable instances backups update para adicionar uma nova data de expiração 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
    
  4. 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

É possível excluir uma cópia ou um backup antes da expiração programada.

Console

  1. Acesse a página Instâncias do Bigtable no console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância que contém o backup.

  3. No painel de navegação à esquerda, clique em Backups.

  4. Para o backup que você precisa excluir, expanda o menu "Mais" ao lado da palavra Restaurar e clique em Excluir.

  5. Digite o ID do backup no campo Confirmar exclusão e clique em Excluir.

gcloud

  1. 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.

  2. Anote o ID de backup e o ID do cluster em que ele está armazenado.

  3. Execute o comando gcloud bigtable instances backups delete, substituindo o ID de backup que você anotou para BACKUP_ID e o ID de cluster por CLUSTER_ID.

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

A seguir