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 tengan que conectarse a recursos ubicados en entornos on-premise, en Google Cloudo en otros proveedores de servicios en la nube. Cuando se usa 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 tuGoogle Cloud proyecto. El tráfico de la red no pasa por la red pública de Internet. Cuando se concede acceso a Cloud Data Fusion a tu red de VPC mediante el emparejamiento de VPCs, hay 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 peering de VPC. Una interfaz de Private Service Connect es un tipo de Private Service Connect que proporciona a Cloud Data Fusion una forma de iniciar conexiones privadas y seguras con redes de VPC de consumidores. De esta forma, no solo se ofrece la flexibilidad y la facilidad de acceso (como el peering de VPC), sino también la autorización explícita y el 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:
Imagen 1. Implementación 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 inquilino propiedad de Google. Para acceder a los recursos de la VPC del cliente, las VMs de Cloud Data Fusion usan la dirección IP asignada por la interfaz de red de Private Service Connect de la subred del cliente. Esta subred se añade al adjunto de red que usa Cloud Data Fusion.
Los paquetes IP que proceden de la interfaz de Private Service Connect se tratan de forma similar a los de una VM de la misma subred. Esta configuración permite que Cloud Data Fusion acceda directamente a los recursos de la VPC del cliente o de una VPC emparejada sin necesidad de un proxy.
Se puede acceder a los recursos de Internet cuando Cloud NAT está habilitado en la VPC del cliente, mientras que se puede acceder a los recursos on-premise a través de una interconexión.
Para gestionar la entrada o la salida de Private Service Connect, puedes implementar reglas de cortafuegos.
Principales ventajas
Estas son las principales ventajas 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 de 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 que hayas configurado.
Private Service Connect elimina la necesidad de reservar direcciones IP de una VPC de un cliente. El emparejamiento de VPC requiere un bloque CIDR /22 (1024 direcciones IP) por instancia de Cloud Data Fusion.
Mayor seguridad y aislamiento. Al configurar una conexión de red, puedes controlar qué servicios pueden acceder a tu red.
Configuración simplificada de instancias de Cloud Data Fusion. Crea una conexión de red por VPC de cliente solo una vez. No es necesario usar VMs proxy para conectarse a recursos en Internet, a VPCs emparejadas o a recursos locales.
Conceptos clave
En esta sección se explican los conceptos relacionados con Private Service Connect en Cloud Data Fusion.
Conexión de red
Un 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 de tu VPC. Para obtener más información, consulta Acerca de los archivos adjuntos de red.
VPC compartida
A continuación, se muestra un caso práctico de interfaces de Private Service Connect con VPC compartida:
El equipo de red o de infraestructura es el propietario de las subredes de un proyecto de host. Permiten que los equipos de aplicaciones usen estas subredes desde su proyecto de servicio.
Los equipos de aplicaciones son los propietarios de las vinculaciones de red de un proyecto de servicio. El adjunto de red define a qué proyectos de inquilino de Cloud Data Fusion se pueden conectar las subredes vinculadas al adjunto de red.
Puedes crear una vinculación de red en un proyecto de servicio. Las subredes utilizadas en un adjunto de red solo pueden estar en el proyecto host.
En el siguiente diagrama se ilustra este caso práctico:
Imagen 2. Caso práctico de las interfaces de Private Service Connect con VPC compartida
Descripción de la figura 2:
La vinculación 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 la vinculación 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 de la VPC compartida.
Antes de empezar
Private Service Connect solo está disponible en Cloud Data Fusion 6.10.0 y versiones posteriores.
Solo puedes habilitar Private Service Connect cuando creas una instancia de Cloud Data Fusion. No puedes migrar las instancias actuales para usar Private Service Connect.
Precios
La entrada y la salida de datos a través de Private Service Connect se cobran. Para obtener más información, consulta los precios de Private Service Connect.
Roles y permisos necesarios
Para obtener los permisos que necesitas para crear una instancia de Cloud Data Fusion y un adjunto de red, pide a tu administrador que te conceda los siguientes roles de Gestión de Identidades y Accesos (IAM) en tu proyecto:
- Crea una instancia de Cloud Data Fusion:
Administrador de Cloud Data Fusion (
roles/datafusion.admin
) - Crear, ver y eliminar adjuntos de red:
Administrador de red de Compute (
roles/compute.networkAdmin
)
Para asegurarte de que Cloud Data Fusion tiene los permisos necesarios para validar la configuración de la red, pide a tu administrador que conceda los siguientes roles de IAM a la cuenta de servicio de Cloud Data Fusion (con el formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
) en tu proyecto:
En la VPC asociada al adjunto de red, selecciona Lector de red de Compute (
roles/compute.networkViewer
).Para que Cloud Data Fusion añada su proyecto de arrendatario a la lista de aceptación del productor de la vinculación de red, siga estos pasos:
compute.networkAttachments.get
compute.networkAttachments.update
compute.networkAttachments.list
El rol más restrictivo con estos permisos es el de Administrador de red de Compute (
roles/compute.networkAdmin
). Estos permisos forman parte del rol Agente de servicio de la API de Cloud Data Fusion (roles/datafusion.serviceAgent
), que se asigna automáticamente al agente de servicio de Cloud Data Fusion. Por lo tanto, no es necesario que hagas nada, a menos que se haya retirado explícitamente la concesión del rol de agente de servicio.
Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para obtener más información sobre las opciones de control de acceso en Cloud Data Fusion, consulta Control de acceso con IAM.
Crear una red VPC o una red de VPC compartida
Asegúrate de haber creado una red de VPC o una red de VPC compartida.
Configurar Private Service Connect
Para configurar Private Service Connect en Cloud Data Fusion, primero debes crear una vinculación de red y, a continuación, crear una instancia de Cloud Data Fusion con Private Service Connect.
Crear un archivo adjunto de red
El adjunto de red proporciona un conjunto de subredes. Para crear un archivo adjunto de red, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Conexiones de red:
Haz clic en Crear conexión de red.
En el campo Name (Nombre), introduce el nombre del archivo adjunto de red.
En la lista Red, selecciona una VPC o una red de VPC compartida.
En la lista Región, selecciona una región Google Cloud . Esta región debe ser la misma que la de la instancia de Cloud Data Fusion.
En la lista Subred, seleccione un intervalo de subred.
En Preferencia de conexión, selecciona Aceptar conexiones de los proyectos seleccionados.
Cloud Data Fusion añade automáticamente el proyecto de inquilino de Cloud Data Fusion a la lista Proyectos aceptados cuando creas la instancia de Cloud Data Fusion.
No añadas Proyectos aceptados ni Proyectos rechazados.
Haz clic en Crear conexión de red.
gcloud
Crea una o varias 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 siguientes.
Crea un recurso de adjunto de red en la misma región que la instancia de Cloud Data Fusion, con la propiedad
connection-preference
definida comoACCEPT_MANUAL
:gcloud compute network-attachments create NAME --region=REGION --connection-preference=ACCEPT_MANUAL --subnets=SUBNET
Haz los cambios siguientes:
NAME
: el nombre del archivo adjunto de red.REGION
: el nombre de la Google Cloud región. Esta región debe ser la misma que la de la instancia de Cloud Data Fusion.SUBNET
: 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 REST
Crea un archivo 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"
Haz los cambios siguientes:
NETWORK_ATTACHMENT_NAME
: el nombre de tu archivo adjunto de red.REGION
: el nombre de la Google Cloud región. Esta región debe ser la misma que la de la instancia de Cloud Data Fusion.SUBNET
: el nombre de la subred.PROJECT_ID
: el ID de tu proyecto.
Crear una instancia de Cloud Data Fusion
Cloud Data Fusion usa un bloque CIDR /25 (128 IPs) para los recursos del proyecto de arrendatario. Es lo que se conoce como intervalo no accesible o reservado. Puedes usar las mismas direcciones IP en las VPCs, pero las VMs de Cloud Data Fusion no podrán conectarse a tus recursos con este intervalo.
En la mayoría de los casos, esto no supone ningún problema, ya que el bloque CIDR al que no se puede acceder se encuentra en un intervalo que no es RFC 1918 (240.0.0.0/8) de forma predeterminada. Si quieres controlar el intervalo no accesible, consulta Configuraciones avanzadas.
Para crear una instancia de Cloud Data Fusion con Private Service Connect habilitado, sigue estos pasos:
Consola
En la consola de Google Cloud , ve a la página Instancias de Cloud Data Fusion y haz clic en Crear instancia.
En el campo Nombre de la instancia, introduce un nombre para la nueva instancia.
En el campo Description (Descripción), escriba una descripción de la instancia.
En la lista Región, selecciona la Google Cloud región en la que quieras crear la instancia.
En la lista Versión, selecciona
6.10
o una versión posterior.Selecciona una edición. Para obtener más información sobre los precios de las diferentes ediciones, consulta el resumen de precios de Cloud Data Fusion.
Despliega Opciones avanzadas y haz lo siguiente:
Selecciona Habilitar IP privada.
Selecciona Private Service Connect como Tipo de conectividad.
En la sección Red adjunta, selecciona la red adjunta que has creado en Crear una red adjunta.
Haz clic en Crear. El proceso de creación de la instancia tarda hasta 30 minutos en completarse.
API 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"
Haz los cambios siguientes:
EDITION
: la edición de Cloud Data Fusion:BASIC
,DEVELOPER
oENTERPRISE
.PROJECT_ID
: el ID de tu proyecto.REGION
: el nombre de la Google Cloud región. Esta región debe ser la misma que la de la instancia de Cloud Data Fusion.INSTANCE_ID
: el ID de tu instancia.NETWORK_ATTACHMENT_ID
: el ID de tu archivo adjunto de red.
Configuración avanzada
Para habilitar el uso compartido de subredes, puedes proporcionar la misma conexión de red a varias instancias de Cloud Data Fusion. Por el contrario, si quieres dedicar una subred a una instancia concreta de Cloud Data Fusion, 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 cortafuegos uniforme a todas las instancias de Cloud Data Fusion, utilice la misma conexión de red.
Si quiere controlar el bloque CIDR /25 al que no se puede acceder desde Cloud Data Fusion, especifique la propiedad unreachableCidrBlock
al crear 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"
Haz los cambios siguientes:
EDITION
: la edición de Cloud Data Fusion:BASIC
,DEVELOPER
oENTERPRISE
.PROJECT_ID
: el ID de tu proyecto.REGION
: el nombre de la Google Cloud región. Esta región debe ser la misma que la de la instancia de Cloud Data Fusion.INSTANCE_ID
: el ID de tu instancia.NETWORK_ATTACHMENT_ID
: el ID de tu archivo adjunto de red.UNREACHABLE_RANGE
: el intervalo al que no se puede acceder. Por ejemplo,10.0.0.0/25
.
Seguridad
En esta sección se describe la seguridad entre Cloud Data Fusion y los consumidores.
Seguridad de Cloud Data Fusion para los consumidores
Las interfaces de Private Service Connect admiten reglas de cortafuegos de salida para controlar a qué puede acceder Cloud Data Fusion en tu VPC. Para obtener más información, consulta Limitar el acceso de productores a consumidores.
Seguridad de consumidor a Cloud Data Fusion
Las VMs de Cloud Data Fusion con interfaz de Private Service Connect bloquean cualquier tráfico que proceda de tu VPC y no sea un paquete de respuesta.