Faça uma cópia de segurança de instâncias do Cloud SQL para um cofre de cópias de segurança

Esta página descreve como fazer uma cópia de segurança de instâncias do Cloud SQL para um cofre de cópias de segurança. O envio de cópias de segurança para um cofre de cópias de segurança oferece imutabilidade e retenção forçada.

Na Google Cloud consola, pode criar cópias de segurança de instâncias do Cloud SQL num cofre de cópias de segurança aplicando planos de cópias de segurança. Pode criar cópias de segurança de uma destas duas formas. Ambos os métodos permitem-lhe armazenar as suas cópias de segurança em segurança num cofre de cópias de segurança, o que lhe oferece uma forma fiável de recuperar as suas instâncias do Cloud SQL em caso de perda de dados ou outros eventos inesperados.

  • Cópias de segurança agendadas. Pode fazer automaticamente cópias de segurança de instâncias do Cloud SQL a intervalos específicos, como diários, semanais, mensais ou anuais.
  • Cópias de segurança a pedido. Pode criar cópias de segurança a pedido sempre que precisar. As cópias de segurança a pedido são úteis para criar cópias de segurança antes de fazer alterações significativas às suas bases de dados ou para proteção de dados ad hoc.

Antes de começar

  1. Ative a API Backup and DR Service onde as instâncias do Cloud SQL estão localizadas.
  2. Ative a API
  3. Crie um cofre de cópias de segurança
  4. Crie um plano de cópia de segurança
  5. Atribua funções e autorizações do IAM ao utilizador de cópia de segurança
  6. Conceda acesso ao cofre de cópias de segurança no projeto do Cloud SQL
  7. Configure o Log Analytics no seu contentor para monitorizar as tarefas de cópia de segurança do Backup and DR.

Funções e autorizações da IAM para o utilizador de cópia de segurança

Para receber as autorizações de que precisa para configurar cópias de segurança agendadas ou executar cópias de segurança a pedido, peça ao seu administrador para lhe conceder as seguintes funções da IAM no projeto do cofre de cópias de segurança:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para configurar cópias de segurança agendadas ou executar cópias de segurança a pedido. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para configurar cópias de segurança agendadas ou executar cópias de segurança a pedido:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForCloudSqlInstance
  • backupdr.backupPlanAssociations.fetchForCloudSqlInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForCloudSqlInstance
  • backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
  • backupdr.backupPlanAssociations.deleteForCloudSqlInstance
  • backupdr.backupPlans.useForCloudSqlInstance
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

A tabela seguinte lista as autorizações dinâmicas necessárias para cada chamada API:

Recurso Ação a executar no recurso Autorizações necessárias para cada chamada de API Projeto onde tem de ser atribuído
Cofre de cópias de segurança Create BackupVault backupdr.backupVaults.create Projeto do administrador
Elimine o BackupVault backupdr.backupVaults.delete Projeto do administrador
Atualize o BackupVault backupdr.backupVaults.update Projeto do administrador
Listar BackupVaults backupdr.backupVaults.list Projeto do administrador
Get BackupVault backupdr.backupVaults.get Projeto do administrador
Plano de segurança Crie um BackupPlan backupdr.backupPlans.create Projeto do administrador
Eliminar BackupPlan backupdr.backupPlans.delete Projeto do administrador
Get BackupPlan backupdr.backupPlans.get Projeto do administrador
Apresente planos de cópia de segurança backupdr.backupPlans.list Projeto do administrador
Associações do plano de cópia de segurança Crie uma associação de plano de cópia de segurança cloudsql.instances.updateBackupDrConfig Projeto de carga de trabalho
backupdr.backupPlanAssociations.createForCloudSqlInstance Projeto de carga de trabalho
backupdr.backupPlans.useForCloudSqlInstance Projeto do administrador
Elimine a associação do plano de cópia de segurança backupdr.backupPlanAssociations.deleteForCloudSqlInstance Projeto de carga de trabalho
cloudsql.instances.updateBackupDrConfig Projeto de carga de trabalho
Acione uma cópia de segurança a pedido na associação do plano de cópia de segurança backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance Projeto de carga de trabalho
Obtenha a associação do plano de cópia de segurança backupdr.backupPlanAssociations.getForCloudSqlInstance Projeto de carga de trabalho
Apresentar associações do plano de cópia de segurança backupdr.backupPlanAssociations.list Projeto de carga de trabalho
Obtenha associações do plano de cópia de segurança backupdr.backupPlanAssociations.fetchForCloudSqlInstance Projeto de carga de trabalho
Origem de dados Get DataSource backupdr.bvdataSources.get Projeto do administrador
List DataSources backupdr.backupPlanAssociations.list Projeto do administrador
Restauro de PiTR backupdr.bvdataSources.useReadOnlyForCloudSqlInstance Projeto do administrador
Cópias de segurança Obter cópia de segurança backupdr.bvbackups.get Projeto do administrador
Liste as cópias de segurança backupdr.bvbackups.list Projeto do administrador
Elimine a cópia de segurança backupdr.bvbackups.delete Projeto do administrador
Restaurar cópia de segurança backupdr.bvbackups.useReadOnlyForCloudSqlInstance Projeto do administrador
Referências da origem de dados Get DataSource Reference backupdr.dataSourceReferences.getForCloudSqlInstance Projeto de carga de trabalho
Obter referências de origens de dados backupdr.dataSourceReferences.fetchForCloudSqlInstance Projeto de carga de trabalho
Operações Apresentar operações backupdr.operations.list Projeto respetivo
Obter operações backupdr.operations.get Projeto respetivo

Conceda acesso ao cofre de cópias de segurança no projeto do Cloud SQL

Para fazer uma cópia de segurança de uma instância do Cloud SQL num projeto diferente daquele em que o cofre de cópias de segurança é criado, tem de conceder a função do IAM de operador do Cloud SQL do Backup and DR (roles/backupdr.cloudSqlOperator) ao agente de serviço do cofre de cópias de segurança no projeto do Cloud SQL. Se o projeto do cofre de cópias de segurança onde as cópias de segurança vão ser armazenadas for diferente do projeto do Cloud SQL, atribua a função ao agente do serviço do cofre de cópias de segurança no projeto do Cloud SQL.

Para fazer uma cópia de segurança de uma instância do Cloud SQL no mesmo projeto onde o cofre de cópias de segurança é criado, não é necessário conceder funções.

Para ver informações sobre a concessão de funções ao agente do serviço de cofre de cópias de segurança no projeto do qual pretende fazer uma cópia de segurança, consulte o artigo Conceda uma função ao agente do serviço.

Configure uma cópia de segurança agendada

Siga as instruções abaixo para configurar uma cópia de segurança agendada para instâncias do Cloud SQL.

Consola

  1. Na Google Cloud consola, aceda à página Cópias de segurança protegidas.

    Aceda às cópias de segurança protegidas

  2. Clique em Agendar cópia de segurança.

  3. Na lista Tipo de recurso, selecione Cloud SQL.

  4. Na lista Projeto, selecione um projeto onde a instância do Cloud SQL está localizada.

  5. Na lista Região, selecione a região onde as suas instâncias estão localizadas.

  6. Na lista Recursos, clique em Procurar. Escolha a instância do Cloud SQL da qual quer fazer uma cópia de segurança e clique em Concluído.

  7. Clique em Continuar.

  8. Na lista Plano alternativo, clique em Selecionar.

  9. Escolha um plano de cópia de segurança com o qual quer proteger as instâncias do Cloud SQL.

  10. Clique em Concluído.

  11. Reveja os detalhes da cópia de segurança e clique em Agendar.

gcloud

  1. Configure uma cópia de segurança agendada.

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=CSQL_REGION \
          --project=CSQL_PROJECT_ID \
          --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \
          --resource-type=sqladmin.googleapis.com/Instance \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    Substitua o seguinte:

    • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de contingência.
    • CSQL_REGION: a região onde as instâncias do Cloud SQL estão localizadas.
    • CSQL_PROJECT_ID: o nome do projeto onde as instâncias do Cloud SQL estão localizadas.
    • CSQL_INSTANCE_ID: o ID da instância do Cloud SQL.
    • PROJECT_ID: o nome do projeto onde existem planos de cópia de segurança.
    • LOCATION: a localização da instância.

Liste as instâncias para as quais estão agendadas cópias de segurança

Use as seguintes instruções para listar as instâncias do Cloud SQL para as quais são agendadas cópias de segurança.

Consola

  1. Na Google Cloud consola, aceda à página Cópias de segurança protegidas.

    Aceda às cópias de segurança protegidas

  2. Na parte superior da tabela, selecione Filtrar tabela > Tipo de recurso. Selecione Cloud SQL. Isto limita a apresentação apenas às instâncias do Cloud SQL que têm planos de cópia de segurança aplicados e as respetivas cópias de segurança armazenadas num cofre de cópias de segurança num projeto.

gcloud

Liste as instâncias do Cloud SQL para as quais estão agendadas cópias de segurança:

  gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
  --location=LOCATION \
  --project=PROJECT_ID

Substitua o seguinte:

  • LOCATION: a localização das cópias de segurança agendadas.
  • PROJECT_ID: o nome do projeto onde as instâncias do Cloud SQL estão localizadas.

Crie uma cópia de segurança a pedido

Pode iniciar uma cópia de segurança a pedido para uma instância do Cloud SQL com um plano de cópia de segurança acionando a regra de cópia de segurança à sua escolha para execução imediata. Normalmente, as cópias de segurança a pedido captam apenas os dados alterados desde a última cópia de segurança (incremental).

Quando cria uma cópia de segurança a pedido, pode escolher uma regra do plano de cópia de segurança associado à instância do Cloud SQL. Esta regra determina quando a cópia de segurança a pedido é eliminada. Pode verificar o estado da tarefa de cópia de segurança na página Tarefas. Para mais informações, consulte o artigo Monitorize tarefas de cópia de segurança e restauro na Google Cloud consola.

Use as instruções seguintes para criar uma cópia de segurança a pedido.

Consola

  1. Na Google Cloud consola, aceda à página Cópias de segurança protegidas.

    Aceda às cópias de segurança protegidas

    A página Cópias de segurança protegidas lista apenas os recursos de dados aos quais foram aplicados planos de cópia de segurança e as respetivas cópias de segurança armazenadas num cofre de cópias de segurança num projeto.

  2. Selecione o recurso do qual quer fazer uma cópia de segurança. No menu ou na página de detalhes do recurso, selecione Criar cópia de segurança a pedido.

  3. Na janela Crie uma cópia de segurança a pedido, selecione uma regra de cópia de segurança a usar e clique em Criar.

  4. Para ver o estado da tarefa de cópia de segurança a pedido, clique em Notificações.

gcloud

  1. Crie uma cópia de segurança a pedido. Inicie uma cópia de segurança a pedido através de uma associação de plano de cópia de segurança existente. Especifique um ID da regra para determinar o período de validade desta única cópia de segurança a pedido:

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    Substitua o seguinte:

    • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de cópia de segurança.

    • RULE_ID: o nome da regra de cópia de segurança que quer associar para executar cópias de segurança a pedido.

    • PROJECT_ID: o nome do projeto.

    • LOCATION: a localização das cópias de segurança agendadas.

Desproteger uma instância do Cloud SQL

Pode desproteger uma instância do Cloud SQL removendo o plano de cópia de segurança aplicado à instância. A remoção de um plano de cópia de segurança de uma instância do Cloud SQL não elimina as cópias de segurança criadas enquanto o plano de cópia de segurança estava em utilização. Continua a poder aceder e gerir estas cópias de segurança existentes até expirarem.

Use as seguintes instruções para remover a proteção de uma instância do Cloud SQL.

Consola

  1. Na Google Cloud consola, aceda à página Cópias de segurança protegidas.

    Aceda às cópias de segurança protegidas

  2. Clique no nome da base de dados da qual quer remover um plano de cópia de segurança.

  3. Selecione Remover plano de cópia de segurança.

gcloud

Desproteger uma instância do Cloud SQL.

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

Substitua o seguinte:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de apoio que quer eliminar.
  • PROJECT_ID: o nome do projeto.
  • LOCATION: a localização da cópia de segurança agendada.