Enviar tráfico sin servidor a una red de VPC

Te recomendamos que habilites tu servicio o trabajo de Cloud Run para que envíe tráfico a una red de VPC mediante salida de VPC directa, sin necesidad de un conector de acceso a VPC sin servidor.

Sin embargo, si la salida de VPC directa no es una opción para ti, puedes usar Acceso a VPC sin servidor para conectarte directamente a tu red de VPC desde entornos sin servidor, como Cloud Run y App Engine. Configurar Acceso a VPC sin servidor permite que tu entorno sin servidor envíe solicitudes a tu red de VPC mediante DNS interno y direcciones IP internas (tal como se definen en RFC 1918 y RFC 6598). Las respuestas a estas solicitudes también usan tu red interna.

Usar Acceso a VPC sin servidor tiene dos ventajas principales:

  • Las solicitudes enviadas a tu red VPC nunca se exponen a Internet.
  • La comunicación a través de Acceso a VPC sin servidor puede tener una latencia menor que la de Internet.

Acceso a VPC sin servidor envía tráfico interno desde tu red de VPC a tu entorno sin servidor solo cuando ese tráfico es una respuesta a una solicitud que se ha enviado desde tu entorno sin servidor a través del conector de Acceso a VPC sin servidor. Para obtener información sobre cómo enviar otro tráfico interno, consulta Acceso privado de Google.

Para acceder a recursos de varias redes de VPC y proyectos, también debes configurar VPC compartida o emparejamiento de redes de VPC.Google Cloud

Cómo funciona

Acceso a VPC sin servidor se basa en un recurso llamado conector. Un conector gestiona el tráfico entre tu entorno sin servidor y tu red de VPC. Cuando creas un conector en tu proyectoGoogle Cloud , lo asocias a una red y una región de VPC específicas. Después, puedes configurar tus servicios sin servidor para que usen el conector para el tráfico de red saliente.

Intervalos de direcciones IP

Hay dos opciones para definir el intervalo de direcciones IP de un conector:

  • Subred: puedes especificar una /28 subred si no hay recursos que ya la utilicen.
  • Intervalo CIDR: puedes especificar un /28 intervalo CIDR que no esté en uso. Al especificar este intervalo, asegúrate de que no se solape con ningún intervalo CIDR en uso.

El tráfico que se envía a través del conector a tu red de VPC procede de la subred o del intervalo CIDR que especifiques.

Reglas de cortafuegos

Las reglas de cortafuegos son necesarias para el funcionamiento del conector y su comunicación con otros recursos, incluidos los recursos de tu red.

Reglas de cortafuegos para conectores en redes VPC independientes o proyectos host de VPC compartida

Si creas un conector en una red de VPC independiente o en el proyecto host de una red de VPC compartida,se crearán todas las reglas de cortafuegos necesarias. Google Cloud Estas reglas de cortafuegos solo existen mientras exista el conector asociado. Se pueden ver en la consola de Google Cloud , pero no se pueden editar ni eliminar.

Propósito de la regla de cortafuegos Formato de nombre Tipo Acción Prioridad Protocolos y puertos
Permite el tráfico a las instancias de VM del conector desde los intervalos de sondas de comprobación del estado (35.191.0.0/16 y 130.211.0.0/22) en determinados puertos. aet-CONNECTOR_REGION-CONNECTOR_NAME-hcfw Entrada Permitir 100 TCP:667
Permite el tráfico a las instancias de VM del conector desde la infraestructura subyacente sin servidor de Google (35.199.224.0/19) en determinados puertos. aet-CONNECTOR_REGION-CONNECTOR_NAME-rsgfw Entrada Permitir 100 TCP:667, UDP:665-666, ICMP
Permite el tráfico de las instancias de VM del conector a la infraestructura sin servidor subyacente de Google (35.199.224.0/19) en determinados puertos. aet-CONNECTOR_REGION-CONNECTOR_NAME-earfw Salida Permitir 100 TCP:667, UDP:665-666, ICMP
Bloquea el tráfico de las instancias de VM del conector a la infraestructura sin servidor subyacente de Google (35.199.224.0/19) para todos los demás puertos. aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw Salida Denegar 100 TCP:1-666, 668-65535, UDP:1-664, 667-65535
Permite todo el tráfico de las instancias de VM del conector (en función de su dirección IP) a todos los recursos de la red de VPC del conector. aet-CONNECTOR_REGION-CONNECTOR_NAME-sbntfw Entrada Permitir 1000 TCP, UDP, ICMP
Permite todo el tráfico de las instancias de VM del conector (en función de su etiqueta de red) a todos los recursos de la red de VPC del conector. aet-CONNECTOR_REGION-CONNECTOR_NAME-tagfw Entrada Permitir 1000 TCP, UDP, ICMP

Puedes restringir aún más el acceso de tu conector a los recursos de su red de VPC de destino mediante reglas de cortafuegos de VPC o reglas de políticas de cortafuegos. Cuando añadas reglas de cortafuegos, asegúrate de que tengan una prioridad superior a 100 para que no entren en conflicto con las reglas de cortafuegos ocultas definidas por Google Cloud. Para obtener más información, consulta Restringir el acceso de la VM del conector a los recursos de la red de VPC.

Reglas de cortafuegos para conectores en proyectos de servicio de VPC compartida

Si creas un conector en un proyecto de servicio y el conector tiene como destino una red de VPC compartida en el proyecto del host, debes añadir reglas de cortafuegos para permitir el tráfico necesario para el funcionamiento del conector.

También puedes restringir el acceso del conector a los recursos de su red de VPC de destino mediante reglas de cortafuegos de VPC o reglas de políticas de cortafuegos. Para obtener más información, consulta Acceso a recursos de VPC.

Rendimiento y escalado

Un conector de Acceso a VPC sin servidor consta de instancias de conector. Las instancias del conector pueden usar uno de los varios tipos de máquina. Los tipos de máquinas más grandes ofrecen un mayor rendimiento. Puedes ver el rendimiento estimado y el coste de cada tipo de máquina en la Google Cloud consola y en la siguiente tabla.

Tipo de máquina Intervalo de rendimiento estimado en Mbps* Precio
(instancia del conector más costes de transferencia de datos de salida de la red)
f1-micro 100-500 Precios de f1-micro
e2-micro 200-1000 Precios de e2-micro
e2-standard-4 3200-16000 Precios de e2 estándar

* Los intervalos de rendimiento máximo son estimaciones basadas en el funcionamiento normal. El rendimiento real depende de muchos factores. Consulta el ancho de banda de la red de la VM.

Puedes definir el número mínimo y máximo de instancias de conector permitidas para tu conector. El valor mínimo debe ser 2 como mínimo. El valor máximo puede ser 10 como mucho y debe ser superior al mínimo. Si no especificas el número mínimo y máximo de instancias de tu conector, se aplicarán los valores predeterminados de 2 y 10, respectivamente. Es posible que un conector supere temporalmente el valor definido para el número máximo de instancias cuando Google realice un mantenimiento quincenal, como actualizaciones de seguridad. Durante el mantenimiento, es posible que se añadan instancias adicionales para asegurar que el servicio no se interrumpa. Después del mantenimiento, los conectores vuelven a tener el mismo número de instancias que antes del periodo de mantenimiento. El mantenimiento suele durar unos minutos. Para reducir el impacto durante el mantenimiento, usa grupos de conexiones y no confíes en que las conexiones duren más de un minuto. Las instancias dejan de aceptar solicitudes un minuto antes de apagarse.

Acceso a VPC sin servidor aumenta automáticamente el número de instancias de tu conector a medida que aumenta el tráfico. Las instancias añadidas son del tipo que has especificado para tu conector. Los conectores no pueden mezclar tipos de máquinas. Los conectores no se reducen. Para evitar que los conectores se escalen más de lo que quieres, define un número máximo de instancias bajo. Si tu conector se ha escalado horizontalmente y prefieres tener menos instancias, vuelve a crear el conector con el número de instancias necesario.

Ejemplo

Si eliges f1-micro como tipo de máquina y usas los valores predeterminados para el número mínimo y máximo de instancias (2 y 10, respectivamente), el rendimiento estimado de tu conector será de 100 Mbps con el número mínimo de instancias predeterminado y de 500 Mbps con el número máximo de instancias predeterminado.

Gráfico de rendimiento

Puedes monitorizar el rendimiento actual desde la página de detalles del conector en la consola deGoogle Cloud . El gráfico de rendimiento de esta página muestra una vista detallada de las métricas de rendimiento del conector.

Etiquetas de red

Las etiquetas de red de Acceso a VPC sin servidor te permiten hacer referencia a conectores de VPC en reglas de cortafuegos y rutas.

Todos los conectores de Acceso a VPC sin servidor reciben automáticamente las dos etiquetas de red siguientes (a veces denominadas etiquetas de instancia):

  • Etiqueta de red universal (vpc-connector): se aplica a todos los conectores actuales y a los que se creen en el futuro.

  • Etiqueta de red única (vpc-connector-REGION-CONNECTOR_NAME): se aplica al conector CONNECTOR_NAME de la región REGION.

Estas etiquetas de red no se pueden eliminar. No se pueden añadir etiquetas de red nuevas. Usa etiquetas de red para restringir el acceso de las VMs del conector a los recursos de la VPC.

Casos prácticos

Puedes usar Acceso a VPC sin servidor para acceder a instancias de VM de Compute Engine, instancias de Memorystore y cualquier otro recurso con DNS interno o dirección IP interna. Algunos ejemplos:

  • Usas Memorystore para almacenar datos de un servicio sin servidor.
  • Tus cargas de trabajo sin servidor usan software de terceros que ejecutas en una máquina virtual de Compute Engine.
  • Ejecutas un servicio backend en un grupo de instancias gestionado en Compute Engine y necesitas que tu entorno sin servidor se comunique con este backend sin exponerse a Internet.
  • Tu entorno sin servidor necesita acceder a los datos de tu base de datos on-premise a través de Cloud VPN.

Ejemplo

En este ejemplo, un proyecto Google Cloud ejecuta varios servicios en los siguientes entornos sin servidor: App Engine, Cloud Run Functions y Cloud Run.

Se ha creado un conector de Acceso a VPC sin servidor y se le ha asignado el intervalo de IPs 10.8.0.0/28. Por lo tanto, la dirección IP de origen de cualquier solicitud enviada desde el conector se encuentra en este intervalo.

Hay dos recursos en la red de VPC. Uno de los recursos tiene la dirección IP interna 10.0.0.4. El otro recurso tiene la dirección IP interna 10.1.0.2 y está en una región diferente a la del conector de acceso a la VPC sin servidor.

El conector se encarga de enviar y recibir las solicitudes y las respuestas directamente desde estas direcciones IP internas. Cuando el conector envía solicitudes al recurso con la dirección IP interna 10.1.0.2, se aplican costes de transferencia de datos salientes porque ese recurso se encuentra en otra región.

Todas las solicitudes y respuestas entre los entornos sin servidor y los recursos de la red de VPC se transmiten internamente.

Las solicitudes enviadas a direcciones IP externas siguen viajando por Internet y no usan el conector de acceso a VPC sin servidor.

En el siguiente diagrama se muestra esta configuración.

Ejemplo de Acceso a VPC sin servidor.
Ejemplo de Acceso a VPC sin servidor (haz clic en la imagen para ampliarla).

Precios

Para consultar los precios de Acceso a VPC sin servidor, vaya a la sección Acceso a VPC sin servidor de la página de precios de VPC.

Servicios admitidos

En la siguiente tabla se muestran los tipos de redes a los que puedes acceder mediante el acceso a VPC sin servidor:

Servicio de conectividad Compatibilidad con Acceso a VPC sin servidor
VPC
VPC compartida
Redes antiguas
Redes conectadas a Cloud Interconnect
Redes conectadas a Cloud VPN
Redes conectadas al emparejamiento entre redes de VPC

En la siguiente tabla se muestra qué entornos sin servidor admiten Acceso a VPC sin servidor:

Entorno sin servidor Compatibilidad con Acceso a VPC sin servidor
Cloud Run
Knative serving*
Cloud Run Functions
Entorno estándar de App Engine Todos los entornos de ejecución, excepto PHP 5
Entorno flexible de App Engine*

*Si quieres usar direcciones IP internas al conectarte desde Knative Serving o el entorno flexible de App Engine, no tienes que configurar el acceso a VPC sin servidor. Solo tienes que asegurarte de que tu servicio se haya implementado en una red de VPC que tenga conectividad con los recursos a los que quieras acceder.

Protocolos de redes admitidos

En la siguiente tabla se describen los protocolos de red compatibles con los conectores de Acceso a VPC sin servidor.

Protocolo La ruta solo realiza solicitudes a IP privadas mediante el conector Dirigir todo el tráfico a través del conector
TCP
UDP
ICMP Solo se admite con direcciones IP externas

Regiones disponibles

Los conectores de acceso a VPC sin servidor se admiten en todas las regiones que admiten Cloud Run, Cloud Run Functions o el entorno estándar de App Engine.

Para ver las regiones disponibles, sigue estos pasos:

gcloud compute networks vpc-access locations list

Siguientes pasos