Nesta página, mostramos como configurar seu projeto do Google Cloud e se preparar para um Migração gerenciada pelo metastore do Dataproc.
Antes de começar
Entenda como funciona a migração gerenciada.
Configure ou tenha acesso aos seguintes serviços:
- Um metastore do Dataproc configurado com o Spanner tipo de banco de dados.
Uma instância de banco de dados do Cloud SQL para MySQL configurada com a API Private ou IP. Para a instância do Cloud SQL, verifique se:
A instância do Cloud SQL é configurada com uma rede VPC que usa as sub-redes necessárias.
A instância do Cloud SQL usa um esquema de banco de dados compatível com o Hive Versão do metastore executada no serviço do metastore do Dataproc (onde os dados são copiados).
A instância do Cloud SQL contém os usuários apropriados para estabelecer conectividade entre o Datastream e o metastore do Dataproc o Dataproc Metastore e o Cloud SQL.
Papéis necessários
Para ter as permissões necessárias para criar um 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 de serviço do Dataproc Metastore -
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 Dataproc Metastore -
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 com papéis personalizados ou outros papéis predefinidos.
Conceder papéis adicionais dependendo das configurações do projeto
Dependendo de como seu projeto está configurado, talvez seja necessário adicionar o seguinte outros papéis. Exemplos sobre como conceder esses papéis à conta são mostradas na seção de pré-requisitos mais adiante nesta página.
- Conceda o papel de Usuário de rede (
roles/compute.networkUser
) ao O agente de serviço do Dataproc Metastore e o [Agente de serviço de 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 de serviço do metastore do Dataproc:
- Conceda o papel
roles/cloudsql.client
e oroles/cloudsql.instanceUser
para o agente de serviço do Dataproc Metastore no projeto da instância do Cloud SQL.
Se o bucket do Cloud Storage para o pipeline "Change-Data-Capture" 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
roles/storage.objectViewer
,roles/storage.objectCreator
eroles/storage.legacyBucketReader
.
Pré-requisitos da migração gerenciada
O metastore do Dataproc usa proxies e um pipeline de captura de dados alterados para facilitar a transferência de dados. É importante entender como eles funcionam antes de iniciar uma transferência.
Termos-chave
- Projeto de serviço: um projeto de serviço é o projeto do Google Cloud em que você criou o serviço Metastore do Dataproc.
- Projeto host: um projeto host é o projeto do Google Cloud que contém as redes VPC compartilhada. É possível vincular um ou mais projetos de serviço para que o projeto host use essas redes compartilhadas. Para mais informações, consulte VPC compartilhada.
- Ative a API Datastream na sua em um projeto de serviço.
Conceder o papel
roles/metastore.migrationAdmin
ao metastore do Dataproc Agente de serviço 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"
Adicione as regras de firewall a seguir.
Para estabelecer uma conexão entre o metastore do Dataproc e seu repositório IP do Google Cloud SQL.
Uma regra de firewall para permitir tráfego da verificação de integridade sondagem da carga da rede balanceador de carga 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 tráfego do balanceador de carga para o SOCKS5 o MIG de proxy. 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 tráfego do anexo do serviço 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 papéis à 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.
Conceder o papel
roles/compute.networkUser
ao metastore do Dataproc Agente de serviço e Agente de serviço de 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"
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
personalizado com as permissões listadas na VPC compartilhada
pré-requisitos.
Essas permissões são necessárias no início da migração para estabelecer peering entre a rede VPC no projeto host com o Datastream.
Esse papel pode ser removido assim que a migração for iniciada. Se você remover o papel antes de concluir a migração, o metastore do Dataproc não podem limpar o job de peering. Nesse caso, você precisa limpar o job por conta própria.