Auf dieser Seite erfahren Sie, wie Sie Ihr Google Cloud -Projekt für eine verwaltete Migration von Dataproc Metastore vorbereiten.
Hinweise
Richten Sie die folgenden Dienste ein oder sorgen Sie dafür, dass Sie darauf zugreifen können:
- Ein Dataproc Metastore, der mit dem Spanner-Datenbanktyp konfiguriert ist.
Eine Cloud SQL for MySQL-Datenbankinstanz, die mit privater IP-Adresse konfiguriert ist. Achten Sie bei der Cloud SQL-Instanz auf Folgendes:
Die Cloud SQL-Instanz ist mit einem VPC-Netzwerk konfiguriert, das die erforderlichen Subnetze verwendet.
Die Cloud SQL-Instanz verwendet ein Datenbankschema, das mit der Hive Metastore-Version kompatibel ist, die im Dataproc Metastore-Dienst ausgeführt wird (in den die Daten kopiert werden).
Die Cloud SQL-Instanz enthält die entsprechenden Nutzer, um eine Verbindung zwischen Datastream und Dataproc Metastore sowie zwischen Dataproc Metastore und Cloud SQL herzustellen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc Metastore und zum Starten einer verwalteten Migration benötigen:
-
So gewähren Sie vollständigen Zugriff auf alle Dataproc Metastore-Ressourcen, einschließlich des Festlegens von IAM-Berechtigungen:
Dataproc Metastore-Administrator (
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 erteilen Sie die Berechtigung zum Starten einer Migration:
Migrationsadministrator (
roles/metastore.migrationAdmin
) für den Dienst-Agent von Dataproc Metastore 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.
Zusätzliche Rollen je nach Projekteinstellungen zuweisen
Je nach Konfiguration Ihres Projekts müssen Sie möglicherweise die folgenden zusätzlichen Rollen hinzufügen. Beispiele dafür, wie Sie diese Rollen den entsprechenden Konten zuweisen, finden Sie weiter unten auf dieser Seite im Abschnitt Voraussetzungen.
- Weisen Sie dem Dataproc Metastore-Dienst-Agent und dem [Google APIs-Dienst-Agent] im Dienstprojekt die Rolle „Netzwerknutzer“ (
roles/compute.networkUser
) zu. - Weisen Sie dem Datastream Service 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 Rolleroles/cloudsql.instanceUser
zu.
Wenn sich der Cloud Storage-Bucket für die Change-Data-Capture-Pipeline in einem anderen Projekt als Ihr Dataproc Metastore-Dienstprojekt befindet:
- Prüfen Sie, ob Ihr Datastream-Dienst-Agent die erforderlichen Berechtigungen zum Schreiben in den Bucket hat. In der Regel sind das die Rollen
roles/storage.objectViewer
,roles/storage.objectCreator
undroles/storage.legacyBucketReader
.
Voraussetzungen für die verwaltete Migration
Dataproc Metastore verwendet Proxys und eine CDC-Pipeline (Change Data Capture), um die Datenübertragung zu ermöglichen. Es ist wichtig, dass Sie wissen, wie diese funktionieren, bevor Sie eine Übertragung starten.
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.
- Aktivieren Sie die Datastream API in Ihrem Dienstprojekt.
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"
Fügen Sie die folgenden Firewallregeln hinzu.
So stellen Sie eine Verbindung zwischen Dataproc Metastore und Ihrer Cloud SQL-Instanz mit privater IP-Adresse her:
Eine Firewallregel, um Traffic von der Systemdiagnoseprüfung zum Network 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
Der SOCKS5-Proxyserver wird auf Port
1080
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
zu verwenden, um eine private IP-Verbindung herzustellen. 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 für die 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 Dienstprojektadministratoren.
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"
Weisen Sie dem Datastream Service 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 zuweisen können, erstellen Sie eine benutzerdefinierte Rolle mit den Berechtigungen, die unter Voraussetzungen für die freigegebene VPC aufgeführt sind.
Diese Berechtigungen sind zu Beginn der Migration erforderlich, um das Peering zwischen dem VPC-Netzwerk im Hostprojekt und Datastream einzurichten.
Diese Rolle kann entfernt werden, sobald die Migration gestartet wurde. Wenn Sie die Rolle entfernen, bevor die Migration abgeschlossen ist, kann Dataproc Metastore den Peering-Job nicht bereinigen. In diesem Fall müssen Sie den Job selbst bereinigen.