Prerequisiti per la migrazione gestita

Questa pagina mostra come configurare il progetto Google Cloud per prepararti Migrazione gestita da Dataproc Metastore.

Prima di iniziare

  • Scopri come funziona la migrazione gestita.

  • Configurare o avere accesso ai seguenti servizi:

    • Un Dataproc Metastore configurato con Spanner un tipo di database.
    • 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 Hive Versione Metastore in esecuzione sul servizio Dataproc Metastore (in cui 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 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 di servizio Dataproc Metastore
  • Per concedere il controllo completo delle risorse Dataproc Metastore: Editor Dataproc Metastore (roles/metastore.editor) sull'account utente o 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 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 di come è configurato il progetto, potrebbe essere necessario aggiungere quanto segue ruoli aggiuntivi. Esempi su come concedere questi ruoli alle persone sono indicati 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 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 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 e roles/storage.legacyBucketReader.

Prerequisiti per la migrazione gestita

Dataproc Metastore utilizza proxy e una pipeline di Change Data Capture (CDC) 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 ha creato il tuo servizio Dataproc Metastore.
  • Progetto host: un progetto host è il progetto Google Cloud che include dalle 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.
  1. Abilita l'API Datastream nel tuo progetto di servizio.
  2. Concedi il ruolo roles/metastore.migrationAdmin a Dataproc Metastore agente di servizio 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 il tuo database Istanza Cloud SQL IP.

    • Una regola firewall per consentire il traffico proveniente dal controllo di integrità probe il 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 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 dal collegamento del 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 privato. 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 ulteriori dettagli su un VPC condiviso, consulta Amministratori progetti di servizio.

  1. Concedi il ruolo roles/compute.networkUser a Dataproc Metastore Agente di servizio e agente di servizio API di Google sul 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 sul 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 con Datastream.

  • Questo ruolo può essere rimosso non appena viene avviata la migrazione. Se rimuovere il ruolo prima del completamento della migrazione, Dataproc Metastore non può eseguire la pulizia del job di peering. In questo caso, devi ripulire il job autonomamente.

Passaggi successivi