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
Descubre cómo funciona la migración administrada.
Configurar los siguientes servicios o tener acceso a ellos:
- Un Dataproc Metastore configurado con el tipo de base de datos 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 se configura 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 (al que se copian los datos).
La instancia de Cloud SQL contiene los usuarios adecuados para establecer la conectividad entre Datastream y Dataproc Metastore Dataproc Metastore y Cloud SQL.
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
yroles/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
yroles/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.
- Habilita la API de Datastream en tu proyecto de servicio.
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"
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.
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"
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.