Pré-requisitos para migração gerenciada

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

Antes de começar

Papéis necessários

Para receber as permissões necessárias para criar uma Metastore do Dataproc e iniciar uma migração gerenciada, peça ao administrador para conceder a você os seguintes papéis do IAM:

  • Para conceder acesso total a todos os recursos do metastore do Dataproc, incluindo a configuração de permissões do IAM: Administrador do metastore do Dataproc (roles/metastore.admin) na conta de usuário ou conta de serviço do metastore do Dataproc
  • Para conceder controle total dos recursos do metastore do Dataproc: Editor do metastore do Dataproc (roles/metastore.editor) na conta de usuário ou de serviço do metastore do Dataproc
  • Para conceder permissão para iniciar uma migração: Administrador de migração (roles/metastore.migrationAdmin) no agente de serviço do metastore do Dataproc no projeto de serviço

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.

Conceder outros papéis dependendo das configurações do projeto

Dependendo da configuração do projeto, talvez seja necessário adicionar os seguintes papéis. Exemplos de como conceder esses papéis às contas adequadas são mostrados na seção pré-requisitos mais adiante nesta página.

  • Conceda o papel de usuário de rede (roles/compute.networkUser) ao agente de serviço do metastore do Dataproc e ao [Agente de serviço das APIs do Google] no projeto de serviço.
  • Conceda o papel de administrador de rede (roles/compute.networkAdmin) ao agente de serviço do Datastream no projeto host.

Se a instância do Cloud SQL estiver em um projeto diferente do projeto do serviço do Metastore do Dataproc:

  • Conceda o papel roles/cloudsql.client e o papel roles/cloudsql.instanceUser ao agente de serviço do metastore do Dataproc no projeto de instância do Cloud SQL.

Se o bucket do Cloud Storage para o pipeline de captura de dados de mudança estiver em um projeto diferente do seu projeto de serviço do Dataproc Metastore:

  • Verifique se o agente de serviço do Datastream tem as permissões necessárias para gravar no bucket. Normalmente, são os papéis roles/storage.objectViewer, roles/storage.objectCreator e roles/storage.legacyBucketReader.

Pré-requisitos da migração gerenciada

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

Termos-chave

  • Projeto de serviço: é o projeto do Google Cloud em que você criou o serviço do metastore do Dataproc.
  • Projeto host: é o projeto do Google Cloud que contém suas redes VPC compartilhada. Um ou mais projetos de serviço podem ser vinculados ao projeto host para usar essas redes compartilhadas. Para mais informações, consulte VPC compartilhada.
  1. Ative a API Datastream no seu projeto de serviço.
  2. Conceda o papel roles/metastore.migrationAdmin ao agente de serviço do metastore do Dataproc no 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 conexão entre o Dataproc Metastore e sua instância do IP privado do Cloud SQL.

    • Uma regra de firewall para permitir o tráfego da sondagem de verificação de integridade para o balanceador de carga de rede do proxy SOCKS5. 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. 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 do anexo de serviço do Private Service Connect para o balanceador de carga. 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 conexão de IP particular. 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) Adicionar funções à VPC compartilhada

Siga estas etapas se você usa uma VPC compartilhada.

Para mais detalhes sobre uma VPC compartilhada, consulte Administradores de projetos de serviço.

  1. Conceda o papel roles/compute.networkUser ao agente de serviço do metastore do Dataproc e ao agente de serviço da API do Google no projeto host.

    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 o papel roles/compute.networkAdmin ao agente de serviço do Datastream no projeto host.

    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 for possível conceder o papel roles/compute.networkAdmin, crie um papel personalizado com as permissões listadas em Pré-requisitos da VPC compartilhada.

  • Essas permissões são necessárias no início da migração para estabelecer o peering entre a rede VPC no projeto host com o Datastream.

  • Essa função pode ser removida assim que a migração for iniciada. Se você remover o papel antes da conclusão da migração, o Metastore do Dataproc não poderá limpar o job de peering. Nesse caso, você precisa limpar o trabalho por conta própria.

A seguir