Pré-requisitos para a migração gerida

Esta página mostra como configurar o Google Cloud projeto para se preparar para uma migração gerida do Dataproc Metastore.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para criar um Dataproc Metastore e iniciar uma migração gerida, peça ao seu administrador para lhe conceder as seguintes funções do IAM:

  • Para conceder acesso total a todos os recursos de Metastore do Dataproc, incluindo a definição de autorizações da IAM: Administrador de Metastore do Dataproc (roles/metastore.admin) na conta de utilizador ou na conta de serviço do Metastore do Dataproc
  • Para conceder controlo total dos recursos de Metastore do Dataproc: Editor de Metastore do Dataproc (roles/metastore.editor) na conta de utilizador ou na conta de serviço do Dataproc Metastore
  • Para conceder autorização para iniciar uma migração: Administrador de migração (roles/metastore.migrationAdmin) no agente de serviço do Dataproc Metastore no projeto de serviço

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.

Conceda funções adicionais consoante as definições do projeto

Consoante a configuração do seu projeto, pode ter de adicionar as seguintes funções adicionais. Os exemplos de como conceder estas funções às contas adequadas são apresentados na secção Pré-requisitos mais adiante nesta página.

  • Conceda a função de utilizador da rede (roles/compute.networkUser) ao agente de serviço do Dataproc Metastore e ao [agente de serviço das APIs Google] no projeto de serviço.
  • Conceda a função de administrador de rede (roles/compute.networkAdmin) ao agente de serviço do Datastream no projeto anfitrião.

Se a sua instância do Cloud SQL estiver num projeto diferente do projeto de serviço do Dataproc Metastore:

  • Conceda a função roles/cloudsql.client e a função roles/cloudsql.instanceUser ao agente de serviço de Metastore do Dataproc no projeto da instância do Cloud SQL.

Se o contentor do Cloud Storage para o pipeline de captura de dados de alterações estiver num projeto diferente do projeto de serviço do Dataproc Metastore:

  • Certifique-se de que o agente do serviço Datastream tem as autorizações necessárias para escrever no contentor. Normalmente, estas são as funções roles/storage.objectViewer, roles/storage.objectCreator e roles/storage.legacyBucketReader.

Pré-requisitos da migração gerida

O Dataproc Metastore usa proxies e um pipeline de captura de dados de alterações para facilitar a transferência de dados. É importante compreender como funcionam antes de iniciar uma transferência.

Termos principais

  • Projeto de serviço: um projeto de serviço é o Google Cloud projeto onde criou o seu serviço Dataproc Metastore.
  • Projeto anfitrião: um projeto anfitrião é o Google Cloud projeto que contém as suas redes VPC partilhadas. Pode associar um ou mais projetos de serviço ao seu projeto anfitrião para usar estas redes partilhadas. Para mais informações, consulte o artigo VPC partilhada.
  1. Ative a API Datastream no seu projeto de serviço.
  2. Conceda a função roles/metastore.migrationAdmin ao agente de serviço do Dataproc Metastore no seu projeto de serviço.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
    
  3. Adicione as seguintes regras de firewall.

    Para estabelecer uma ligação entre o Dataproc Metastore e a sua instância do Cloud SQL de IP privado.

    • Uma regra de firewall para permitir o tráfego da sondagem de verificação de estado para o balanceador de carga de rede do proxy SOCKS5. Por exemplo:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--allow=tcp:1080 --source-ranges=35.191.0.0/16,130.211.0.0/22
      

      A porta 1080 é onde o servidor proxy SOCKS5 está em execução.

    • Uma regra de firewall para permitir o tráfego do balanceador de carga para o MIG de proxy SOCKS5. Por exemplo:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE
      
    • Uma regra de firewall para permitir o tráfego da associação do serviço do Private Service Connect para o balanceador de carga. Por exemplo:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
      

    Uma regra de firewall para permitir que o Datastream use o intervalo de IP CIDR /29 para criar uma ligação IP privada. Por exemplo:

    gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
    

(Opcional) Adicione funções à VPC partilhada

Siga estes passos se usar uma VPC partilhada.

Para mais detalhes acerca de uma VPC partilhada, consulte o artigo Administradores de projetos de serviço.

  1. Conceda a função roles/compute.networkUser ao agente de serviço do Dataproc Metastore e ao agente de serviço da API Google no projeto anfitrião.

    gcloud projects add-iam-policy-binding HOST_PROJECT  --role "roles/compute.networkUser" --member "serviceAccount:service-SERVICE_ACCOUNT@gcp-sa-metastore.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding HOST_PROJECT  --role "roles/compute.networkUser" --member "serviceAccount:SERVICE_PROJECT@cloudservices.gserviceaccount.com"
    
  2. Conceda a função roles/compute.networkAdmin ao agente de serviço do Datastream no projeto anfitrião.

    gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-datastream.iam.gserviceaccount.com"
    

Se não conseguir conceder a função roles/compute.networkAdmin, crie uma função personalizada com as autorizações indicadas nos pré-requisitos da VPC partilhada.

  • Estas autorizações são necessárias no início da migração para estabelecer a interligação entre a rede VPC no projeto anfitrião com o Datastream.

  • Esta função pode ser removida assim que a migração for iniciada. Se remover a função antes de a migração estar concluída, o Dataproc Metastore não pode limpar a tarefa de interligação. Neste caso, tem de limpar a tarefa.

O que se segue?