Crea una instancia privada con Private Service Connect

En esta página, se describe cómo configurar Private Service Connect en Cloud Data Fusion.

Acerca de Private Service Connect en Cloud Data Fusion

Es posible que las instancias de Cloud Data Fusion deban conectarse a recursos ubicados de manera local, en Google Cloud o en otros proveedores de servicios en la nube. Cuando usas Cloud Data Fusion con direcciones IP internas, las conexiones a recursos externos se establecen a través de una red de nube privada virtual (VPC) en el proyecto de Google Cloud. El tráfico de la red no pasa por la Internet pública. Cuando Cloud Data Fusion obtiene acceso a tu red de VPC mediante el intercambio de tráfico entre VPC, existen limitaciones que se hacen evidentes cuando usas redes a gran escala.

Con las interfaces de Private Service Connect, Cloud Data Fusion se conecta a tu VPC sin usar el intercambio de tráfico entre VPC. La interfaz de Private Service Connect es un tipo de Private Service Connect que proporciona una forma para que Cloud Data Fusion inicie conexiones privadas y seguras a redes de VPC del consumidor. Esto no solo proporciona la flexibilidad y facilidad de acceso (como el intercambio de tráfico entre VPC), sino que también brinda autorización explícita y control del lado del consumidor que ofrece Private Service Connect.

En el siguiente diagrama, se muestra cómo se implementa la interfaz de Private Service Connect en Cloud Data Fusion:

Deployment de la interfaz de Private Service Connect

Figura 1. Deployment de la interfaz de Private Service Connect

Descripción de la Figura 1:

  • Las máquinas virtuales (VM) que ejecutan Cloud Data Fusion se alojan en un proyecto de usuario que es propiedad de Google. Para acceder a los recursos en la VPC del cliente, las VM de Cloud Data Fusion usan la dirección IP asignada por la interfaz de red de Private Service Connect desde la subred del cliente. Esta subred se agrega al adjunto de red que usa Cloud Data Fusion.

  • Los paquetes de IP que se originan en la interfaz de Private Service Connect se tratan de manera similar a los de una VM en la misma subred. Esta configuración permite que Cloud Data Fusion acceda directamente a los recursos en la VPC del cliente o en una VPC de intercambio de tráfico sin la necesidad de un proxy.

  • Los recursos de Internet se vuelven accesibles cuando Cloud NAT está habilitado en la VPC del cliente, mientras que los recursos locales son accesibles a través de una interconexión.

  • Para administrar la entrada o salida de Private Service Connectt, implementa reglas de firewall.

Beneficios clave

Los siguientes son los beneficios clave de usar Cloud Data Fusion con Private Service Connect:

  • Mejor control del espacio de IP. Tú controlas las direcciones IP que usa Cloud Data Fusion para conectarse a tu red. Elige las subredes desde las que se asignan las direcciones IP a Cloud Data Fusion. Todo el tráfico de Cloud Data Fusion tiene una dirección IP de origen de tu subred configurada.

    Private Service Connect elimina la necesidad de direcciones IP reservadas desde una VPC de cliente. El intercambio de tráfico entre VPC requiere un bloque de CIDR /22 (1,024 direcciones IP) por instancia de Cloud Data Fusion.

  • Aislamiento y seguridad mejorados. Cuando configuras un adjunto de red, controlas qué servicios pueden acceder a tu red.

  • Configuración simplificada de instancias de Cloud Data Fusion. Crea un adjunto de red por VPC de cliente solo una vez. No es necesario usar VM de proxy para conectarse a recursos en Internet, VPC de intercambio de tráfico o locales.

Conceptos clave

En esta sección, se explican los conceptos involucrados en Private Service Connect en Cloud Data Fusion.

Adjunto de red

El adjunto de red es un recurso regional que se usa para autorizar a Cloud Data Fusion a usar y establecer conexiones de red de forma privada para acceder a los recursos en tu VPC. Para obtener más información, consulta Acerca de los adjuntos de red.

VPC compartida

El siguiente es un caso de uso de las interfaces de Private Service Connect con una VPC compartida:

  • La red o el equipo de infraestructura son propietarios de las subredes en un proyecto host. Permiten que los equipos de aplicaciones usen estas subredes desde su proyecto de servicio.

  • Los equipos de aplicaciones son propietarios de los adjuntos de red en un proyecto de servicio. El adjunto de red define qué proyectos de inquilino de Cloud Data Fusion pueden conectarse a las subredes vinculadas al adjunto de red.

Puedes crear un adjunto de red en un proyecto de servicio. Las subredes que se usan en un adjunto de red solo pueden estar en el proyecto host.

En el siguiente diagrama, se ilustra este caso de uso:

Caso de uso de las interfaces de Private Service Connect con VPC compartida

Figura 2. Caso de uso de las interfaces de Private Service Connectt con VPC compartida

Descripción de la Figura 2:

  • El adjunto de red está presente en el proyecto de servicio. El adjunto de red usa una subred que pertenece a una VPC compartida en el proyecto host.

  • La instancia de Cloud Data Fusion está presente en el proyecto de servicio y usa el adjunto de red del proyecto de servicio para establecer la conectividad privada.

  • A la instancia de Cloud Data Fusion se le asignan direcciones IP de la subred en la VPC compartida.

Antes de comenzar

  • Private Service Connect solo está disponible en Cloud Data Fusion 6.10.0 y versiones posteriores.

  • Puedes habilitar Private Service Connect solo cuando creas una instancia nueva de Cloud Data Fusion. No puedes migrar las instancias existentes para usar Private Service Connect.

Precios

Se cobra la entrada y salida de datos a través de Private Service Connect. Para obtener más información, consulta los precios de Private Service Connect.

Roles y permisos requeridos

Si quieres obtener los permisos que necesitas para crear una instancia de Cloud Data Fusion y un adjunto de red, pídele a tu administrador que te otorgue los siguientes roles de Identity and Access Management (IAM) en tu proyecto:

Para obtener los permisos que Cloud Data Fusion necesita para validar la configuración de red, pídele a tu administrador que otorgue los siguientes roles de IAM al agente de servicio de Cloud Data Fusion (con el formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com):

  • Para la VPC asociada con el adjunto de red: Visualizador de red de Compute (roles/compute.networkViewer)

  • Para que Cloud Data Fusion agregue su proyecto de usuario a la lista de aceptación del productor del adjunto de red, haz lo siguiente:

    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.networkAttachments.list

    La función más restrictiva con estos permisos es la de Administrador de red de Compute (roles/compute.networkAdmin). Estos permisos forman parte de la función del agente de servicio de la API de Cloud Data Fusion (roles/datafusion.serviceAgent), que se otorga de forma automática al agente de servicio de Cloud Data Fusion. Por lo tanto, no se requiere ninguna acción, a menos que el otorgamiento de la función de agente de servicio se haya quitado de forma explícita.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para obtener más información sobre las opciones de control de acceso en Cloud Data Fusion, consulta Control de acceso con IAM.

Crea una red de VPC o de VPC compartida

Asegúrate de haber creado una red de VPC o una red de VPC compartida.

Configura Private Service Connect

Para configurar Private Service Connect en Cloud Data Fusion, primero debes crear un adjunto de red y, luego, crear una instancia de Cloud Data Fusion con Private Service Connect.

Crea un adjunto de red

El adjunto de red proporciona un conjunto de subredes. Para crear un adjunto de red, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Adjuntos de red:

    Ir a Adjuntos de red

  2. Haz clic en Create network attachment.

  3. En el campo Name, ingresa el nombre de tu red.

  4. En la lista Red, selecciona una red de VPC o de VPC compartida.

  5. En la lista Región, selecciona una región de Google Cloud. Esta región debe ser la misma que la instancia de Cloud Data Fusion.

  6. En la lista Subred, selecciona un rango de subred.

  7. En Preferencia de conexión, selecciona Aceptar conexiones para los proyectos seleccionados.

    Cuando creas la instancia de Cloud Data Fusion, Cloud Data Fusion agrega de forma automática el proyecto de usuario de Cloud Data Fusion a la lista Proyectos aceptados.

  8. No agregues Proyectos aceptados ni Proyectos rechazados.

  9. Haz clic en Create network attachment.

    Crea un adjunto de red

gcloud

  1. Crea una o más subredes. Por ejemplo:

    gcloud compute networks subnets create subnet-1 --network=network-0 --range=10.10.1.0/24 --region=REGION
    

    El adjunto de red usa estas subredes en los pasos posteriores.

  2. Crea un recurso de adjunto de red en la misma región que la instancia de Cloud Data Fusion, con la propiedad connection-preference establecida en ACCEPT_MANUAL:

    gcloud compute network-attachments create NAME
    --region=REGION
    --connection-preference=ACCEPT_MANUAL
    --subnets=SUBNET
    

    Reemplaza lo siguiente:

    • NAME: Es el nombre de tu adjunto de red.
    • REGION: Es el nombre de la región de Google Cloud. Esta región debe ser la misma que la instancia de Cloud Data Fusion.
    • SUBNET: Es el nombre de la subred.

    El resultado de este comando es una URL de adjunto de red con el siguiente formato:

    projects/PROJECT/locations/REGION/network-attachments/NETWORK_ATTACHMENT_ID.

    Anota esta URL, ya que Cloud Data Fusion la necesita para la conectividad.

API de REST

  1. Crea una subred.

  2. Crea un adjunto de red:

    alias authtoken="gcloud auth print-access-token"
    NETWORK_ATTACHMENT_NAME=NETWORK_ATTACHMENT_NAME
    REGION=REGION
    SUBNET=SUBNET
    PROJECT_ID=PROJECT_ID
    
    read -r -d '' BODY << EOM
    {
      "name": "$NETWORK_ATTACHMENT_NAME",
      "description": "Network attachment for private Cloud Data Fusion",
      "connectionPreference": "ACCEPT_MANUAL",
      "subnetworks": [
        "projects/$PROJECT_ID/regions/$REGION/subnetworks/$SUBNET"
      ]
    }
    EOM
    
    curl -H "Authorization: Bearer $(authtoken)" \
    -H "Content-Type: application/json" \
    -X POST   -d "$BODY" "https://compute.googleapis.com/compute/v1/projects/$PROJECT_ID/regions/$REGION/networkAttachments"
    

    Reemplaza lo siguiente:

    • NETWORK_ATTACHMENT_NAME: Es el nombre de tu adjunto de red.
    • REGION: Es el nombre de la región de Google Cloud. Esta región debe ser la misma que la instancia de Cloud Data Fusion.
    • SUBNET: Es el nombre de la subred.
    • PROJECT_ID: el ID de tu proyecto.

Cree una instancia de Cloud Data Fusion

Cloud Data Fusion usa un bloque de /25 CIDR (128 IP) para los recursos del proyecto de usuario. Esto se denomina rango reservado o inaccesible. Puedes usar las mismas direcciones IP en las VPC, pero las VM de Cloud Data Fusion no podrán conectarse con tus recursos mediante este rango.

En la mayoría de los casos, esto no es un problema, ya que el bloque CIDR inaccesible se encuentra en un rango que no es RFC 1918 (240.0.0.0/8) de forma predeterminada. Si quieres controlar el rango inaccesible, consulta Configuración avanzada.

Para crear una instancia de Cloud Data Fusion con Private Service Connect habilitado, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud Data Fusion y haz clic en Crear instancia.

    Crear una instancia

  2. En el campo Nombre de la instancia, ingresa un nombre para tu nueva instancia.

  3. En el campo Description, ingresa una descripción para la instancia.

  4. En la lista Región, selecciona la región de Google Cloud en la que deseas crear la instancia.

  5. En la lista Versión, selecciona 6.10 o una versión posterior.

  6. Selecciona una edición. Para obtener más información sobre los precios de diferentes ediciones, consulta la descripción general de los precios de Cloud Data Fusion.

  7. Expande Advanced options y haz lo siguiente:

    1. Selecciona Enable private IP.

    2. Selecciona Private Service Connect como el Tipo de conectividad.

    3. En la sección Adjunto de red, selecciona el adjunto de red que creaste en Crear un adjunto de red.

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

    Crea una instancia de Cloud Data Fusion con Private Service Connect

API de REST

Ejecuta el siguiente comando:

alias authtoken="gcloud auth print-access-token"

EDITION=EDITION
PROJECT_ID=PROJECT_ID
REGION=REGION
CDF_ID=INSTANCE_ID
NETWORK_ATTACHMENT_ID=NETWORK_ATTACHMENT_ID

read -r -d '' BODY << EOM
{
  "description": "PSC enabled instance",
  "version": "6.10",
  "type": "$EDITION",
  "privateInstance": "true",
  "networkConfig": {
    "connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
    "privateServiceConnectConfig": {
      "networkAttachment": "$NETWORK_ATTACHMENT_ID"
    }
  }
}
EOM

curl -H "Authorization: Bearer $(authtoken)" \
-H "Content-Type: application/json" \
-X POST   -d "$BODY" "https://datafusion.googleapis.com/v1/projects/$PROJECT_ID/locations/$REGION/instances/?instanceId=$CDF_ID"

Reemplaza lo siguiente:

  • EDITION: Es la edición de Cloud Data Fusion: BASIC, DEVELOPER o ENTERPRISE.
  • PROJECT_ID: el ID de tu proyecto.
  • REGION: Es el nombre de la región de Google Cloud. Esta región debe ser la misma que la instancia de Cloud Data Fusion.
  • INSTANCE_ID: Es el ID de la instancia.
  • NETWORK_ATTACHMENT_ID: Es el ID de tu adjunto de red.

Configuración avanzada

Para habilitar el uso compartido de subredes, puedes proporcionar el mismo adjunto de red a varias instancias de Cloud Data Fusion. Por el contrario, si deseas dedicar una subred para una instancia particular de Cloud Data Fusion, debes proporcionar un adjunto de red específico que la instancia de Cloud Data Fusion usará.

Recomendación: Para aplicar una política de firewall uniforme a todas las instancias de Cloud Data Fusion, usa el mismo adjunto de red.

Si deseas controlar el bloque CIDR /25 al que no puede acceder Cloud Data Fusion, especifica la propiedad unreachableCidrBlock cuando crees la instancia. Por ejemplo:

alias authtoken="gcloud auth print-access-token"

EDITION=EDITION
PROJECT_ID=PROJECT_ID
REGION=REGION
CDF_ID=INSTANCE_ID
NETWORK_ATTACHMENT_ID=NETWORK_ATTACHMENT_ID
UNREACHABLE_RANGE=UNREACHABLE_RANGE

read -r -d '' BODY << EOM
{
  "description": "PSC enabled instance",
  "version": "6.10",
  "type": "$EDITION",
  "privateInstance": "true",
  "networkConfig": {
    "connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
    "unreachableCidrBlock": "$UNREACHABLE_RANGE"
    "privateServiceConnectConfig": {
      "networkAttachment": "projects/$PROJECT_ID/regions/$REGION/networkAttachments/$NETWORK_ATTACHMENT_ID"
    }
  }
}
EOM

curl -H "Authorization: Bearer $(authtoken)" \
-H "Content-Type: application/json" \
-X POST -d "$BODY" "https://datafusion.googleapis.com/v1/projects/$PROJECT_ID/locations/$REGION/instances/?instanceId=$CDF_ID"

Reemplaza lo siguiente:

  • EDITION: Es la edición de Cloud Data Fusion: BASIC, DEVELOPER o ENTERPRISE.
  • PROJECT_ID: el ID de tu proyecto.
  • REGION: Es el nombre de la región de Google Cloud. Esta región debe ser la misma que la instancia de Cloud Data Fusion.
  • INSTANCE_ID: Es el ID de la instancia.
  • NETWORK_ATTACHMENT_ID: Es el ID de tu adjunto de red.
  • UNREACHABLE_RANGE: Es el rango inaccesible (por ejemplo, 10.0.0.0/25).

Seguridad

En esta sección, se describe la seguridad entre Cloud Data Fusion y los consumidores.

Cloud Data Fusion para la seguridad del consumidor

Las interfaces de Private Service Connect admiten reglas de firewall de salida para controlar a qué puede acceder Para obtener más información, consulta Limita la entrada del productor al consumidor.

Seguridad del consumidor a Cloud Data Fusion

Las VM de Cloud Data Fusion con la interfaz de Private Service Connect bloquean el tráfico que se origina en la VPC y no es un paquete de respuesta.