Requisitos previos para la migración administrada

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

Antes de comenzar

  • Comprende cómo funciona la migración administrada.

  • Configura los siguientes servicios o ten acceso a ellos:

    • Un Dataproc Metastore configurado con el tipo de base de datos de Spanner.
    • Una instancia de base de datos de Cloud SQL para MySQL configurada con IP privada. Para la instancia de Cloud SQL, asegúrate de lo siguiente:

      • La instancia de Cloud SQL está configurada con una red de VPC que usa las subredes requeridas.

      • La instancia de Cloud SQL usa un esquema de base de datos que es compatible con la versión de Hive Metastore que se ejecuta en el servicio de Dataproc Metastore (donde copia los datos).

      • La instancia de Cloud SQL contiene los usuarios adecuados para establecer la conectividad entre Datastream y Dataproc Metastore, y entre Dataproc Metastore y Cloud SQL.

Funciones requeridas

Para obtener los permisos que necesitas para crear un Dataproc Metastore 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: Administrador de Dataproc Metastore (roles/metastore.admin) en la cuenta de usuario o cuenta de servicio de Dataproc Metastore
  • Para otorgar control total de los recursos de Dataproc Metastore: Editor de Dataproc Metastore (roles/metastore.editor) en la cuenta de usuario o cuenta de servicio de Dataproc Metastore
  • Para otorgar permiso para iniciar una migración: 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 a través de 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. En la sección de requisitos previos más adelante en esta página, se muestran ejemplos de cómo otorgar estos roles a las cuentas correspondientes.

  • 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 de administrador de red (roles/compute.networkAdmin) al 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 el rol roles/cloudsql.client y el rol roles/cloudsql.instanceUser al agente de servicio de Dataproc Metastore en el proyecto de instancia de Cloud SQL.

Si el bucket de Cloud Storage para la canalización de captura de datos modificados se encuentra en un proyecto diferente al proyecto de servicio de Dataproc Metastore, haz lo siguiente:

  • Asegúrate de que tu 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 Google Cloud proyecto en el que creaste tu servicio de Dataproc Metastore.
  • Proyecto host: Un proyecto host es el Google Cloud proyecto que contiene tus redes de VPC compartida. Se puede 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 tu instancia de Cloud SQL con IP privada, haz lo siguiente:

    • Una regla de firewall para permitir el tráfico de la sonda 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 del 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 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
    

(Opcional) Agrega roles a la VPC compartida

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 las APIs 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 enumeran en los requisitos previos de la VPC compartida.

  • Estos permisos son necesarios al comienzo de la migración para establecer el intercambio de tráfico entre la red de VPC en el 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 intercambio de tráfico. En este caso, debes limpiar el trabajo por tu cuenta.

¿Qué sigue?