Acceso a VPC sin servidores

El Acceso a VPC sin servidores te permite conectarte directamente a la red de nube privada virtual (VPC) desde entornos sin servidores, como Cloud Run, App Engine o Cloud Functions. La configuración del Acceso a VPC sin servidores permite que el entorno sin servidores envíe solicitudes a la red de VPC mediante DNS interno y direcciones IP internas (como se define en RFC 1918 y RFC 6598). Las respuestas a estas solicitudes también usan tu red interna.

El uso de Acceso a VPC sin servidores tiene dos beneficios principales:

  • Las solicitudes enviadas a tu red de VPC nunca se exponen a Internet.
  • La comunicación a través del Acceso a VPC sin servidores puede tener menos latencia en comparación con Internet.

El Acceso a VPC sin servidores envía tráfico interno desde tu red de VPC al entorno sin servidores solo cuando ese tráfico es una respuesta a una solicitud que se envió desde el entorno sin servidores a través del conector de acceso a VPC sin servidores. Si deseas obtener más información para enviar otro tráfico interno a tu entorno sin servidores, consulta Acceso privado a Google.

Para acceder a los recursos en varias redes de VPC y proyectos de Google Cloud, también debes configurar la VPC compartida o el intercambio de tráfico entre redes de VPC.

Cómo funciona

El acceso a VPC sin servidores se basa en un recurso denominado conector. Los conectores controlan el tráfico entre el entorno sin servidores y la red de VPC. Cuando creas un conector en un proyecto de Google Cloud, debes conectarlo a una red de VPC y a una región específicas. Luego, puedes configurar tus servicios sin servidores para usar el conector en el tráfico de red saliente.

Rangos de direcciones IP

Existen dos opciones para configurar el rango de direcciones IP de un conector:

  • Subred: Puedes especificar una subred /28 existente si no hay recursos que ya usen la subred.
  • Rango CIDR: Puedes especificar un rango CIDR /28 sin usar. Cuando especifiques este rango, asegúrate de que no se superponga con ningún otro rango CIDR en uso.

El tráfico que se envió a través del conector a la red de VPC se origina desde la subred o el rango de CIDR que especifiques.

Reglas de firewall

Si la subred no es una subred compartida, se crea una regla de firewall implícita con prioridad 1,000 en la red de VPC para permitir la entrada desde la subred del conector o el rango de IP personalizado a todos los destinos en la red. La regla de firewall implícita no se puede ver en la consola de Google Cloud y solo existe mientras exista el conector asociado.

Capacidad de procesamiento y escalamiento

Un conector de acceso a VPC sin servidores consta de instancias de conector. Las instancias de conector pueden usar uno de varios tipos de máquinas. Los tipos de máquina más grandes proporcionan más capacidad de procesamiento. Puedes ver la capacidad de procesamiento y el costo estimados para cada tipo de máquina en la consola de Google Cloud y en la siguiente tabla.

Tipo de máquina Rango de capacidad de procesamiento estimado en Mbps* Precio
(instancia del conector más costos de transferencia de datos de red salientes)
f1-micro 100-500 Precios de f1-micro
e2-micro 200-1000 Precios de e2-micro
e2-standard-4 3200-16000 Precios estándar de e2

* Los rangos de capacidad de procesamiento máximos son estimaciones basadas en operaciones regulares. La capacidad de procesamiento real depende de muchos factores. Consulta Ancho de banda de red de VM.

Puedes establecer la cantidad mínima y máxima de instancias de conector permitidas para tu conector. El mínimo debe ser 2. El máximo puede ser 10 y debe ser mayor que el mínimo. Si no especificas la cantidad mínima y máxima de instancias para tu conector, se aplican el mínimo predeterminado de 2 y el máximo predeterminado de 10. Un conector puede superar de forma temporal el valor establecido para la cantidad máxima de instancias cuando Google realiza el mantenimiento, como las actualizaciones de seguridad. Durante el mantenimiento, se pueden agregar instancias adicionales para garantizar un servicio sin interrupciones. Después del mantenimiento, los conectores se muestran a la misma cantidad de instancias que tenían antes del período de mantenimiento. El mantenimiento suele durar unos minutos. Para reducir el impacto durante el mantenimiento, no confíes en conexiones que duran más de un minuto. Las instancias no aceptan las solicitudes un minuto antes de que se eliminen.

El acceso a VPC sin servidores escala horizontalmente la cantidad de instancias en el conector de forma automática a medida que el tráfico aumenta. Las instancias que se agregan son del tipo que especificaste para el conector. Los conectores no pueden mezclar tipos de máquinas. Los conectores no reducen la escala. Para evitar que los conectores escalen horizontalmente más de lo que deseas, establece la cantidad máxima de instancias en un número bajo. Si el conector escala horizontalmente y prefieres tener menos instancias, vuelve a crear el conector con la cantidad necesaria de instancias.

Ejemplo

Si eliges f1-micro para tu tipo de máquina y usas los valores predeterminados por la cantidad mínima y máxima de instancias (2 y 10 respectivamente), la capacidad de procesamiento estimada de tu conector es de 100 Mbps en la cantidad mínima predeterminada de instancias y 500 Mbps en la cantidad máxima predeterminada de instancias.

Gráfico de capacidad de procesamiento

Puedes supervisar la capacidad de procesamiento actual desde la página de detalles del conector en la consola de Google Cloud. En el Gráfico de capacidad de procesamiento de esta página se muestra información detallada de las métricas de capacidad de procesamiento del conector.

Etiquetas de red

Las etiquetas de red de Acceso a VPC sin servidores te permiten hacer referencia a los conectores de VPC en las reglas de firewall y las rutas.

Cada conector de acceso a VPC sin servidores recibe de forma automática las dos etiquetas de red siguientes (a veces llamadas etiquetas de instancia):

  • Etiqueta de red universal (vpc-connector): se aplica a todos los conectores existentes y a cualquier conector futuro.

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

No se pueden borrar estas etiquetas de red. No se pueden agregar nuevas etiquetas de red.

Casos de uso

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

  • Si usas Memorystore para almacenar datos de un servicio sin servidores.
  • Si tus cargas de trabajo sin servidores usan software de terceros que ejecutas en una VM de Compute Engine.
  • Si ejecutas un servicio de backend en un grupo de instancias administrado en Compute Engine y necesitas que el entorno sin servidores se comunique con este backend sin exponerse a la Internet.
  • Si el entorno sin servidores debe acceder a los datos de la base de datos local a través de Cloud VPN.

Ejemplo

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

Se creó un conector de acceso a VPC sin servidores y se le asignó el rango de IP 10.8.0.0/28. Por lo tanto, la dirección IP de origen para cualquier solicitud enviada desde el conector está en este rango.

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 del conector de Acceso a VPC sin servidores.

El conector maneja el envío y la recepción de las solicitudes y 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 los costos de transferencia de datos salientes porque ese recurso se encuentra en una región diferente.

Todas las solicitudes y respuestas entre los entornos sin servidores y los recursos en la red de VPC viajan de forma interna.

Las solicitudes que se envían a direcciones IP externas aún viajan a través de Internet y no usan el conector de Acceso a VPC sin servidores.

En el siguiente diagrama, se muestra esta configuración.

Ejemplo del Acceso a VPC sin servidores (haz clic para ampliar)
Ejemplo del Acceso a VPC sin servidores (haz clic para ampliar)

Precios

Para obtener los precios de Acceso a VPC sin servidores, consulta Acceso a VPC sin servidores en la página de precios de VPC.

Servicios compatibles

En la siguiente tabla, se muestra a qué tipos de redes puedes llegar mediante el Acceso a VPC sin servidores:

Servicio de conectividad Compatibilidad con el acceso a VPC sin servidores
VPC
VPC compartida
Redes heredadas
Redes conectadas a Cloud Interconnect
Redes conectadas a Cloud VPN
Redes conectadas al intercambio de tráfico entre redes de VPC

En la siguiente tabla, se muestra qué entornos sin servidores son compatibles con el acceso a VPC sin servidores:

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

*Si deseas usar direcciones IP internas cuando te conectas desde Knative serving o el entorno flexible de App Engine, no es necesario que configures el Acceso a VPC sin servidores. Solo asegúrate de que el servicio se implemente en una red de VPC que tenga conectividad con los recursos a los que deseas acceder.

Protocolos de red compatibles

En la siguiente tabla, se describen los protocolos de las herramientas de redes compatibles con los conectores del Acceso a VPC sin servidores.

Protocolo Enrutar solo las solicitudes a las IP privadas mediante el conector de VPC Enrutar todo el tráfico mediante el conector de VPC
TCP
UDP
ICMP Solo compatible con direcciones IP externas

Regiones admitidas

Los conectores del Acceso a VPC sin servidores son compatibles con todas las regiones que admiten Cloud Run, Cloud Functions o el entorno estándar de App Engine.

Para ver las regiones disponibles, haz lo siguiente:

gcloud compute networks vpc-access locations list

¿Qué sigue?