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 funciones de Cloud Run. 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

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

Reglas de firewall para conectores en redes de 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, Google Cloud crea todas las reglas de firewall necesarias. Estas reglas de firewall existen solo mientras exista el conector asociado. Se pueden ver en la consola de Google Cloud, pero no puedes editarlos ni borrarlos.

Propósito de la regla de firewall Formato de nombre Tipo Acción Prioridad Protocolos y puertos
Permite el tráfico a las instancias de VM del conector desde los rangos de sondas de verificación de estado (35.191.0.0/16, 35.191.192.0/18, 130.211.0.0/22) en ciertos 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 sin servidores subyacente de Google (35.199.224.0/19) en ciertos 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 servidores subyacente de Google (35.199.224.0/19) en ciertos 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 servidores subyacente de Google (35.199.224.0/19) para todos los demás puertos. aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw Salida Rechazar 100 TCP:1-666, 668-65535, UDP:1-664, 667-65535
Permite todo el tráfico de las instancias de VM del conector (según 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 (según 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 en la red de VPC de destino mediante las reglas de firewall de VPC o las reglas en las políticas de firewall. Cuando agregues reglas de firewall, asegúrate de que usen una prioridad superior a 100 para que no entren en conflicto con las reglas de firewall ocultas que establece Google Cloud. Para obtener más información, consulta Cómo restringir el acceso de la VM del conector a los recursos de la red de VPC.

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

Si creas un conector en un proyecto de servicio y el conector se orienta a una red de VPC compartida en el proyecto host, debes agregar reglas de firewall para permitir el tráfico necesario para el funcionamiento del conector.

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

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 quincenal, 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 vuelven 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, usa grupos de conexiones y no confíes en conexiones que duran más de un minuto. Las instancias dejan de aceptar solicitudes un minuto antes del cierre.

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, funciones de Cloud Run 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 de Acceso a VPC sin servidores.
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*
Funciones de Cloud Run
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 a través del conector Enrutar todo el tráfico a través del conector
TCP
UDP
ICMP Solo compatible con direcciones IP externas

Regiones admitidas

Los conectores de Acceso a VPC sin servidores son compatibles con todas las regiones que admiten Cloud Run, las funciones de Cloud Run 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?