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 forma local, en Google Cloud o en otros proveedores de servicios en la nube. Cuando uses Cloud Data Fusion con direcciones IP internas, conexiones a externas recursos se establecen a través de una red de nube privada virtual (VPC) en tu proyecto de Google Cloud. El tráfico de la red no pasa por la Internet pública. Cuando se le proporciona a Cloud Data Fusion acceso a tu red de VPC con el intercambio de tráfico entre VPC, existen limitaciones, que se hacen evidentes cuando usas redes a gran escala.

Con interfaces de Private Service Connect, Cloud Data Fusion se conecta a tu VPC sin el intercambio de tráfico entre VPC. Private Service Connect interfaz es un tipo de Private Service Connect que proporciona una forma para que Cloud Data Fusion inicie conexiones a 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 la autorización explícita y el control 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 Proyecto de usuario de Google. Para acceder a los recursos de la VPC del cliente, las VMs 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 provienen de la interfaz de Private Service Connect se tratan de manera similar a los de una VM en la misma subred. Esta permite que Cloud Data Fusion acceda directamente a los recursos a la VPC del cliente o a una VPC de intercambio de tráfico sin la necesidad de usar un proxy.

  • Se puede acceder a los recursos de Internet cuando se habilita Cloud NAT en la VPC del cliente, mientras que se puede acceder a los recursos locales a través de una interconexión.

  • Para administrar la entrada o salida de Private Service Connect, puedes implementar reglas de firewall.

Ventajas 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 Cloud Data Fusion usa para conectarse a tu red. Tú eliges las subredes desde la cual se asignan las direcciones IP a Cloud Data Fusion. Todas las tráfico de Cloud Data Fusion tiene una dirección IP de origen de tu subred configurada.

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

  • Mayor seguridad y aislamiento Cuando configuras un archivo adjunto de red, controlas qué servicios pueden acceder a tu red.

  • Configuración simplificada de instancias de Cloud Data Fusion. Crea un archivo adjunto de red por VPC del cliente solo una vez. No es necesario usar VMs de proxy para conectarse a recursos en Internet, VPCs de pares 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 Cloud Data Fusion usa y establece conexiones de red de forma privada, por el acceso 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 Private Service Connect con VPC compartida:

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

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

Puedes crear un adjunto de red en un proyecto de servicio. Las subredes utilizadas en un el adjunto de red solo puede estar en el proyecto host.

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

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

Figura 2. Caso de uso de 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. La red adjunto usa una subred que pertenece a una VPC compartida en el host en un proyecto final.

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

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

Antes de comenzar

  • Private Service Connect solo está disponible en Cloud Data Fusion versión 6.10.0 y 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

La entrada y salida de datos a través de Private Service Connect que se hayan cargado correctamente. Para obtener más información, consulta la documentación de Private Service Connect precios.

Roles y permisos requeridos

Para 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:

Garantizar que Cloud Data Fusion tenga los permisos necesarios para validar la configuración de red, pídele a tu administrador que Agente de servicio de Cloud Data Fusion (en el formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) los siguientes roles de IAM en tu proyecto:

  • Para el VPC asociado con el archivo adjunto de red, Visualizador de la 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 archivo adjunto de red, haz lo siguiente:

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

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

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 la IAM.

Crea una red de VPC o de VPC compartida

Asegúrate de haber creado 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 un 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 archivo 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 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 instancia de Cloud Data Fusion.

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

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

    Cloud Data Fusion agrega automáticamente el usuario de Cloud Data Fusion proyecto a la lista Proyectos aceptados cuando crees el 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 archivo de conexión de red usa estas subredes en los pasos posteriores.

  2. Crea un recurso de adjunto de red en la misma región que el Instancia de Cloud Data Fusion, con la propiedad connection-preference Configurado 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 de la 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 del archivo 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 de /25 CIDR (128 IP) para los recursos en la proyecto de usuario. Esto se denomina rango inaccesible o reservado. Puedes usar las mismas direcciones IP en las VPC, pero las VMs de Cloud Data Fusion no podrán conectarte con tus recursos mediante este rango.

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

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 Instancias de Cloud Data Fusion. y haz clic en Crear instancia.

    Crea 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 las 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 Connectivity type.

    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: Cloud Data Fusion edición: 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: El ID de tu 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 quieres dedicar una subred para una instancia específica de Cloud Data Fusion, proporcionar un adjunto de red específico para que lo use Cloud Data Fusion instancia.

Recomendación: Para aplicar una política de firewall uniforme a todos los Las instancias de Cloud Data Fusion usan el mismo adjunto de red.

Si deseas controlar el bloque CIDR /25 al que Cloud Data Fusion no puede acceder, 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",
    "privateServiceConnectConfig": {
      "unreachableCidrBlock": "$UNREACHABLE_RANGE",
      "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: Cloud Data Fusion edición: 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: El ID de tu instancia.
  • NETWORK_ATTACHMENT_ID: Es el ID de tu adjunto de red.
  • UNREACHABLE_RANGE: el elemento inaccesible rango, 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.

Seguridad del consumidor a Cloud Data Fusion

VMs de Cloud Data Fusion con la interfaz de Private Service Connect bloquear el tráfico que se origine en tu VPC y que no sea un paquete de respuesta.