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 locales, en Google Cloud o en otros proveedores de servicios en la nube. Cuando usas Cloud Data Fusion con direcciones IP internas, las conexiones a los recursos externos se establecen a través de una red de nube privada virtual (VPC) en el proyecto de Google Cloud. El tráfico a través de la red no pasa por la Internet pública. Cuando se proporciona acceso a Cloud Data Fusion a tu red de VPC mediante el intercambio de tráfico de VPC, existen limitaciones que se manifiestan cuando usas redes de 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 con las redes de VPC del consumidor. Esto no solo proporciona la flexibilidad y la facilidad de acceso (como el intercambio de tráfico de VPC), sino que también proporciona 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 propiedad de Google. Para acceder a los recursos en la VPC del cliente, las VM de Cloud Data Fusion usan la dirección IP que asigna 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 la salida desde Private Service Connect, puedes implementar reglas de firewall.

Beneficios clave

A continuación, se muestran los beneficios clave de usar Cloud Data Fusion con Private Service Connect:

  • Mejor control del espacio de IP Tú controlas las direcciones IP que Cloud Data Fusion usa para conectarse a tu red. Tú eliges 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 la subred configurada.

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

  • Seguridad y aislamiento mejorados. Para controlar un adjunto de red, puedes controlar 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 conectarte a los recursos de Internet, VPC de intercambio de tráfico o de forma local.

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 para las interfaces de Private Service Connect con la VPC compartida:

  • La red o el equipo de infraestructura son propietarios de las subredes de 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 usuarios 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 usadas 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 para interfaces de Private Service Connect con VPC compartida

Figura 2. Caso de uso para interfaces de Private Service Connect 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 de Cloud Data Fusion nueva. 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

A fin de 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:

A fin de 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 a la cuenta de servicio de Cloud Data Fusion administrada por Google (con el formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com):

  • Para la VPC asociada con el adjunto de red, usa Compute Network Viewer (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, sigue estos pasos:

    • 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 Agente de servicio de la API de Cloud Data Fusion (roles/datafusion.serviceAgent), que se otorga automáticamente a la cuenta de servicio de Cloud Data Fusion administrada por Google. Por lo tanto, no se requiere ninguna acción, a menos que la asignación 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 Archivos adjuntos de red:

    Ir a Archivos 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 una red 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 de 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 proyectos seleccionados.

    Cloud Data Fusion agrega automáticamente el proyecto de usuario de Cloud Data Fusion a la lista Proyectos aceptados cuando creas la instancia de Cloud Data Fusion.

  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 usará 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 de 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.

    Toma nota de 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 de 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 CIDR /25 (128 IP) para los recursos en el proyecto de usuario. Esto se denomina rango reservado o inaccesible. Puedes usar las mismas direcciones IP en las VPC, pero las VMs 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, de forma predeterminada, el bloque CIDR inaccesible se encuentra en un rango que no es RFC 1918 (240.0.0.0/8). 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 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 Crea 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 de la instancia de Cloud Data Fusion.
  • INSTANCE_ID: 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 a una instancia de Cloud Data Fusion en particular, debes proporcionar un adjunto de red específico para que lo use la instancia de Cloud Data Fusion.

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 de la instancia de Cloud Data Fusion.
  • INSTANCE_ID: El ID de la instancia
  • NETWORK_ATTACHMENT_ID: Es el ID de tu adjunto de red.
  • UNREACHABLE_RANGE: 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 Cloud Data Fusion dentro de tu VPC. Para obtener más información, consulta Limita la entrada de productor a consumidor.

Del consumidor a la seguridad de Cloud Data Fusion

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