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. Creas la instancia 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 en una red de VPC privada en tu proyecto de Google Cloud. El tráfico en la red no pasa por la Internet pública.

  • La instancia puede conectarse a los recursos locales, como las bases de datos relacionales, ya que la red local se conecta a la red de VPC privada de Google Cloud mediante Cloud VPN o Cloud Interconnect. Puedes acceder de forma segura a tus 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.
  • Crear 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 Cloud Data Fusion versión 6.2.0 o anterior, crea una regla de firewall.
  • Permite que diferentes servicios de Google Cloud se comuniquen internamente entre sí mediante la habilitación del Acceso privado a Google en la subred de Dataproc.

Antes de comenzar

  • Para obtener 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

Para usar una VPC compartida, debes asignar un rango de IP a tu instancia de Cloud Data Fusion.

Para asignar un rango de IP a tu instancia de Cloud Data Fusion, sigue estos pasos:

  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 quieres 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.

    Configura 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 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 deseas crear la instancia.

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

  5. Especifica la cuenta de servicio de Dataproc que se usará para ejecutar la 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 una red en la que 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: La string de ID que debería obtener la instancia nueva.
  • NETWORK_NAME: Es el nombre de la red de VPC en la que deseas crear tu instancia privada.
  • IP_RANGE: Es el rango de IP que asignaste. Para encontrar el rango de IP en Google Cloud Console, 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 sustituir estos valores directamente 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: La string de ID que debería obtener la 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: Es el rango de IP que asignaste. Para encontrar el rango de IP en Google Cloud Console, 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 la validación de esquemas) inician conexiones de red desde la VPC del proyecto de usuario a 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 la red a través de 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 se requiere 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 la instancia de Cloud Data Fusion.
      • INSTANCE_ID: Es el ID de tu instancia de Cloud Data Fusion.
    6. Selecciona la versión de Protocolo de Internet para la conexión de intercambio de tráfico a fin de intercambiar 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 de tu red de VPC a la red de VPC del usuario.

    8. Elige si quieres permitir la importación o exportación de rutas de subredes con IPv4 públicas 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 Crear 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 la 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 Cómo otorgar 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.

Para crear la regla de firewall, puedes usar la consola de Google Cloud o usar 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: El nombre de la regla de firewall que se creará.
  • IP_RANGE: Es el rango de IP que asignaste.
  • NETWORK_NAME: Es el nombre de la red a la que se conecta 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 los casos de uso de conexión

En las siguientes secciones, se describen los casos de uso 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 hay una subred presente en la región en la que 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 para seleccionar la subred con el Acceso privado a Google y poder iniciar clústeres de Dataproc.

Para habilitar el Acceso privado a Google en la subred, consulta Configuración del Acceso privado a Google.

Conéctate a otras fuentes (opcional)

Después de crear una instancia privada en Cloud Data Fusion, puedes conectarte a otras fuentes, como 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 a través de nombres de host, en lugar de direcciones IP
  • Cuando el sistema de destino se implementa detrás de un balanceador de cargas, como en algunas implementaciones de SAP

¿Qué sigue?