Cette page vous explique comment configurer votre projet Google Cloud pour vous préparer à un Migration gérée par Dataproc Metastore
Avant de commencer
Découvrez le fonctionnement de la migration gérée.
Configurer les services suivants ou y avoir accès:
- Un Dataproc Metastore configuré avec Spanner type de base de données.
Instance de base de données Cloud SQL pour MySQL configurée avec une adresse IP privée. Pour l'instance Cloud SQL, vérifiez les points suivants:
L'instance Cloud SQL est configurée avec un réseau VPC qui utilise les sous-réseaux requis.
L'instance Cloud SQL utilise un schéma de base de données compatible avec Hive Version de Metastore exécutée sur le service Dataproc Metastore (emplacement vers lequel les données sont copiées).
L'instance Cloud SQL contient les utilisateurs appropriés pour établir une connectivité entre Datastream et Dataproc Metastore, ainsi qu'entre Dataproc Metastore et Cloud SQL.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un Dataproc Metastore et lancer une migration gérée, demandez à votre administrateur de vous accorder le rôles IAM suivants:
-
Pour accorder un accès complet à toutes les ressources Dataproc Metastore, y compris pour définir des autorisations IAM :
Administrateur Dataproc Metastore (
roles/metastore.admin
) sur le compte utilisateur ou le compte de service Dataproc Metastore -
Pour accorder un contrôle complet sur les ressources Dataproc Metastore:
Éditeur Dataproc Metastore (
roles/metastore.editor
) sur le compte utilisateur ou le compte de service Dataproc Metastore -
Pour autoriser le lancement d'une migration:
Administrateur de migration (
roles/metastore.migrationAdmin
) sur l'agent de service Dataproc Metastore dans le projet de service
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Accorder des rôles supplémentaires en fonction des paramètres de votre projet
Selon la configuration de votre projet, vous devrez peut-être ajouter les éléments suivants : des rôles supplémentaires. Des exemples d'attribution de ces rôles aux comptes appropriés sont présentés dans la section Conditions préalables plus loin sur cette page.
- Attribuez le rôle "Utilisateur du réseau" (
roles/compute.networkUser
) au L'agent de service Dataproc Metastore et [Agent de service des API Google] sur le projet de service. - Attribuez le rôle Administrateur réseau (
roles/compute.networkAdmin
) au Agent de service Datastream sur le projet hôte
Si votre instance Cloud SQL se trouve dans un projet différent de celui du service Dataproc Metastore :
- Accorder le rôle
roles/cloudsql.client
et le rôleroles/cloudsql.instanceUser
à l'agent de service Dataproc Metastore sur le projet d'instance Cloud SQL.
Si le bucket Cloud Storage du pipeline Change-Data-Capture se trouve dans un projet différent de votre projet de service Dataproc Metastore:
- Assurez-vous que votre agent de service Datastream dispose des autorisations nécessaires pour écrire dans le bucket. Il s'agit généralement des rôles
roles/storage.objectViewer
,roles/storage.objectCreator
etroles/storage.legacyBucketReader
.
Conditions préalables à la migration gérée
Dataproc Metastore utilise des proxys un pipeline de capture de données modifiées pour faciliter le transfert de données. Il est important de comprendre leur fonctionnement avant de commencer un transfert.
Mots clés
- Projet de service : un projet de service est le projet Google Cloud dans lequel vous avez créé votre service Dataproc Metastore.
- Projet hôte: il s'agit du projet Google Cloud qui contient entre vos réseaux VPC partagés. Un ou plusieurs projets de service peuvent être associés à votre projet hôte pour utiliser ces réseaux partagés. Pour plus d'informations, consultez la section VPC partagé.
- Activez l'API Datastream dans votre projet de service.
Attribuez le rôle
roles/metastore.migrationAdmin
à l'agent de service Dataproc Metastore dans votre projet de service.gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
Ajoutez les règles de pare-feu suivantes.
Établir une connexion entre Dataproc Metastore et votre instance Cloud SQL à adresse IP privée
Une règle de pare-feu pour autoriser le trafic provenant de la sonde de vérification de l'état à accéder à l'équilibreur de charge réseau du proxy SOCKS5. Exemple :
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
Le port
1080
est celui sur lequel le serveur proxy SOCKS5 est exécuté.Une règle de pare-feu pour autoriser le trafic de l'équilibreur de charge vers SOCKS5 un MIG de proxy. Exemple :
gcloud compute firewall-rules create
RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE Règle de pare-feu pour autoriser le trafic provenant du rattachement de service Private Service Connect vers l'équilibreur de charge. Exemple :
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
Une règle de pare-feu permettant à Datastream d'utiliser la plage d'adresses IP CIDR
/29
pour créer une connexion IP privée. Exemple :gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
(Facultatif) Ajouter des rôles au VPC partagé
Suivez ces étapes si vous utilisez un VPC partagé.
Pour en savoir plus sur un VPC partagé, consultez la section Administrateurs de projet de service.
Attribuez le rôle
roles/compute.networkUser
à l'agent de service Dataproc Metastore et à l'agent de service des API Google dans le projet hôte.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"
Accorder le rôle
roles/compute.networkAdmin
à l'agent de service Datastream sur le projet hôte.gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-datastream.iam.gserviceaccount.com"
Si vous ne pouvez pas attribuer le rôle roles/compute.networkAdmin
, créez un
personnalisé disposant des autorisations répertoriées dans la section VPC partagé
prérequis.
Ces autorisations sont requises au début de la migration pour établir un appariement entre le réseau VPC du projet hôte et Datastream.
Ce rôle peut être supprimé dès le début de la migration. Si vous supprimer le rôle avant la fin de la migration, Dataproc Metastore ne peut pas nettoyer le job d'appairage. Dans ce cas, vous devez nettoyer la tâche vous-même.