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
- Ative a API Backup and DR Service onde as instâncias do Cloud SQL estão localizadas.
- Ative a API
- Crie um cofre de cópias de segurança
- Crie um plano de cópia de segurança
- Atribua funções e autorizações do IAM ao utilizador de cópia de segurança
- Conceda acesso ao cofre de cópias de segurança no projeto do Cloud SQL
- 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:
-
Utilizador de cópia de segurança da cópia de segurança e RD (
roles/backupdr.backupUser
) -
Visitante (
roles/viewer
)
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
Na Google Cloud consola, aceda à página Cópias de segurança protegidas.
Clique em Agendar cópia de segurança.
Na lista Tipo de recurso, selecione Cloud SQL.
Na lista Projeto, selecione um projeto onde a instância do Cloud SQL está localizada.
Na lista Região, selecione a região onde as suas instâncias estão localizadas.
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.
Clique em Continuar.
Na lista Plano alternativo, clique em Selecionar.
Escolha um plano de cópia de segurança com o qual quer proteger as instâncias do Cloud SQL.
Clique em Concluído.
Reveja os detalhes da cópia de segurança e clique em Agendar.
gcloud
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
Na Google Cloud consola, aceda à página Cópias de segurança protegidas.
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
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.
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.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.
Para ver o estado da tarefa de cópia de segurança a pedido, clique em Notificações.
gcloud
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
Na Google Cloud consola, aceda à página Cópias de segurança protegidas.
Clique no nome da base de dados da qual quer remover um plano de cópia de segurança.
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.