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.
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
- Para configurar Acceso a VPC sin servidor, consulta el artículo Configurar Acceso a VPC sin servidor.