Fazer backups entre projetos


Nesta página, descrevemos como realizar um backup entre projetos no Google Kubernetes Engine (GKE) usando o serviço Backup para GKE.

Visão geral

Com os backups entre projetos, é possível desacoplar o ciclo de vida do projeto de backup do projeto de cluster. É possível ter acesso a backups controlados separadamente em um projeto diferente do projeto de cluster.

Limitações

Não é possível migrar planos de backup atuais para fazer backups entre projetos.

Preços

Para mais detalhes sobre preços, consulte Preços de backups e restaurações entre projetos.

Antes de começar

  1. Antes de começar, veja se você realizou as seguintes tarefas:

    • Ative a API Google Kubernetes Engine.
    • Ativar a API Google Kubernetes Engine
    • Se você quiser usar a CLI do Google Cloud para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a gcloud CLI anteriormente, instale a versão mais recente executando gcloud components update.
  2. Ative a API Backup para GKE no projeto que contém o cluster que você quer fazer backup e no projeto em que você quer armazenar o backup. Para mais informações, consulte Ativar a Backup para GKE GKE.

  3. Ative o complemento Backup para GKE no cluster que você quer fazer backup. Para mais informações, consulte Ativar o Backup para GKE para um cluster.

Funções exigidas

Para ter as permissões necessárias para criar e gerenciar um backup entre projetos, peça ao administrador para conceder a você o papel do IAM de Administrador de backup do Backup para GKE (roles/gkebackup.backupAdmin), que é um subconjunto do papel do IAM de Administrador do Backup para GKE (roles/gkebackup.admin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Configurar contas de serviço

Se necessário, crie contas de serviço por projeto para realizar operações nos seus projetos.

Usando a Google Cloud CLI, execute os comandos a seguir para configurar uma conta de serviço:

  1. Execute o comando gcloud beta services identity create para criar uma conta de serviço:

      gcloud beta services identity create \
        --service=gkebackup.googleapis.com \
        --project=CLUSTER_PROJECT_ID
      gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \
        --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
        --role=roles/gkebackup.serviceAgent \
    
      gcloud beta services identity create \
        --service=gkebackup.googleapis.com \
        --project=BACKUP_PROJECT_ID
      gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \
        --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
        --role=roles/gkebackup.serviceAgent
    

    Substitua:

    • CLUSTER_PROJECT_ID: o nome alfanumérico do projeto Google Cloud que você quer criar. Por exemplo, cluster-project-id.

    • CLUSTER_PROJECT_NUMBER: o identificador numérico exclusivo do projeto Google Cloud . Por exemplo, 123456789012.

    • BACKUP_PROJECT_ID: o nome alfanumérico do projeto Google Cloud em que o backup será armazenado. Por exemplo, backup-project-id.

    • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto em que o backup será armazenado. Por exemplo, 123456789012.

  2. Permita que a conta de serviço do projeto de backup faça backups no projeto do cluster executando o comando gcloud projects add-iam-policy-binding:

      gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \
       --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
       --role=roles/gkebackup.serviceAgent
    

    Substitua:

    • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud . Por exemplo, cluster-project-id.

    • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto em que o backup será armazenado. Por exemplo, 123456789012.

  3. Permita que o agente do projeto de cluster acesse gkebackup.googleapis.com no projeto de backup executando o comando gcloud projects add-iam-policy-binding:

      gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \
       --member serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com \
       --role "roles/gkebackup.crossProjectServiceAgent"
    

    Substitua:

    • BACKUP_PROJECT_ID: o nome alfanumérico do projeto Google Cloud em que o backup será armazenado. Por exemplo, backup-project-id.

    • CLUSTER_PROJECT_NUMBER: o identificador numérico exclusivo do projeto Google Cloud . Por exemplo, 123456789012.

Criar um canal de backup

Depois de configurar as contas de serviço, crie um canal de backup no mesmo projeto e região do cluster que você quer fazer backup. Depois de criar um canal de backup, é possível fazer backup dos clusters no projeto e na região para o projeto de destino.

gcloud

Para criar um canal de backup, execute o comando gcloud beta container backup-restore backup-channels create usando a Google Cloud CLI:

gcloud beta container backup-restore backup-channels create BACKUP_CHANNEL_NAME \
 --project=CLUSTER_PROJECT_ID \
 --location=CLUSTER_LOCATION \
 --destination-project=projects/BACKUP_PROJECT_NUMBER

Substitua:

  • BACKUP_CHANNEL_NAME: o nome do canal de backup que você quer criar. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo, cluster-project-id.

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

  • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto em que o backup será armazenado.

Console

Para criar um canal de backup no console Google Cloud , siga estas instruções:

  1. No console do Google Cloud , acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Clique na guia Canais de backup.

  4. Na guia Canais de backup, clique em Criar um canal de backup.

  5. No campo Projeto do cluster, verifique se você selecionou o projeto correto.

  6. No menu Região, selecione a região em que seus clusters estão localizados.

  7. No campo Projeto de backup, selecione o projeto em que você quer permitir backups.

  8. No campo Nome do canal de backup, insira um nome para o canal de backup.

  9. Opcional: no campo Descrição do canal de backup, insira uma breve descrição para o canal de backup.

  10. Clique em Próxima.

  11. Valide as permissões da conta de serviço nos projetos de cluster e backup.

  12. Clique em Criar.

Criar um plano de backup

Depois de criar um canal de backup, crie o plano de backup. Se o cluster que está sendo armazenado em backup estiver em um projeto diferente, o plano de backup será vinculado automaticamente a um canal de backup existente. O campo backup_channel no plano de backup mostra o canal a que ele está vinculado.

Antes de começar

Antes de criar um plano de backup, consulte Planejar um conjunto de backups.

Criar um plano de backup

Para criar um plano de backup no projeto de backup usando o console Google Cloud , siga estas instruções:

  1. No console do Google Cloud , acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Abra o projeto de backup em que você quer criar o plano.

  4. Clique em Criar um plano de backup.

  5. Marque a caixa de seleção Configurar backups entre projetos.

  6. No campo Projeto do cluster, escolha o projeto que contém o cluster de origem.

  7. No menu Cluster, selecione a região do cluster.

  8. No campo Nome do plano de backup, insira um nome para o plano.

  9. No campo Projeto de backup, insira o nome do projeto em que você quer armazenar os backups.

  10. No campo Região, insira o local em que os backups serão armazenados. Se nenhum canal de backup for encontrado, clique em Criar canal de backup, siga as instruções para criar um canal de backup e clique em Criar.

  11. Clique em Ver detalhes do canal de backup.

  12. Clique em Validar permissões.

  13. Conclua as etapas restantes conforme descrito em Criar um plano de backup.

  14. Clique em Criar plano.

Ver um canal de backup

Siga as instruções nas seções abaixo para ver os canais de backup.

Ver todos os canais de backup em um projeto e uma região

gcloud

Para conferir todos os canais de backup em um projeto e uma região, execute o comando gcloud beta container backup-restore backup-channels list usando a Google Cloud CLI:

  gcloud beta container backup-restore backup-channels list \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Substitua:

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo, cluster-project-id.

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

Console

Para conferir todos os canais de backup em um projeto e uma região no consoleGoogle Cloud , siga estas instruções:

  1. No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Clique na guia Canais de backup.

  4. Use o menu de projeto e região para filtrar a lista de canais de backup.

A lista filtrada mostra todos os canais de backup no projeto e na região selecionados.

Conferir detalhes de um canal de backup

gcloud

Para conferir os detalhes de um canal de backup, execute o comando gcloud beta container backup-restore backup-channels describe usando a Google Cloud CLI:

  gcloud beta container backup-restore backup-channels describe BACKUP_CHANNEL_NAME \
  --project=CLUSTER_PROJECT_ID \
  --location=CLUSTER_LOCATION

Substitua:

  • BACKUP_CHANNEL_NAME: o nome do canal de backup que você quer ver. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo, cluster-project-id.

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

Console

Para conferir os detalhes de um canal de backup no console Google Cloud , siga estas instruções:

  1. No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Clique na guia Canais de backup.

  4. Use o menu de projeto e região para filtrar a lista de canais de backup.

  5. Clique no nome do canal de backup que você quer visualizar. Uma página com os detalhes desse canal de backup será aberta.

Conferir os planos de backup vinculados a um canal de backup

Para conferir os planos de backup vinculados a um canal de backup, execute o comando gcloud beta container backup-restore backup-plan-bindings list usando a Google Cloud CLI:

   gcloud beta container backup-restore backup-plan-bindings list \
    --backup-channel=BACKUP_CHANNEL_NAME \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Substitua:

  • BACKUP_CHANNEL_NAME: o nome do canal de backup que você quer visualizar. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto Google Cloud em que o cluster está localizado. Exemplo: cluster-project-id

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

Gerenciar canais de backup

As seções a seguir descrevem como gerenciar canais de backup depois de criá-los.

Atualizar um canal de backup

Use as instruções a seguir para atualizar um canal de backup. Só é possível modificar a descrição de um canal de backup. Todos os outros campos não podem ser modificados.

gcloud

Para atualizar a descrição de um canal de backup, execute o comando gcloud beta container backup-restore backup-channels update usando a Google Cloud CLI:

gcloud beta container backup-restore backup-channels update BACKUP_CHANNEL_NAME \
  --project=CLUSTER_PROJECT_ID \
  --location=CLUSTER_LOCATION \
  --description=DESCRIPTION

Substitua:

  • BACKUP_CHANNEL_NAME: o nome do canal de backup que você quer atualizar. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo, cluster-project-id.

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

  • DESCRIPTION: a descrição que você quer atualizar.

Console

Para atualizar um canal de backup no console Google Cloud , siga estas instruções:

  1. No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Clique na guia Canais de backup.

  4. Na página Canais de backup, clique no canal que você quer atualizar. Só é possível atualizar a descrição de um canal de backup existente. Todos os outros campos não podem ser modificados.

    A página Detalhes do canal de backup é exibida.

  5. Clique em Validar permissões.

  6. Na seção Detalhes do canal de backup, clique no ícone Editar descrição.

    A caixa de diálogo Editar descrição é exibida.

  7. No campo Descrição, insira a descrição atualizada e clique em Salvar alterações.

Excluir um canal de backup

Só é possível excluir um canal de backup se ele não tiver planos de backup ativos. Se houver planos de backup ativos vinculados a ele, primeiro desative ou exclua esses planos antes de excluir o canal de backup.

gcloud

Para excluir um canal de backup, execute o comando gcloud beta container backup-restore backup-channels delete usando a Google Cloud CLI:

  gcloud beta container backup-restore backup-channels delete BACKUP_CHANNEL_NAME \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Substitua:

  • BACKUP_CHANNEL_NAME: o nome do canal de backup que você quer excluir. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo, cluster-project-id.

  • CLUSTER_LOCATION: a região em que o cluster está localizado. Por exemplo, us-central1.

Console

Para excluir um canal de backup no console Google Cloud , use as instruções a seguir:

  1. No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. No menu Gerenciamento de recursos, clique em Backup para GKE.

  3. Clique na guia Canais de backup.

  4. Na página Canais de backup, clique no canal que você quer excluir.

  5. Clique em Excluir canal.

    Uma caixa de diálogo vai aparecer pedindo que você confirme a exclusão do canal de backup.

  6. No campo Nome do canal de backup, insira o nome do canal de backup para confirmar a exclusão.

  7. Clique em Confirmar.

A seguir