As cópias de segurança permitem-lhe configurar agendamentos de cópias de segurança para fazer cópias de segurança diárias ou semanais da base de dados especificada. Em seguida, pode usar estas cópias de segurança para restaurar dados numa nova base de dados.
Acerca das cópias de segurança
Uma cópia de segurança é uma cópia consistente da base de dados num determinado momento. A cópia de segurança contém todos os dados e configurações de índice nesse momento.
Uma cópia de segurança não contém políticas de tempo de vida da base de dados. Uma cópia de segurança reside na mesma localização que a base de dados de origem.As cópias de segurança têm um período de retenção configurável e são armazenadas até o período de retenção expirar ou até eliminar a cópia de segurança. A eliminação da base de dados de origem não elimina automaticamente as cópias de segurança relacionadas.
O Firestore armazena metadados relacionados com cópias de segurança e agendamentos de cópias de segurança relacionados com uma base de dados. O Firestore retém estes metadados até que todas as cópias de segurança da base de dados expirem ou sejam eliminadas.
A criação ou a retenção de cópias de segurança não afeta o desempenho das leituras nem das escritas na sua base de dados em direto.
Custos
Quando usa cópias de segurança, são-lhe cobrados os seguintes itens:
- A quantidade de armazenamento usado por cada cópia de segurança.
- Para uma operação de restauro, a cobrança é feita com base no tamanho da cópia de segurança.
Para mais detalhes e tarifas exatas, consulte a página Preços.
Antes de começar
Certifique-se de que a faturação está ativada para o seu Google Cloud projeto. Saiba como verificar se a faturação está ativada num projeto.Funções necessárias
Para receber as autorizações de que precisa para gerir cópias de segurança e agendamentos de cópias de segurança, peça ao seu administrador que lhe conceda um ou mais dos seguintes papéis de gestão de identidades e acessos:
roles/datastore.owner: acesso total à base de dados do Firestoreroles/datastore.backupsAdmin: acesso de leitura e escrita a cópias de segurançaroles/datastore.backupsViewer: acesso de leitura às cópias de segurançaroles/datastore.backupSchedulesAdmin: acesso de leitura e escrita a agendamentos de cópias de segurançaroles/datastore.backupSchedulesViewer: acesso de leitura aos agendamentos de cópias de segurançaroles/datastore.restoreAdmin: autorizações para iniciar operações de restauro
Crie e faça a gestão de agendamentos de cópias de segurança
Os exemplos seguintes demonstram como configurar um agendamento de cópia de segurança. Para cada base de dados, pode configurar até um agendamento de cópia de segurança diário e até um agendamento de cópia de segurança semanal. Não pode configurar vários agendamentos de cópias de segurança semanais para diferentes dias da semana.
Não pode configurar a hora exata do dia da cópia de segurança. As cópias de segurança são feitas a horas diferentes todos os dias. Para programações de cópias de segurança semanais, pode configurar o dia da semana para fazer uma cópia de segurança.
Crie um horário de cópia de segurança
Use uma das seguintes ferramentas para criar um horário de cópia de segurança.
Crie um horário de cópia de segurança diário
Google Cloud consola
Na Google Cloud consola, aceda à página Bases de dados.
- Na lista de bases de dados, localize a linha da base de dados. Na coluna Cópias de segurança agendadas, clique em Ver cópias de segurança ou Editar definições, consoante exista ou não um agendamento de cópia de segurança.
- Clique em Editar para editar as definições de recuperação de desastres.
- Selecione a caixa de verificação Diariamente, defina o período de retenção e, de seguida, clique em Guardar.
gcloud
Para criar um horário de cópia de segurança para uma base de dados, use o comandogcloud firestore backups schedules create.
Para criar um horário de cópia de segurança diário, defina a flag --recurrence como daily:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=daily \ --retention=RETENTION_PERIOD
Substitua o seguinte:
- DATABASE_ID: o ID da base de dados para fazer uma cópia de segurança. Definido como
'(default)'para a base de dados predefinida. - RETENTION_PERIOD: defina esta opção para um valor até 14 semanas (
14w).
Terraform
Para criar uma programação de cópias de segurança diárias, crie um recursogoogle_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Substitua o seguinte:
- PROJECT_ID: o ID do projeto.
- DATABASE_ID: o ID da base de dados para fazer uma cópia de segurança. Definido como
'(default)'para a base de dados predefinida.
Também pode usar uma referência de recurso para um recurso do Terraform do tipo - RETENTION_PERIOD_SECONDS: defina isto para um valor em segundos, seguido de "s". O valor máximo é de
8467200s(14 semanas).
google_firestore_database.
Crie um horário de cópias de segurança semanal
Google Cloud consola
Na Google Cloud consola, aceda à página Bases de dados.
- Na lista de bases de dados, encontre a linha da base de dados. Na coluna Cópias de segurança agendadas, clique em Ver cópias de segurança ou Editar definições, consoante exista ou não um agendamento de cópia de segurança.
- Clique em Editar para editar as definições de recuperação de desastres.
- Selecione a caixa de verificação Semanal, selecione um dia de cópia de segurança, defina o período de retenção e, de seguida, clique em Guardar.
gcloud
Para criar um horário de cópia de segurança semanal, defina a flag--recurrence como weekly:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=weekly \ --retention=RETENTION_PERIOD \ --day-of-week=DAY
- DATABASE_ID: o ID da base de dados para fazer uma cópia de segurança. Definido como
'(default)'para a base de dados predefinida. - RETENTION_PERIOD: defina esta opção para um valor até 14 semanas (
14w). - DAY: o dia da semana em que deve ser feita a cópia de segurança. Defina uma das seguintes opções:
SUNpara domingoMONpara segunda-feiraTUEpara terça-feiraWEDpara quarta-feiraTHUpara quinta-feiraFRIpara sexta-feiraSATpara sábado
Terraform
Para criar um horário de cópia de segurança semanal, crie umgoogle_firestore_backup_schedule recurso.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Substitua o seguinte:
- PROJECT_ID: o ID do projeto.
- DATABASE_ID: o ID da base de dados para fazer uma cópia de segurança. Definido como
'(default)'para a base de dados predefinida.
Também pode usar uma referência de recurso para um recurso do Terraform do tipo - RETENTION_PERIOD_SECONDS: defina este valor em segundos, seguido de "s". O valor máximo é de
8467200s(14 semanas). - DAY: o dia da semana em que deve ser feita a cópia de segurança. Defina uma das seguintes opções:
SUNDAYpara domingoMONDAYpara segunda-feira
google_firestore_database.