Prerequisiti per la migrazione gestita

Questa pagina mostra come configurare il tuo Google Cloud progetto per prepararti a una migrazione gestita di Dataproc Metastore.

Prima di iniziare

  • Scopri come funziona la migrazione gestita.

  • Configura o accedi ai seguenti servizi:

    • Un metastore Dataproc configurato con il tipo di database Spanner.
    • Un'istanza di database Cloud SQL per MySQL configurata con IP privato. Per l'istanza Cloud SQL, assicurati di 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 di Hive Metastore 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 metastore Dataproc 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: Amministratore Dataproc Metastore (roles/metastore.admin) sull'account utente o sul account di servizio Dataproc Metastore
  • Per concedere il controllo completo delle risorse Dataproc Metastore: Editor Dataproc Metastore (roles/metastore.editor) sull'account utente o sul account di servizio Dataproc Metastore
  • Per concedere l'autorizzazione ad avviare una migrazione: Amministratore migrazione (roles/metastore.migrationAdmin) sull'agente di servizio Dataproc Metastore nel progetto di servizio

Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 a seconda delle impostazioni del progetto

A seconda della configurazione del progetto, potresti dover aggiungere i seguenti ruoli aggiuntivi. Gli esempi su come concedere questi ruoli agli account appropriati sono riportati nella sezione dei prerequisiti più avanti in questa pagina.

  • Concedi il ruolo Utente rete (roles/compute.networkUser) all' agente di servizio Dataproc Metastore e all' [agente di servizio delle API Google] nel progetto di servizio.
  • Concedi il ruolo Amministratore rete (roles/compute.networkAdmin) all'agente di servizio Datastream nel progetto host.

Se l'istanza Cloud SQL si trova in un progetto diverso dal progetto di servizio Dataproc Metastore:

  • Concedi il ruolo roles/cloudsql.client e il ruolo roles/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 delle modifiche si trova in un progetto diverso dal progetto di 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 e roles/storage.legacyBucketReader.

Prerequisiti per la migrazione gestita

Dataproc Metastore utilizza proxy e una pipeline di acquisizione dei dati delle modifiche per facilitare il trasferimento dei dati. È importante capire come funzionano prima di avviare un trasferimento.

Termini chiave

  • Progetto di servizio: un progetto di servizio è il Google Cloud progetto in cui hai creato il servizio Dataproc Metastore.
  • Progetto host: un progetto host è il Google Cloud progetto che contiene le reti VPC condiviso. Uno o più progetti di servizio possono essere collegati al progetto host per utilizzare queste reti condivise. Per saperne di più, consulta VPC condiviso.
  1. Abilita l'API Datastream nel tuo progetto di servizio.
  2. 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"
    
  3. Aggiungi le seguenti regole firewall.

    Per stabilire una connessione tra Dataproc Metastore e l'istanza Cloud SQL con IP privato.

    • Una regola firewall per consentire il traffico dal controllo di integrità probe 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 è quella in cui è in esecuzione il server proxy SOCKS5.

    • Una regola firewall per consentire il traffico dal bilanciatore del carico al MIG 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 firewall per consentire il traffico dall'allegato 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 al VPC condiviso

Segui questi passaggi se utilizzi un VPC condiviso.

Per maggiori dettagli su un VPC condiviso, consulta Amministratori del progetto di servizio.

  1. Concedi il ruolo roles/compute.networkUser all'agente di servizio Dataproc Metastore e all'agente di servizio delle 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"
    
  2. 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 del 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ò eseguire la pulizia del job di peering. In questo caso, devi eseguire la pulizia del job autonomamente.

Passaggi successivi