Questa pagina mostra come configurare il tuo progetto Google Cloud per prepararti a una migrazione gestita di Dataproc Metastore.
Prima di iniziare
Scopri come funziona la migrazione gestita.
Configurare o avere accesso ai seguenti servizi:
- Un Dataproc Metastore configurato con il tipo di database Spanner.
Un'istanza di database Cloud SQL per MySQL configurata con IP privato. Per l'istanza Cloud SQL, verifica quanto segue:
L'istanza Cloud SQL è configurata con una rete VPC che utilizza le subnet richieste.
L'istanza Cloud SQL utilizza uno schema di database compatibile con la versione del metastore Hive in esecuzione sul servizio Dataproc Metastore (dove vengono copiati i dati).
L'istanza Cloud SQL contiene gli utenti appropriati per stabilire la connettività tra Datastream e Dataproc Metastore e tra Dataproc Metastore e Cloud SQL.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un Dataproc Metastore e avviare una migrazione gestita, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per concedere l'accesso completo a tutte le risorse Dataproc Metastore, inclusa l'impostazione delle autorizzazioni IAM:
Dataproc Metastore Admin (
roles/metastore.admin
) nell'account utente o nell'account di servizio Dataproc Metastore -
Per concedere il controllo completo delle risorse di Dataproc Metastore:
Dataproc Metastore Editor (
roles/metastore.editor
) nell'account utente o nell'account di servizio di Dataproc Metastore -
Per concedere l'autorizzazione per avviare una migrazione:
Amministratore migrazione (
roles/metastore.migrationAdmin
) nell'agente di servizio Dataproc Metastore nel progetto di servizio
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Concedi ruoli aggiuntivi in base alle impostazioni del progetto
A seconda della configurazione del progetto, potrebbe essere necessario aggiungere i seguenti ruoli aggiuntivi. Esempi di come concedere questi ruoli agli account appropriati sono riportati nella sezione Prerequisiti di questa pagina.
- Concedi il ruolo Utente di rete (
roles/compute.networkUser
) all'agente di servizio Dataproc Metastore e all'[agente di servizio API di Google] nel progetto di servizio. - Concedi il ruolo Amministratore di rete (
roles/compute.networkAdmin
) all'Agente di servizio Datastream nel progetto host.
Se l'istanza Cloud SQL si trova in un progetto diverso da quello del servizio Dataproc Metastore:
- Concedi il ruolo
roles/cloudsql.client
e il ruoloroles/cloudsql.instanceUser
all'agente di servizio Dataproc Metastore nel progetto dell'istanza Cloud SQL.
Se il bucket Cloud Storage per la pipeline di acquisizione dei dati modificati si trova in un progetto diverso da quello del servizio Dataproc Metastore:
- Assicurati che l'agente di servizio Datastream disponga delle autorizzazioni necessarie per scrivere nel bucket. In genere si tratta dei ruoli
roles/storage.objectViewer
,roles/storage.objectCreator
eroles/storage.legacyBucketReader
.
Prerequisiti per la migrazione gestita
Dataproc Metastore utilizza proxy e una pipeline di rilevamento dei cambiamenti dei dati per facilitare il trasferimento dei dati. È importante capire come funzionano prima di iniziare un trasferimento.
Termini chiave
- Progetto di servizio: un progetto di servizio è il progetto Google Cloud in cui hai creato il servizio Dataproc Metastore.
- Progetto host: un progetto host è il progetto Google Cloud che contiene le tue reti VPC condiviso. Uno o più progetti di servizio possono essere collegati al tuo progetto host per utilizzare queste reti condivise. Per ulteriori informazioni, consulta VPC condiviso.
- Abilita l'API Datastream nel progetto di servizio.
Concedi il ruolo
roles/metastore.migrationAdmin
all'agente di servizio Dataproc Metastore nel progetto di servizio.gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
Aggiungi le seguenti regole firewall.
Per stabilire una connessione tra Dataproc Metastore e la tua istanza Cloud SQL con IP privato.
Una regola firewall per consentire il traffico dal probe del controllo di integrità al bilanciatore del carico di rete del proxy SOCKS5. Ad esempio:
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
La porta
1080
è la porta su cui è in esecuzione il server proxy SOCKS5.Una regola firewall per consentire il traffico dal bilanciatore del carico al gruppo di istanze gestite del proxy SOCKS5. Ad esempio:
gcloud compute firewall-rules create
RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE Una regola del firewall per consentire il traffico dal collegamento di servizio Private Service Connect al bilanciatore del carico. Ad esempio:
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
Una regola firewall per consentire a Datastream di utilizzare l'intervallo IP CIDR
/29
per creare una connessione IP privata. Ad esempio:gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
(Facoltativo) Aggiungi ruoli alla VPC condiviso
Segui questa procedura se utilizzi un VPC condiviso.
Per maggiori dettagli su un VPC condiviso, consulta Amministratori dei progetti di servizio.
Concedi il ruolo
roles/compute.networkUser
all'agente di servizio Dataproc Metastore e all'agente di servizio API Google nel progetto 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"
Concedi il ruolo
roles/compute.networkAdmin
all'agente di servizio Datastream nel progetto 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 non puoi concedere il ruolo roles/compute.networkAdmin
, crea un ruolo personalizzato con le autorizzazioni elencate in Prerequisiti per VPC condiviso.
Queste autorizzazioni sono necessarie all'inizio della migrazione per stabilire il peering tra la rete VPC nel progetto host e Datastream.
Questo ruolo può essere rimosso non appena viene avviata la migrazione. Se rimuovi il ruolo prima del completamento della migrazione, Dataproc Metastore non può ripulire il job di peering. In questo caso, devi ripulire il job autonomamente.