Faça cópias de segurança entre projetos


Esta página descreve como fazer uma cópia de segurança entre projetos no Google Kubernetes Engine (GKE) através do serviço Backup for GKE.

Vista geral

As cópias de segurança entre projetos permitem-lhe desassociar o ciclo de vida do projeto de cópia de segurança do projeto de cluster. Pode obter cópias de segurança com controlo de acesso separadamente num projeto diferente do projeto do cluster.

Limitações

Não pode migrar planos de cópia de segurança existentes para fazer cópias de segurança entre projetos.

Preços

Para ver detalhes dos preços, consulte o artigo Preços para cópias de segurança e restauros entre projetos.

Antes de começar

  1. Antes de começar, certifique-se de que realizou as seguintes tarefas:

    • Ative a API Google Kubernetes Engine.
    • Ative a API Google Kubernetes Engine
    • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.
  2. Ative a API Backup for GKE no projeto que contém o cluster do qual quer fazer uma cópia de segurança e no projeto onde quer armazenar a cópia de segurança. Para mais informações, consulte o artigo Ative a API Backup for GKE.

  3. Ative o suplemento Backup for GKE no cluster do qual quer fazer uma cópia de segurança. Para mais informações, consulte o artigo Ative a cópia de segurança do GKE para um cluster.

Funções necessárias

Para receber as autorizações de que precisa para criar e gerir uma cópia de segurança entre projetos, peça ao seu administrador para lhe conceder a função de administrador de cópias de segurança do Backup for GKE (roles/gkebackup.backupAdmin), que é um subconjunto da função de administrador do Backup for GKE (roles/gkebackup.admin) do IAM no seu projeto. 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.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Configure 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 seguintes comandos para configurar uma conta de serviço:

  1. Crie uma conta de serviço executando o comando gcloud beta services identity create:

      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 o seguinte:

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

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

    • BACKUP_PROJECT_ID: o nome alfanumérico do projetoGoogle Cloud onde a cópia de segurança vai ser armazenada. Por exemplo, backup-project-id.

    • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto onde a cópia de segurança vai ser armazenada. Por exemplo, 123456789012.

  2. Permita que a conta de serviço do projeto de cópia de segurança faça cópias de segurança 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 o seguinte:

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

    • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto onde a cópia de segurança vai ser armazenada. Por exemplo, 123456789012.

  3. Permita que o agente do projeto do cluster aceda a gkebackup.googleapis.com no projeto de cópia de segurança 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 o seguinte:

    • BACKUP_PROJECT_ID: o nome alfanumérico do projetoGoogle Cloud onde a cópia de segurança vai ser armazenada. Por exemplo, backup-project-id.

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

Crie um canal alternativo

Depois de configurar as contas de serviço, tem de criar um canal de cópia de segurança no mesmo projeto e região que o cluster do qual quer fazer uma cópia de segurança. Depois de criar um canal de cópia de segurança, pode fazer cópias de segurança de clusters no projeto e na região para o projeto de destino.

gcloud

Para criar um canal de cópia de segurança, execute o comando gcloud beta container backup-restore backup-channels create através da CLI gcloud:

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 o seguinte:

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

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado.Google Cloud Por exemplo, cluster-project-id.

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

  • BACKUP_PROJECT_NUMBER: o identificador numérico exclusivo do projeto onde a cópia de segurança vai ser armazenada.

Consola

Para criar um canal de backup na consola Google Cloud , siga as instruções seguintes:

  1. Na Google Cloud consola, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Clique no separador Canais de cópia de segurança.

  4. No separador Canais alternativos, clique em Criar um canal alternativo.

  5. No campo Projeto do cluster, certifique-se de que selecionou o projeto do cluster correto.

  6. No menu Região, selecione a região onde os seus clusters estão localizados.

  7. No campo Projeto de cópia de segurança, selecione o projeto para o qual quer permitir cópias de segurança.

  8. No campo Nome do canal de cópia de segurança, introduza um nome para o canal de cópia de segurança.

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

  10. Clicar em Seguinte.

  11. Valide as autorizações da conta de serviço nos projetos de cluster e de cópia de segurança.

  12. Clique em Criar.

Crie um plano de cópia de segurança

Depois de criar um canal de apoio, tem de criar o plano de apoio. Se o cluster do qual está a fazer uma cópia de segurança residir num projeto diferente, o plano de cópia de segurança é automaticamente associado a um canal de cópia de segurança existente. O campo backup_channel no plano de contingência mostra o canal de contingência ao qual o plano de contingência está associado.

Antes de começar

Antes de criar um plano de cópia de segurança, consulte o artigo Planeie um conjunto de cópias de segurança.

Crie um plano de cópia de segurança

Para criar um plano de cópia de segurança no projeto de cópia de segurança através da Google Cloud consola, use as seguintes instruções:

  1. Na Google Cloud consola, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Abra o projeto de cópia de segurança no qual quer criar o plano de cópia de segurança.

  4. Clique em Criar um plano de cópia de segurança.

  5. Selecione a caixa de verificação Configurar cópias de segurança 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 yedekleme, introduza um nome para o plano de yedekleme.

  9. No campo Projeto de cópia de segurança, introduza o nome do projeto de cópia de segurança no qual quer armazenar as suas cópias de segurança.

  10. No campo Região, introduza a localização onde as suas cópias de segurança vão ser armazenadas. Se não for encontrado nenhum canal alternativo, clique em Criar canal alternativo, siga as instruções para criar um canal alternativo e clique em Criar.

  11. Clique em Ver detalhes do canal de apoio.

  12. Clique em Validar autorizações.

  13. Conclua os restantes passos conforme descrito no artigo Crie um plano de contingência.

  14. Clique em Criar plano.

Veja um canal alternativo

Use as instruções nas secções seguintes para ver os canais alternativos.

Veja todos os canais de cópia de segurança num projeto e numa região

gcloud

Para ver todos os canais de cópia de segurança num projeto e numa região, execute o comando gcloud beta container backup-restore backup-channels list através da CLI do Google Cloud:

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

Substitua o seguinte:

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado.Google Cloud Por exemplo, cluster-project-id.

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

Consola

Para ver todos os canais de backup num projeto e numa região na Google Cloud consola, siga estas instruções:

  1. Na Google Cloud consola do projeto do cluster, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Clique no separador Canais de cópia de segurança.

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

A lista filtrada apresenta todos os canais de cópia de segurança no projeto e na região selecionados.

Veja os detalhes de um canal alternativo

gcloud

Para ver os detalhes de um canal de cópia de segurança, execute o comando gcloud beta container backup-restore backup-channels describe usando a CLI do Google Cloud:

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

Substitua o seguinte:

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

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado.Google Cloud Por exemplo, cluster-project-id.

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

Consola

Para ver os detalhes de um canal alternativo na Google Cloud consola, siga as instruções abaixo:

  1. Na Google Cloud consola do projeto do cluster, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Clique no separador Canais de cópia de segurança.

  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 quer ver. É aberta uma página com os detalhes desse canal de backup.

Veja os planos de cópia de segurança associados a um canal de cópia de segurança

Para ver os planos de cópia de segurança associados a um canal de cópia de segurança, execute o comando gcloud beta container backup-restore backup-plan-bindings list com a CLI Google Cloud:

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

Substitua o seguinte:

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

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado. Google Cloud Por exemplo, cluster-project-id.

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

Faça a gestão dos canais alternativos

As secções seguintes descrevem como gerir os canais de reserva depois de os criar.

Atualize um canal alternativo

Siga as instruções abaixo para atualizar um canal alternativo. Tenha em atenção que só pode modificar a descrição de um canal de apoio existente. Não é possível modificar todos os outros campos.

gcloud

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

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

Substitua o seguinte:

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

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado.Google Cloud Por exemplo, cluster-project-id.

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

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

Consola

Para atualizar um canal de backup na Google Cloud consola, siga as seguintes instruções:

  1. Na Google Cloud consola do projeto do cluster, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Clique no separador Canais de cópia de segurança.

  4. Na página Canais de backup, clique no canal de backup que quer atualizar. Tenha em atenção que só pode atualizar a descrição de um canal de cópia de segurança existente. Não é possível modificar todos os outros campos.

    É apresentada a página Detalhes do canal de backup.

  5. Clique em Validar autorizações.

  6. Nas secções Detalhes do canal de backup, clique no ícone Editar descrição.

    É apresentada a caixa de diálogo Editar descrição.

  7. No campo Descrição, introduza a descrição atualizada e, de seguida, clique em Guardar alterações.

Elimine um canal alternativo

Só pode eliminar um canal de cópia de segurança se não contiver planos de cópia de segurança ativos. Se tiver planos de cópia de segurança ativos associados, tem de os desativar ou eliminar primeiro antes de poder eliminar o canal de cópia de segurança.

gcloud

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

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

Substitua o seguinte:

  • BACKUP_CHANNEL_NAME: o nome do canal alternativo que quer eliminar. Por exemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: o nome alfanumérico do seu projeto onde o cluster está localizado.Google Cloud Por exemplo, cluster-project-id.

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

Consola

Para eliminar um canal de cópia de segurança na Google Cloud consola, siga as instruções abaixo:

  1. Na Google Cloud consola do projeto do cluster, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu Gestão de recursos, clique em Backup para GKE.

  3. Clique no separador Canais de cópia de segurança.

  4. Na página Canais de backup, clique no canal de backup que quer eliminar.

  5. Clique em Eliminar canal.

    É apresentada uma caixa de diálogo a pedir-lhe que confirme se quer eliminar o canal de cópia de segurança.

  6. No campo Nome do canal de cópia de segurança, introduza o nome do canal de cópia de segurança para confirmar a eliminação.

  7. Clique em Confirm.

O que se segue?