Crea una instancia privada con intercambio de tráfico entre VPC

En esta página, se describe cómo crear una instancia de Cloud Data Fusion con una dirección IP interna. La instancia se crea en una red de VPC o en una red de VPC compartida.

Una instancia privada de Cloud Data Fusion tiene los siguientes beneficios:

  • Las conexiones a la instancia se establecen a través de una red de VPC privada en tu proyecto de Google Cloud. El tráfico de la red no pasa por la Internet pública.

  • La instancia puede conectarse a tus recursos locales, como bases de datos relacionales, porque tu red local se conecta a la red de VPC privada de Google Cloud a través de Cloud VPN o Cloud Interconnect. Puedes acceder de forma segura a los recursos locales, como las bases de datos, a través de la red privada sin abrir el acceso a Google Cloud.

Objetivos

  • Configura la red de VPC o la red de VPC compartida.
  • Asigna un rango de IP que se usará para implementar la instancia de Cloud Data Fusion en el proyecto de usuario.
  • Crea la instancia privada de Cloud Data Fusion.
  • Configura el intercambio de tráfico entre redes de VPC entre la VPC que contiene la instancia de Cloud Data Fusion y la VPC que contiene el proyecto de usuario asociado.
  • Para las redes de VPC compartida, configura los permisos de Identity and Access Management (IAM).
  • Si tu instancia privada usa la versión 6.2.0 o anterior de Cloud Data Fusion, crea una regla de firewall.
  • Permitir que diferentes servicios de Google Cloud se comuniquen de forma interna entre sí habilitando el Acceso privado a Google en la subred de Dataproc.

Antes de comenzar

  • Para obtener más información sobre la arquitectura de implementación de Cloud Data Fusion, consulta Herramientas de redes.

Configura la red de VPC

Si aún no lo hiciste, crea una red de VPC o una red de VPC compartida.

Para configurar tu red de VPC, debes asignar un rango de direcciones IP.

Asigna un rango de IP

Red de VPC

Si no usas una red de VPC compartida, Cloud Data Fusion asigna un rango de IP de forma predeterminada cuando creas una instancia.

Red compartida de VPC

A fin de usar una VPC compartida, debes asignar un rango de IP para tu instancia de Cloud Data Fusion.

Sigue estos pasos para asignar un rango de IP a tu instancia de Cloud Data Fusion:

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. En la columna Nombre, haz clic en la red de VPC en la que deseas crear una instancia privada de Cloud Data Fusion.

    Se abrirá la página Detalles de la red de VPC.

  3. Haz clic en Conexión de servicio privada. Si se te solicita, haz clic en Habilitar API para habilitar la API de Service Networking.

    Configurar los detalles de la red de VPC.

  4. Haz clic en Asigna rangos de IP.

    1. Asigna un nombre a tu rango de IP.

    2. En Rango de IP, haz clic en Automático.

    3. Especifica un tamaño de prefijo de 22.

    4. Haz clic en Allocate.

      Asigna un rango de IP.

Crea una instancia privada

Crea la instancia privada de Cloud Data Fusion en una red de VPC o una red de VPC compartida.

Red de VPC

Para crear la instancia en una red de VPC, usa la consola de Google Cloud o cURL.

Si usas la consola de Google Cloud para crear tu instancia privada, Cloud Data Fusion asigna el rango de direcciones IP /22 de forma predeterminada. Para elegir un rango de IP diferente, debes usar el comando cURL.

Console

  1. Ve a la página Crear instancia de Data Fusion.

    Ir a Crear instancia de Data Fusion

  2. Ingresa un nombre y una descripción para tu instancia.

  3. Selecciona la Región en la que se creará la instancia.

  4. Selecciona una versión y una edición de Cloud Data Fusion.

  5. Especifica la cuenta de servicio de Dataproc que se usará para ejecutar tu canalización de Cloud Data Fusion en Dataproc. La cuenta predeterminada de Compute Engine está preseleccionada.

  6. Expande el menú Opciones avanzadas y haz clic en Habilitar IP privada.

  7. En el campo Red, elige la red en la que deseas crear la instancia.

  8. Haz clic en Crear. El proceso de creación de la instancia toma hasta 30 minutos en completarse.

cURL

Para tu comodidad, puedes exportar las siguientes variables o sustituir directamente estos valores en los siguientes comandos:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

Para crear la instancia, llama a su método create():

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

Reemplaza lo siguiente:

  • INSTANCE_ID: Es la cadena de ID que debería obtener tu instancia nueva.
  • NETWORK_NAME: Es el nombre de la red de VPC en la que deseas crear tu instancia privada.
  • IP_RANGE: El rango de IP que asignaste. Para encontrar el rango de IP en la consola de Google Cloud, ve a Detalles de la red de VPC > Conexión privada a servicios > Rango de IP internas .

Red compartida de VPC

Para crear la instancia en una red de VPC compartida, usa cURL, no la consola de Google Cloud.

cURL

Para tu comodidad, puedes exportar las siguientes variables. Como alternativa, puedes reemplazar directamente estos valores en los siguientes comandos:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

Para crear la instancia, llama a su método create():

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instanceId=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "projects/SHARED_VPC_HOST_PROJECT_ID/global/networks/NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

Reemplaza lo siguiente:

  • INSTANCE_ID: Es la cadena de ID que debería obtener tu instancia nueva.
  • SHARED_VPC_HOST_PROJECT_ID: Es el ID del proyecto que aloja la red de VPC compartida.
  • NETWORK_NAME: Es el nombre de la red de VPC en la que deseas crear la instancia privada.
  • IP_RANGE: El rango de IP que asignaste. Para encontrar el rango de IP en la consola de Google Cloud, ve a la página Detalles de la red de VPC > Conexión privada a servicios > Rango de IP internas.

Configura el intercambio de tráfico entre redes de VPC

Los servicios de Cloud Data Fusion que usas en tu entorno de diseño (por ejemplo: Wrangler, Connection Manager y validación de esquemas) inician conexiones de red desde la VPC del proyecto de usuario hacia los sistemas de origen. Cloud Data Fusion usa el intercambio de tráfico entre redes de VPC para establecer la conectividad de red a la VPC o a la VPC compartida que contiene tu instancia. El intercambio de tráfico entre redes de VPC permite que Cloud Data Fusion acceda a los recursos de tu red mediante direcciones IP internas con tu propia VPC y sus controles. Si quieres conectarte con un recurso en otra red, consulta los pasos para los casos de uso de conexión.

En la siguiente sección, se describe cómo crear una configuración de intercambio de tráfico entre tu red y la red del proyecto de usuario de Cloud Data Fusion.

Obtén el ID del proyecto de usuario

Para crear una configuración de intercambio de tráfico, necesitas el ID del proyecto de usuario.

  1. Ve a la página de Instancias de Cloud Data Fusion.

    Ir a Instancias

  2. En la columna Nombre de la instancia, selecciona la instancia.

  3. En la página Detalles de la instancia, copia el ID del proyecto de usuario, que es necesario cuando creas una conexión de intercambio de tráfico en los siguientes pasos.

Crear conexión de intercambio de tráfico

  1. Ve a la página Intercambio de tráfico entre redes de VPC.

    Ir a Intercambio de tráfico entre redes de VPC

  2. Haz clic en Crear conexión > Continuar.

  3. En la página Crear conexión de intercambio de tráfico que se abre, haz lo siguiente:

    1. Ingresa un Nombre para la conexión de intercambio de tráfico.
    2. En Tu red de VPC, selecciona la red que contiene tu instancia de Cloud Data Fusion.
    3. En Red de VPC con intercambio de tráfico, selecciona En otro proyecto.
    4. En ID del proyecto, ingresa el ID del proyecto de usuario que encontraste antes en este instructivo.
    5. En Nombre de la red de VPC, selecciona una red o ingresa INSTANCE_REGION-INSTANCE_ID.

      Reemplaza lo siguiente:

      • INSTANCE_REGION: Es la región en la que creaste tu instancia de Cloud Data Fusion.
      • INSTANCE_ID: Es el ID de tu instancia de Cloud Data Fusion.
    6. Selecciona la versión del protocolo de Internet para que la conexión de intercambio de tráfico intercambie rutas IPv4 e IPv6 entre tu red de VPC y la red de VPC con intercambio de tráfico. Para obtener más información, consulta Intercambio de tráfico entre redes de VPC.

    7. Selecciona Exportar rutas personalizadas para que las rutas personalizadas se puedan exportar desde tu red de VPC a la red de VPC de usuario.

    8. Elige si quieres permitir que las rutas de subredes con IPv4 públicas se importen o exporten a tu red de VPC.

    9. Haz clic en Crear.

    El intercambio de tráfico entre redes de VPC se activa poco después de su creación.

Configura los permisos de IAM

Red de VPC

Omite este paso y ve a Crea una regla de firewall.

Red compartida de VPC

Si creas tu instancia de Cloud Data Fusion en una red de VPC compartida, debes otorgar la función de usuario de la red de Compute a las siguientes cuentas de servicio. Para otorgar permisos a todas las subredes, otorga el rol al proyecto host de VPC compartida.

Para controlar aún más el acceso, otorga la función a una subred específica y la función Visualizador de red en el proyecto host.

  • Cuenta de servicio de Cloud Data Fusion: service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
  • Cuenta de servicio de Dataproc: service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com

PROJECT_NUMBER es el número del proyecto de Google Cloud que contiene tu instancia de Cloud Data Fusion.

Para obtener más información, consulta Otorga acceso a las cuentas de servicio necesarias.

Crea una regla de firewall

Crea una regla de firewall en tu red de VPC que permita las conexiones SSH entrantes desde el rango de IP que especificaste cuando creaste tu instancia privada de Cloud Data Fusion.

Este paso es obligatorio para las versiones de Cloud Data Fusion anteriores a la 6.2.0. Permite la comunicación entre los clústeres de Cloud Data Fusion y Dataproc que ejecutan canalizaciones.

Puedes crear la regla de firewall mediante la consola de Google Cloud o la CLI de gcloud.

Console

Consulta Crea reglas de firewall.

gcloud

Ejecuta el siguiente comando:

gcloud compute firewall-rules create FIREWALL_NAME-allow-ssh --allow=tcp:22 --source-ranges=IP_RANGE --network=NETWORK_NAME --project=PROJECT_ID

Reemplaza lo siguiente:

  • FIREWALL_NAME: Es el nombre de la regla de firewall que se creará.
  • IP_RANGE: El rango de IP que asignaste.
  • NETWORK_NAME: Es el nombre de la red a la que se adjunta la regla de firewall. Es el nombre de la red de VPC en la que creaste la instancia privada.
  • PROJECT_ID: Es el ID del proyecto que aloja la red de VPC.

Pasos para casos de uso de conexión

En las siguientes secciones, se describen casos prácticos relacionados con la conexión para instancias privadas.

Habilita el Acceso privado a Google

Para acceder a los recursos a través de direcciones IP internas, Cloud Data Fusion debe crear los clústeres de Dataproc y ejecutar las canalizaciones de datos en una subred que tenga Acceso privado a Google. Debes habilitar el Acceso privado a Google para la subred que contiene los clústeres de Dataproc.

  • Si solo una subred está presente en la región donde se inician los clústeres de Dataproc, el clúster se inicia en esa subred.
  • Si hay varias subredes en una región, debes configurar Cloud Data Fusion a fin de seleccionar la subred con Acceso privado a Google para iniciar clústeres de Dataproc.

Si deseas habilitar el Acceso privado a Google para la subred, consulta Configuración del Acceso privado a Google.

Opcional: Conéctate a otras fuentes

Después de crear una instancia privada en Cloud Data Fusion, puedes conectarte a otras fuentes, como en los siguientes casos prácticos:

Habilita el intercambio de tráfico de DNS (opcional)

Habilita el intercambio de tráfico de DNS en los siguientes casos:

  • Cuando Cloud Data Fusion se conecta a sistemas mediante nombres de host, en lugar de direcciones IP
  • Cuando el sistema de destino se implementa detrás de un balanceador de cargas, como lo hace en algunas implementaciones de SAP

¿Qué sigue?