Voraussetzungen für die verwaltete Migration

Auf dieser Seite erfahren Sie, wie Sie Ihr Google Cloud-Projekt für eine verwaltete Migration zu Dataproc Metastore vorbereiten.

Hinweise

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc-Metastores und Starten einer verwalteten Migration benötigen:

  • So gewähren Sie vollständigen Zugriff auf alle Dataproc Metastore-Ressourcen, einschließlich der Festlegung von IAM-Berechtigungen: Dataproc Metastore Admin (roles/metastore.admin) für das Dataproc Metastore-Nutzerkonto oder -Dienstkonto
  • So gewähren Sie die vollständige Kontrolle über Dataproc Metastore-Ressourcen: Dataproc Metastore Editor (roles/metastore.editor) für das Dataproc Metastore-Nutzerkonto oder -Dienstkonto
  • So gewähren Sie die Berechtigung zum Starten einer Migration: Migration Admin (roles/metastore.migrationAdmin) für den Dataproc Metastore-Dienst-Agent im Dienstprojekt

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Je nach Projekteinstellungen zusätzliche Rollen zuweisen

Je nach Konfiguration Ihres Projekts müssen Sie möglicherweise die folgenden zusätzlichen Rollen hinzufügen. Beispiele dazu, wie Sie diese Rollen den entsprechenden Konten zuweisen, finden Sie weiter unten im Abschnitt Voraussetzungen.

  • Weisen Sie dem Dienst-Agenten von Dataproc Metastore und dem [Google APIs-Dienst-Agent] im Dienstprojekt die Rolle „Netzwerknutzer“ (roles/compute.networkUser) zu.
  • Weisen Sie dem Datastream-Dienst-Agent im Hostprojekt die Rolle „Netzwerkadministrator“ (roles/compute.networkAdmin) zu.

Wenn sich Ihre Cloud SQL-Instanz in einem anderen Projekt als dem Dataproc Metastore-Dienstprojekt befindet:

  • Weisen Sie dem Dataproc Metastore-Dienst-Agent im Cloud SQL-Instanzprojekt die Rolle roles/cloudsql.client und die Rolle roles/cloudsql.instanceUser zu.

Wenn sich der Cloud Storage-Bucket für die Pipeline zum Erfassen von Änderungsdaten in einem anderen Projekt als Ihrem Dataproc Metastore-Dienstprojekt befindet:

  • Prüfen Sie, ob der Datastream-Dienst-Agent die erforderlichen Berechtigungen zum Schreiben in den Bucket hat. In der Regel sind dies die Rollen roles/storage.objectViewer, roles/storage.objectCreator und roles/storage.legacyBucketReader.

Voraussetzungen für die verwaltete Migration

Dataproc Metastore verwendet Proxys und eine Pipeline zur Erfassung von Datenänderungen, um die Datenübertragung zu erleichtern. Es ist wichtig, dass Sie wissen, wie diese funktionieren, bevor Sie mit einer Übertragung beginnen.

Wichtige Begriffe

  • Dienstprojekt: Ein Dienstprojekt ist das Google Cloud-Projekt, in dem Sie Ihren Dataproc Metastore-Dienst erstellt haben.
  • Hostprojekt: Ein Hostprojekt ist das Google Cloud-Projekt, das Ihre freigegebene VPC-Netzwerke enthält. Ein oder mehrere Dienstprojekte können mit Ihrem Hostprojekt verknüpft werden, um diese freigegebenen Netzwerke zu verwenden. Weitere Informationen finden Sie unter Freigegebene VPC.
  1. Aktivieren Sie die Datastream API in Ihrem Dienstprojekt.
  2. Weisen Sie dem Dataproc Metastore-Dienst-Agent in Ihrem Dienstprojekt die Rolle roles/metastore.migrationAdmin zu.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
    
  3. Fügen Sie die folgenden Firewallregeln hinzu.

    Um eine Verbindung zwischen Dataproc Metastore und Ihrer Cloud SQL-Instanz mit privater IP-Adresse herzustellen.

    • Eine Firewallregel, um Traffic von der Systemdiagnoseprüfung zum Netzwerk-Load Balancer des SOCKS5-Proxys zuzulassen. Beispiel:

      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
      

      Auf Port 1080 wird der SOCKS5-Proxyserver ausgeführt.

    • Eine Firewallregel, die Traffic vom Load Balancer zur SOCKS5-Proxy-MIG zulässt. Beispiel:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE
      
    • Eine Firewallregel, die Traffic vom Private Service Connect-Dienstanhang zum Load Balancer zulässt. Beispiel:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
      

    Eine Firewallregel, die es Datastream ermöglicht, den CIDR-IP-Bereich /29 für die Erstellung einer privaten IP-Verbindung zu verwenden. Beispiel:

    gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
    

Optional: Rollen zur freigegebene VPC hinzufügen

Führen Sie diese Schritte aus, wenn Sie eine freigegebene VPC verwenden.

Weitere Informationen zu einer freigegebene VPC finden Sie unter Administratoren von Dienstprojekten.

  1. Weisen Sie dem Dataproc Metastore-Dienst-Agent und dem Google API-Dienst-Agent im Hostprojekt die Rolle roles/compute.networkUser zu.

    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. Weisen Sie dem Datastream-Dienst-Agent im Hostprojekt die Rolle roles/compute.networkAdmin zu.

    gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-datastream.iam.gserviceaccount.com"
    

Wenn Sie die Rolle roles/compute.networkAdmin nicht gewähren können, erstellen Sie eine benutzerdefinierte Rolle mit den Berechtigungen, die unter Voraussetzungen für freigegebene VPCs aufgeführt sind.

  • Diese Berechtigungen sind zu Beginn der Migration erforderlich, um ein Peering zwischen dem VPC-Netzwerk im Hostprojekt und Datastream herzustellen.

  • Diese Rolle kann entfernt werden, sobald die Migration gestartet wurde. Wenn Sie die Rolle entfernen, bevor die Migration abgeschlossen ist, kann der Peering-Job von Dataproc Metastore nicht beseitigt werden. In diesem Fall müssen Sie den Job selbst bereinigen.

Nächste Schritte