Gerenciar backups

Nesta página, descrevemos as operações de backup do Bigtable e explicamos como fazer backup de uma tabela e restaurá-la em 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, independentemente de o backup ter sido criado manualmente ou como resultado de backup automatizado.

Durante a visualização, considere o seguinte caso você pretenda ativar o backup automatizado:

  • Se um cluster for adicionado a uma instância que contém uma tabela com backup automático 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 o backup automatizado da tabela e, em seguida, reative o backup automatizado.
  • Se uma tabela com o backup automatizado ativado for excluída e depois cancelar a exclusão, será necessário reativar o backup automatizado na tabela recuperada.
  • A restauração de um backup automatizado de uma tabela não ativa automaticamente o backup automatizado na tabela restaurada. Você precisa ativar manualmente o backup automatizado.

Ativar backup automático

Para ativar o backup automatizado de 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 for ativada para uma tabela, a configuração atualizada poderá 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 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 o 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 para 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

Ver 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 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 está 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 para até 90 dias a partir do horário 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 replicação, use o menu suspenso para escolher o 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.

  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 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 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 têm armazenamento suficiente para a nova tabela ficam indisponíveis. Se você não tiver permissão para criar uma tabela em uma instância, ela 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.

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

  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 ficará indisponí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 que você atribui à cópia do backup.
  • RETENTION_PERIOD: o time to live (TTL) da cópia de backup, expresso como um número e uma unidade (d ou h). Os exemplos incluem 5d para cinco dias ou 15h para 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, formatados 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 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. 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.

  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 comando gcloud bigtable operations describe, substituindo OPERATION_ID pelo valor copiado.

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

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

  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 anotado por BACKUP_ID e o ID do cluster por CLUSTER_ID.

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

A seguir