Información sobre la asignación de puertos de Private Service Connect

En esta página se ofrece una descripción general de la asignación de puertos de Private Service Connect.

La asignación de puertos de Private Service Connect permite que las instancias de máquinas virtuales (VMs) de consumidor se comuniquen de forma privada con puertos de servicio específicos en VMs de productor concretas a través de un único endpoint de Private Service Connect.

Un consumidor de servicios envía tráfico a varios puertos de destino de cliente del endpoint. Private Service Connect usa las asignaciones definidas por el productor para reenviar el tráfico al puerto de servicio y a la VM del productor especificados. En algunos contextos de redes, este enfoque también se conoce como "reenvío de puertos".

Asignación de puertos frente a Private Service Connect normal

Los servicios gestionados suelen diseñarse como clústeres de VMs, donde las diferentes VMs representan instancias independientes del mismo servicio. Todas las VMs exponen las mismas operaciones en los mismos puertos. Por ejemplo, un servicio de base de datos puede usar el puerto 1000 para las operaciones de lectura de la base de datos y el puerto 2000 para las operaciones de escritura de la base de datos. Las VMs de consumidor se comunican con instancias de servicio específicas mediante puertos de destino en las VMs asociadas a la instancia de servicio.

Una conexión normal (con balanceo de carga) entre un punto final de Private Service Connect y un adjunto de servicio no es la opción ideal en esta situación. Con una conexión de Private Service Connect normal, las VMs de consumidor envían tráfico a uno o varios puertos de la dirección IP del punto final. Todo el tráfico se balancea de carga y se envía a cualquier máquina virtual de productor en buen estado que esté configurada como backend para el puerto que recibe el tráfico.

Por el contrario, la asignación de puertos de Private Service Connect elimina el balanceo de carga. Este enfoque permite que las VMs de consumidor segmenten puertos de servicio específicos de VMs de productor concretas en función del puerto de destino del cliente que recibe el tráfico.

Private Service Connect La asignación de puertos reenvía el tráfico de los puertos de destino del cliente de un endpoint a los puertos de servicio de las VMs de productor en función de la asignación que se haya configurado para un NEG de asignación de puertos (haz clic en la imagen para ampliarla).

La asignación de puertos de Private Service Connect permite que las VMs de consumidor se comuniquen con VMs de productor específicas mediante el siguiente proceso:

  1. La VM del consumidor envía paquetes a la dirección IP del endpoint mediante un puerto de destino del cliente designado. El puerto de destino del cliente actúa como identificador único de la VM y el puerto de destino del paquete.
  2. Private Service Connect usa la asignación del puerto de destino del cliente que recibe el tráfico para determinar el destino del paquete.
  3. Private Service Connect reenvía el tráfico a la VM de destino y al puerto de servicio.

Por ejemplo, en la figura 1, los paquetes se reenvían de la siguiente manera:

  • Los paquetes que se envían al puerto de destino del cliente 1001 del endpoint se reenvían al puerto de servicio 1000 de vm-1.
  • Los paquetes que se envían al puerto de destino del cliente 1002 del endpoint se reenvían al puerto de servicio 2000 de vm-1.
  • Los paquetes que se envían al puerto de destino del cliente 1003 del endpoint se reenvían al puerto de servicio 1000 de vm-2.
  • Los paquetes que se envían al puerto de destino del cliente 1004 del endpoint se reenvían al puerto de servicio 2000 de vm-2.

Implementación

El despliegue de una conexión de asignación de puertos de Private Service Connect se diferencia del despliegue de una conexión de punto final de Private Service Connect normal para servicios publicados en los siguientes aspectos:

  1. El productor de servicios crea un servicio de asignación de puertos. Los servicios de asignación de puertos usan grupos de puntos finales de red (NEGs) de asignación de puertos. Esta configuración es similar a la de un balanceador de carga de red de paso a través interno, pero el tráfico no se balancea.
  2. El productor de servicios configura los endpoints de red del NEG de asignación de puertos para especificar las asignaciones de los puertos de destino del cliente de un endpoint de Private Service Connect a los puertos de servicio de máquinas virtuales de productor específicas.
  3. El productor del servicio crea una vinculación de servicio asociada a la regla de reenvío de su servicio de asignación de puertos.
  4. El productor del servicio comparte los puertos de destino del cliente y sus asignaciones con el consumidor del servicio. Google Cloudno gestiona este proceso automáticamente.
  5. El consumidor del servicio configura las cargas de trabajo para que se comuniquen con los servicios gestionados mediante las asignaciones de puertos definidas por el productor.

Especificaciones

La asignación de puertos de Private Service Connect tiene las siguientes especificaciones:

  • Una conexión de asignación de puertos de Private Service Connect requiere un punto final de Private Service Connect en una red de VPC de consumidor que se conecte a una vinculación de servicio en una red de VPC de productor.
  • La vinculación de servicio está asociada a un servicio de asignación de puertos. Los servicios de asignación de puertos se configuran de forma similar a los balanceadores de carga de red de paso a través internos, pero el tráfico no se balancea. Los servicios de asignación de puertos se componen de lo siguiente:
    • Una regla de reenvío que se conecta a un servicio de backend. La regla de reenvío debe configurarse para el tráfico TCP o UDP. La regla de reenvío debe configurarse para reenviar el tráfico de todos los puertos de destino del cliente. Por ejemplo, puede especificar --ports=ALL en la CLI de Google Cloud. Sin embargo, solo tiene que definir las asignaciones en el NEG de asignación de puertos para los puertos de destino del cliente que vaya a usar.
    • Un servicio de backend configurado para usar un grupo de puntos finales de red (NEG) de asignación de puertos. Los productores de servicios usan los puntos finales de red del NEG de asignación de puertos para definir asignaciones únicas de los puertos de destino del cliente del punto final de Private Service Connect a una combinación de puerto de servicio y VM de productor.
  • En lugar de balancear la carga del tráfico, el servicio de asignación de puertos reenvía el tráfico basándose únicamente en las asignaciones configuradas en el NEG de asignación de puertos.
  • El servicio de productor debe compartir los puertos de destino de cliente válidos y sus asignaciones correspondientes con el consumidor. Private Service Connect no comparte esta información con el consumidor.
  • El consumidor debe configurar sus cargas de trabajo para que se comuniquen con los servicios gestionados mediante las asignaciones de puertos definidas por el productor.
  • Los consumidores pueden habilitar el acceso global para los endpoints que se conecten a servicios de asignación de puertos si el acceso global está habilitado en la regla de reenvío del servicio.
  • La asignación de puertos de Private Service Connect admite el acceso híbrido. Una carga de trabajo on-premise de un consumidor puede acceder a las VMs de un productor accediendo al punto final de Private Service Connect a través de vinculaciones de VLAN para Cloud Interconnect o Cloud VPN.
  • La asignación de puertos de Private Service Connect admite conexiones propagadas (vista previa) para los puntos finales que se conectan a servicios de asignación de puertos.
  • Los servicios de asignación de puertos se pueden publicar mediante direcciones IPv4 o IPv6 (vista previa). Para obtener más información, consulta Versión de IP.

Limitaciones

  • Las comprobaciones de estado no se admiten en los servicios de backend que tengan NEGs de asignación de puertos asociados. La validación impide que se configure una comprobación de estado si el servicio de backend tiene un NEG de asignación de puertos.
  • La asignación de puertos de Private Service Connect no admite la conexión de varias vinculaciones de servicio o reglas de reenvío al mismo servicio de backend de asignación de puertos.
  • Los backends de Private Service Connect no pueden acceder a los servicios de asignación de puertos.

Usar el balanceo de carga con la asignación de puertos de Private Service Connect

El mapeo de puertos de Private Service Connect reenvía el tráfico únicamente en función del puerto de destino del cliente que recibe el tráfico. Si quieres usar el balanceo de carga con la asignación de puertos de Private Service Connect, puedes hacer lo siguiente:

  • Pide al consumidor que implemente el balanceo de carga en el lado del consumidor. El software que se ejecuta en las VMs de los consumidores puede enviar tráfico a puertos de destino de clientes alternativos.
  • Crea una segunda vinculación de servicio en la red de VPC del productor que se conecte a un balanceador de carga en lugar de a un servicio de asignación de puertos. Usa las mismas VMs que están en el NEG de asignación de puertos como backends en el servicio de backend del balanceador de carga. El consumidor puede enviar tráfico que necesite balanceo de carga a un endpoint asociado al segundo adjunto de servicio.

Cuotas

Para obtener información sobre las cuotas y los límites relacionados con la asignación de puertos de Private Service Connect, consulta Cuotas y límites.

Precios

Los precios de Private Service Connect se describen en la página de precios de VPC.

Siguientes pasos