Cette page vous explique comment configurer votre projet Google Cloud pour préparer une migration gérée de Dataproc Metastore.
Avant de commencer
Comprendre le fonctionnement de la migration gérée
Configurez les services suivants ou accédez-y :
- Un service Dataproc Metastore configuré avec le type de base de données Spanner.
Une instance de base de données Cloud SQL pour MySQL configurée avec une adresse IP privée. Pour l'instance Cloud SQL, assurez-vous des 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 la version Hive Metastore qui s'exécute sur le service Dataproc Metastore (où les données sont copiées).
L'instance Cloud SQL contient les utilisateurs appropriés pour établir la connectivité entre Datastream et Dataproc Metastore, et entre Dataproc Metastore et Cloud SQL.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un Dataproc Metastore et démarrer une migration gérée, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour accorder un accès complet à toutes les ressources Dataproc Metastore, y compris pour définir les autorisations IAM :
Administrateur Dataproc Metastore (
roles/metastore.admin
) sur le compte utilisateur ou le compte de service Dataproc Metastore -
Pour accorder le contrôle total des ressources Dataproc Metastore :
Éditeur Dataproc Metastore (
roles/metastore.editor
) sur le compte d'utilisateur ou le compte de service Dataproc Metastore -
Pour accorder l'autorisation de démarrer une migration :
Administrateur de la 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 Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec 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 rôles supplémentaires suivants. Des exemples montrant comment attribuer ces rôles aux comptes appropriés sont présentés dans la section Conditions requises plus loin sur cette page.
- Accordez le rôle Utilisateur du réseau (
roles/compute.networkUser
) à l'agent de service Dataproc Metastore et à l'agent de service des API Google dans le projet de service. - Attribuez le rôle d'administrateur réseau (
roles/compute.networkAdmin
) à l'agent de service Datastream dans le projet hôte.
Si votre instance Cloud SQL se trouve dans un projet différent de celui du service Dataproc Metastore :
- Attribuez les rôles
roles/cloudsql.client
etroles/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 celui de votre 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 proxies et un pipeline de capture des données modifiées pour faciliter le transfert de données. Il est important de comprendre leur fonctionnement avant de lancer un transfert.
Mots clés
- Projet de service : projet Google Cloud dans lequel vous avez créé votre service Dataproc Metastore.
- Projet hôte : un projet hôte est le projet Google Cloud qui contient 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 en savoir plus, consultez 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.
Pour é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 vérification d'é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 le MIG du proxy SOCKS5. 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 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 pour autoriser Datastream à utiliser la plage d'adresses IP CIDR
/29
afin de 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 le VPC partagé, consultez Administrateurs de projets 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"
Accordez 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 rôle personnalisé avec les autorisations listées dans les conditions préalables du VPC partagé.
Ces autorisations sont requises au début de la migration pour établir l'appairage 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 supprimez le rôle avant la fin de la migration, Dataproc Metastore ne pourra pas nettoyer le job d'appairage. Dans ce cas, vous devez nettoyer vous-même le job.