Requisitos previos para la migración administrada

En esta página, se muestra cómo configurar tu proyecto de Google Cloud para prepararte para Migración administrada de Dataproc Metastore.

Antes de comenzar

Funciones requeridas

Para obtener los permisos que necesitas para crear un metastore de Dataproc y comenzar una migración administrada, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Para otorgar acceso completo a todos los recursos de Dataproc Metastore, incluida la configuración de permisos de IAM, usa el rol de administrador de Dataproc Metastore (roles/metastore.admin) en la cuenta de usuario o de servicio de Dataproc Metastore.
  • Para otorgar control total de los recursos de Dataproc Metastore, usa el Editor de Dataproc Metastore (roles/metastore.editor) en la cuenta de usuario o de servicio de Dataproc Metastore.
  • Para otorgar permiso a fin de iniciar una migración, sigue estos pasos: Administrador de migración (roles/metastore.migrationAdmin) en el agente de servicio de Dataproc Metastore, en el proyecto de servicio

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Otorga roles adicionales según la configuración de tu proyecto

Según cómo esté configurado tu proyecto, es posible que debas agregar los siguientes roles adicionales. Hay ejemplos sobre cómo otorgar estos roles al se muestran en la sección de requisitos previos más adelante en esta página.

  • Otorga el rol de usuario de red (roles/compute.networkUser) al agente de servicio de Dataproc Metastore y al [Agente de servicio de las APIs de Google] en el proyecto de servicio.
  • Otorga el rol Administrador de red (roles/compute.networkAdmin) a la Agente de servicio de Datastream en el proyecto host.

Si tu instancia de Cloud SQL se encuentra en un proyecto diferente al proyecto de servicio de Dataproc Metastore, haz lo siguiente:

  • Otorga los roles roles/cloudsql.client y roles/cloudsql.instanceUser al agente de servicio de Dataproc Metastore en el proyecto de la instancia de Cloud SQL.

Si el bucket de Cloud Storage de la canalización de Change-Data-Capture está en un proyecto diferente al de tu servicio de Dataproc Metastore, haz lo siguiente:

  • Asegúrate de que el agente de servicio de Datastream tenga los permisos necesarios para escribir en el bucket. Por lo general, estos son los roles roles/storage.objectViewer, roles/storage.objectCreator y roles/storage.legacyBucketReader.

Requisitos previos para la migración administrada

Dataproc Metastore usa proxies y una canalización de captura de datos modificados para facilitar la transferencia de datos. Es importante comprender cómo funcionan antes de iniciar una transferencia.

Términos clave

  • Proyecto de servicio: Un proyecto de servicio es el proyecto de Google Cloud en el que creó tu servicio de Dataproc Metastore.
  • Proyecto host: Un proyecto host es el proyecto de Google Cloud que contiene tus redes de VPC compartida. Se pueden vincular uno o más proyectos de servicio a tu proyecto host para usar estas redes compartidas. Para obtener más información, consulta VPC compartida.
  1. Habilita la API de Datastream en tu proyecto de servicio.
  2. Otorga el rol roles/metastore.migrationAdmin al agente de servicio de Dataproc Metastore en tu proyecto de servicio.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
    
  3. Agrega las siguientes reglas de firewall.

    Para establecer una conexión entre Dataproc Metastore y Instancia de IP de Cloud SQL.

    • Una regla de firewall para permitir el tráfico del sondeo de verificación de estado al balanceador de cargas de red del proxy SOCKS5 Por ejemplo:

      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
      

      El puerto 1080 es donde se ejecuta el servidor proxy SOCKS5.

    • Una regla de firewall para permitir el tráfico del balanceador de cargas al MIG de proxy SOCKS5 Por ejemplo:

      gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE
      
    • Una regla de firewall para permitir el tráfico del adjunto de servicio de Private Service Connect al balanceador de cargas. Por ejemplo:

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

    Una regla de firewall para permitir que Datastream use el rango de IP CIDR /29 para crear una conexión de IP privada Por ejemplo:

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

Agrega roles a la VPC compartida (opcional)

Sigue estos pasos si usas una VPC compartida.

Para obtener más detalles sobre una VPC compartida, consulta Administradores de proyectos de servicio.

  1. Otorga el rol roles/compute.networkUser al agente de servicio de Dataproc Metastore y al agente de servicio de la API de Google en el proyecto host.

    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. Otorga el rol roles/compute.networkAdmin al agente de servicio de Datastream en el proyecto host.

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

Si no puedes otorgar el rol roles/compute.networkAdmin, crea un rol personalizado con los permisos que se indican en los requisitos previos de la VPC compartida.

  • Se requieren estos permisos al inicio de la migración para establecer intercambio de tráfico entre la red de VPC del proyecto host con Datastream.

  • Este rol se puede quitar en cuanto se inicia la migración. Si quitas el rol antes de que se complete la migración, Dataproc Metastore no podrá limpiar el trabajo de vinculación. En este caso, debes limpiar el trabajo tú mismo.

¿Qué sigue?