Conditions préalables à la migration gérée

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

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ôle roles/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 et roles/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é.
  1. Activez l'API Datastream dans votre projet de service.
  2. 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"
    
  3. 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.

  1. 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"
    
  2. 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.

Étape suivante