Prerequisiti per la migrazione gestita

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.

  • Configura o accedi 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, assicurati che:

      • 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 (in cui copia 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) 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 per avviare una migrazione: Amministratore migrazione (roles/metastore.migrationAdmin) sull'agente di servizio Dataproc Metastore nel progetto di servizio

Per ulteriori informazioni 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, potrebbe essere necessario aggiungere i seguenti ruoli aggiuntivi. Gli esempi su come concedere questi ruoli agli account appropriati sono riportati nella sezione Prerequisiti più avanti in 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 ruolo roles/cloudsql.instanceUser all'agente di servizio Dataproc Metastore nel progetto dell'istanza Cloud SQL.

Se il bucket Cloud Storage per la pipeline Change Data Capture 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 e roles/storage.legacyBucketReader.

Prerequisiti per la migrazione gestita

Dataproc Metastore utilizza proxy e una pipeline di acquisizione delle modifiche ai 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 reti VPC condiviso. Uno o più progetti di servizio possono essere collegati al tuo progetto host per utilizzare queste reti condivise. Per maggiori informazioni, 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 tuo 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 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 è quella su cui è in esecuzione il server proxy SOCKS5.

    • Una regola firewall per consentire il traffico dal bilanciatore del carico al gruppo di istanze gestite 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 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 al VPC condiviso

Segui questi passaggi se utilizzi un VPC condiviso.

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

  1. Concedi il ruolo roles/compute.networkUser al service agent Dataproc Metastore e al service agent API di 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 nei 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ò pulire il job di peering. In questo caso, devi ripulire il job autonomamente.

Passaggi successivi