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:

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 .

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-1455, em que my-table é o ID de tabela truncado, c7x3 é o ID de hash exclusivo e 20230220-1455 é o data e hora no formato UTC.

Para criar uma nova tabela com o backup automatizado ativado, consulte Criar e gerenciar tabelas.

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    Abrir a lista de instâncias

  2. Clique na instância com a tabela que você quer armazenar em backup.

  3. Clique em Tabelas no painel esquerdo.

    A página Tabelas exibe uma lista de tabelas na instância.

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

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

  1. Abra a lista de 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 que você quer desativar para o backup.

  3. Clique em Tables.

    A página Tabelas exibe uma lista de tabelas na instância.

  4. Na linha da tabela em que você quer desativar o backup automático, clique em Editar.

  5. Desmarque a caixa de seleção Ativar o backup automatizado.

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

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

  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 cluster ID do cluster que vai 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 das 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, 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.

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

  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 das 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 instancestables resume para restaurar 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 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.

  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 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 ou 15h 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.
  1. 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
    
  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 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 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 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
    
  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, 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 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 que você anotou em BACKUP_ID e o ID do cluster de CLUSTER_ID.

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

A seguir