Información sobre la asignación de puertos de Private Service Connect
En esta página, se proporciona 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áquina virtual (VM) se comunican de forma privada con puertos de servicio específicos en VMs de productores específicos mediante un solo extremo de Private Service Connect.
Un consumidor del servicio envía tráfico a varios puertos de destino del extremo del cliente. Private Service Connect usa asignaciones definidas por el productor para reenviar tráfico al puerto de servicio especificado y a la VM del productor. En algunos contextos de red, este enfoque también se conoce como redirección de puertos.
Comparación de puertos y Private Service Connect normal
Los servicios administrados suelen diseñarse como clústeres de VMs, en los que diferentes VMs representan instancias distintas del mismo servicio. Cada VM expone 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 operaciones de escritura de base de datos Las VMs del consumidor se comunican con instancias de servicio específicas mediante la segmentación a puertos en las VMs asociadas a la instancia de servicio.
Una conexión regular (carga balanceada) entre un extremo de Private Service Connect y un adjunto de servicio no es ideal para esta situación. Con una conexión de Private Service Connect, las VMs del consumidor envían tráfico a uno o más puertos de la dirección IP del extremo. Todo el tráfico se balancea con sus cargas y se envía a cualquier VM del 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 cargas. Este enfoque permite que las VMs del consumidor se orienten a puertos de servicio específicos de VMs del productor específicas basadas en el puerto de destino del cliente que recibe el tráfico.
La asignación de puertos de Private Service Connect permite que las VMs del consumidor se comuniquen con VMs de productores específicas mediante el siguiente proceso:
- La VM del consumidor envía paquetes a la dirección IP del extremo mediante un puerto de destino del cliente designado. El puerto de destino del cliente actúa como un identificador único para el puerto y la VM de destino previstos del paquete.
- Private Service Connect usa la asignación del destino del cliente que recibe el tráfico para determinar el destino del paquete.
- Private Service Connect reenvía el tráfico a su puerto de VM de destino y 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 extremo se reenvían al puerto de servicio1000
devm-1
. - Los paquetes que se envían al puerto de destino del cliente
1002
del extremo se reenvían al puerto de servicio2000
devm-1
. - Los paquetes que se envían al puerto de destino del cliente
1003
del extremo se reenvían al puerto de servicio1000
devm-2
. - Los paquetes que se envían al puerto de destino del cliente
1004
del extremo se reenvían al puerto de servicio2000
devm-2
.
Implementación
Implementar una conexión de asignación de puertos de Private Service Connect difiere de la implementación normal de Private Service Connect de extremo a extremo para los servicios publicados de las siguientes maneras:
- El productor del servicio crea un servicio de asignación de puertos. Los servicios de asignación de puertos usan grupos de extremos de red (NEG) de asignación de puertos Esta configuración es similar a la de un balanceador de cargas de red de transferencia interno, pero sin que las cargas de tráfico se balanceen.
- El productor del servicio configura los extremos de red del NEG de asignación de puertos para especificar asignaciones de puertos de destino del cliente de un extremo de Private Service Connect a puertos de servicio de VMs específicas del productor.
- El productor del servicio crea un adjunto de servicio que se asocia con la regla de reenvío de red del servicio de asignación de puertos.
- El productor del servicio comparte los puertos de destino del cliente y sus asignaciones con el consumidor del servicio. Google Cloud no se encarga automáticamente de esto.
- El consumidor de servicios configura las cargas de trabajo para que se comuniquen mediante las asignaciones de puertos definidas por el productor.
Especificaciones
La asignación de puertos de Private Service Connect tienen las siguientes especificaciones:
- Una conexión de asignación de puertos de Private Service Connect requiere un extremo de Private Service Connect en una red de VPC de consumidor que se conecta a un adjunto de servicio en una red de VPC de productor.
- El adjunto de servicio está asociado con un servicio de asignación de puertos. Los servicios de asignación de puertos se configuran de manera similar a los balanceadores de cargas de red de transferencia internos, pero sin que las cargas de tráfico se balanceen. Los servicios de asignación de puertos se componen de los siguientes elementos:
- Una regla de reenvío se conecta a un servicio de backend. La regla de reenvío debe configurarse para tráfico de
TCP
oUDP
. La regla de reenvío debe configurarse para reenviar el tráfico a todos los puertos de destino del cliente, por ejemplo, especificando--ports=ALL
en Google Cloud CLI. Sin embargo, solo necesitas definir asignaciones en el NEG de asignación de puertos para los puertos de destino del cliente que planeas usar. - Un servicio de backend configurado para usar un grupo de extremos de red (NEG) de asignación de puertos Los productores de servicios usan los extremos de red del NEG de asignación de puertos para definir asignaciones únicas de los puertos de destino del cliente del extremo de Private Service Connect a una combinación de puerto de servicio y VM del productor.
- Una regla de reenvío se conecta a un servicio de backend. La regla de reenvío debe configurarse para tráfico de
- En lugar de balancear cargas, el servicio de asignación de puertos reenvía el tráfico basado solo en las asignaciones configuradas en el NEG de asignación de puertos.
- El servicio del productor debe compartir los puertos de destino del cliente válidos y sus respectivas asignaciones con el consumidor. Private Service Connect no comparte esta información con el consumidor.
- El consumidor debe configurar sus cargas de trabajo para comunicarse mediante las asignaciones de puertos definidas por el productor.
- La asignación de puertos de Private Service Connect admite extremos de Private Service Connect, independientemente de si los extremos están configurados para usar acceso global.
- La asignación de puertos de Private Service Connect admite el acceso híbrido. La carga de trabajo local de un consumidor puede llegar a las VMs del productor si accede al extremo de Private Service Connect a través de conexiones de Cloud Interconnect o de Cloud VPN:
Limitaciones
- La asignación de puertos de Private Service Connect no admite el tráfico IPv6.
- Las verificaciones de estado no son compatibles con los servicios de backend que tienen NEGs de asignación de puertos conectados a ellos. La validación bloquea una verificación de estado para que no se configure 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 varios adjuntos de servicio o reglas de reenvío al mismo servicio de backend de asignación de puertos.
Usa el balanceo de cargas con la asignación de puertos de Private Service Connect
La asignación de puertos de Private Service Connect reenvía el tráfico solo según el puerto de destino del cliente que recibe el tráfico. Si quieres usar balanceo de cargas con la asignación de puertos de Private Service Connect, puedes hacer lo siguiente:
- Pídele al consumidor que implemente el balanceo de cargas en el lado del consumidor. El software que se ejecuta en VMs de consumidor puede enviar tráfico a puertos de destino alternativos del cliente.
- Crea un segundo adjunto de servicio en la red de VPC del productor que se conecta a un balanceador de cargas 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 cargas. El consumidor puede enviar tráfico cuya carga necesita balancearse a un extremo que está asociado con el 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.
¿Qué sigue?
- Información sobre el acceso a los servicios publicados a través de extremos
- Crea servicios de asignación de puertos