Configura el Acceso a VPC sin servidores

El Acceso a VPC sin servidores te permite conectarte de un entorno sin servidores en Google Cloud (Cloud Run completamente administrado, Cloud Functions o el entorno estándar de App Engine) de forma directa a la red de VPC. Esta conexión permite que el entorno sin servidores acceda a las instancias de VM de Compute Engine, las instancias de Memorystore y cualquier otro recurso con una dirección IP interna. Por ejemplo, esto puede ser útil en los siguientes casos:

  • 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 pública.
  • Si el entorno sin servidores debe acceder a los datos de la base de datos local a través de Cloud VPN.

Con el Acceso a VPC sin servidores, las solicitudes enviadas desde el entorno sin servidores hacia direcciones IP internas (según se define en RFC 1918) o nombres de DNS interno se enrutan a la red de VPC. Solo se puede acceder a estas direcciones internas desde los servicios de Google Cloud. Usar direcciones internas evita exponer recursos a la Internet pública y mejora la latencia de la comunicación entre los servicios.

El acceso a VPC sin servidores permite que solo el entorno sin servidores inicie las solicitudes. Las solicitudes iniciadas por una VM deben usar la dirección externa del servicio sin servidores. Consulta Acceso privado a Google para obtener más información.

El Acceso a VPC sin servidores es compatible con la VPC compartida y la comunicación con las redes conectadas a través de Cloud Interconnect, Cloud VPN y el intercambio de tráfico entre redes de VPC. El Acceso a VPC sin servidores no es compatible con las redes heredadas.

Conectores de Acceso a VPC sin servidores

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 los servicios sin servidores a fin de usar el conector para el tráfico de red interno.

Cuando creas un conector, también le asignas un rango de IP. El tráfico que se envió a través del conector a la red de VPC se originará desde una dirección de este rango. El rango de IP debe ser un rango /28 de CIDR que no esté reservado en la red de VPC. Se crea una regla de firewall implícita con prioridad de 1,000 en la red de VPC para permitir la entrada del rango de IP del conector a todos los destinos en la red.

El Acceso a VPC sin servidores aprovisiona de forma automática la capacidad de procesamiento de un conector en incrementos de 100 Mbps según la cantidad de tráfico que se envía a través de él. La capacidad de procesamiento aprovisionada de forma automática solo puede aumentar la escala, no disminuirla. Los conectores siempre tienen aprovisionados 200 Mbps como mínimo y pueden escalar verticalmente hasta 1,000 Mbps. Puedes configurar límites de escalamiento de la capacidad de procesamiento cuando creas un conector. Ten en cuenta que la capacidad de procesamiento real a través de un conector puede superar la capacidad de procesamiento aprovisionada, en especial, para aumentos de actividad de tráfico breves.

Los conectores del Acceso a VPC sin servidores tienen un cargo mensual en función del uso. Consulta la sección Precios para obtener más detalles.

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

Ten en cuenta lo siguiente:

  • Un conector debe estar ubicado en el mismo proyecto y la misma región que el servicio sin servidores que se conecta a él. Consulta la sección Regiones admitidas para ver la lista de regiones en las que puedes crear conectores.
  • El tráfico a las direcciones IP internas y los nombres de DNS interno se enruta a través del conector. De forma predeterminada, el tráfico a las direcciones IP externas se enruta a través de Internet.
  • Puedes usar el mismo conector con varios servicios sin servidores.
  • En el caso de los recursos que permiten el acceso entre regiones, los conectores pueden estar en una región diferente de los recursos a los que envían el tráfico. Se te factura por el tráfico de salida del conector. Consulta la sección Precios.

Crea un conector

Para crear un conector, usa Cloud Console o la herramienta de línea de comandos de gcloud:

Console

  1. Asegúrate de que esté habilitada la API de Acceso a VPC sin servidores en el proyecto:

    Habilitar la API

  2. Dirígete a la página de descripción general del Acceso a VPC sin servidores.

    Ir a Acceso a VPC sin servidores

  3. Haz clic en Crear conector.

  4. En el campo Nombre, ingresa un nombre para el conector.

  5. En el campo Región, selecciona una región para el conector. Debe coincidir con la región del servicio sin servidores. Consulta Regiones admitidas.

  6. En el campo Red, selecciona la red de VPC a la que conectarás el conector.

  7. En el campo Rango de IP, ingresa un rango de IP internas de CIDR /28 no reservado. Este rango de IP no debe superponerse con ninguna reserva de dirección IP existente en la red de VPC. Por ejemplo, 10.8.0.0/28 funcionará en la mayoría de los proyectos nuevos.

  8. Para ejercer control adicional sobre la capacidad de procesamiento del conector, edita los campos Capacidad de procesamiento mínima y Capacidad de procesamiento máxima (opcional).

  9. Haz clic en Crear.

Aparecerá una marca de verificación verde junto al nombre del conector cuando esté listo para usar.

gcloud

  1. Actualiza los componentes de gcloud a la versión más reciente:

    gcloud components update
    
  2. Asegúrate de que esté habilitada la API de Acceso a VPC sin servidores en el proyecto:

    gcloud services enable vpcaccess.googleapis.com
    
  3. Crea un conector con el siguiente comando:

    gcloud compute networks vpc-access connectors create [CONNECTOR_NAME] \
    --network [VPC_NETWORK] \
    --region [REGION] \
    --range [IP_RANGE]
    

    Donde:

    • [CONNECTOR_NAME] es el nombre del conector.
    • [VPC_NETWORK] es la red de VPC a la que conectarás el conector.
    • [REGION] es una región para el conector. Debe coincidir con la región del servicio sin servidores. Consulta Regiones admitidas.
    • [IP_RANGE] es un rango de IP internas de CIDR /28 no reservado. Este rango de IP no debe superponerse con ninguna reserva de dirección IP existente en la red de VPC. Por ejemplo, 10.8.0.0/28 funcionará en la mayoría de los proyectos nuevos.

    Para obtener más detalles y argumentos opcionales, como los controles de la capacidad de procesamiento, consulta la referencia de gcloud.

  4. Verifica que el conector tenga el estado READY antes de usarlo:

    gcloud compute networks vpc-access connectors describe [CONNECTOR_NAME] --region [REGION]
    

    El resultado debe contener la línea state: READY.

Borra un conector

Antes de borrar un conector, asegúrate de que ningún servicio siga usándolo. Consulta la documentación de productos correspondiente para obtener información sobre cómo desconectar un conector de un servicio. También ten en cuenta que no puedes borrar una red de VPC si aún hay un conector de Acceso a VPC sin servidores conectado a ella. Debes borrar todos los conectores que se conectaron antes de borrar la red de VPC.

Para borrar un conector, usa Cloud Console o la herramienta de línea de comandos de gcloud:

Console

  1. Dirígete a la página de descripción general del Acceso a VPC sin servidores.

    Ir a Acceso a VPC sin servidores

  2. Selecciona el conector que quieres borrar.

  3. Haz clic en Borrar.

gcloud

Usa el siguiente comando de gcloud para borrar un conector:

gcloud compute networks vpc-access connectors delete [CONNECTOR_NAME] --region [REGION]

Donde:

  • [CONNECTOR_NAME] es el nombre del conector que quieres borrar.
  • [REGION] es la región donde se encuentra el conector.

Configura un servicio para usar un conector

Después de crear un conector, puedes configurar los servicios sin servidores para usarlo. La forma en que configuras un servicio para usar un conector depende del producto. Para obtener instrucciones específicas, consulta la guía correspondiente:

Servicios compatibles

Puedes usar el acceso a VPC sin servidores para acceder a una red de VPC desde los siguientes servicios:

Regiones compatibles

Puedes crear un conector de acceso a VPC sin servidores en las siguientes regiones:

  • asia-east2
  • asia-northeast1
  • asia-south1
  • australia-southeast1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west6
  • northamerica-northeast1
  • southamerica-east1
  • us-central1
  • us-east1
  • us-east4

Funciones de IAM seleccionadas

En la siguiente tabla, se describen las funciones de administración de identidades y accesos (IAM) asociadas con el Acceso a VPC sin servidores. Consulta Funciones de Acceso a VPC sin servidores en la documentación de IAM para obtener una lista de permisos asociados con cada función.

Función Descripción
Administrador de Acceso a VPC sin servidores
roles/vpcaccess.admin
Acceso completo a todos los recursos de Acceso a VPC sin servidores
Usuario de Acceso a VPC sin servidores
roles/vpaccess.user
Usuario de conectores de Acceso a VPC sin servidores
Visualizador de Acceso a VPC sin servidores
roles/vpaccess.viewer
Visualizador de todos los recursos de Acceso a VPC sin servidores

Cuenta de servicio

Para realizar operaciones en el proyecto de Cloud, el servicio de Acceso a VPC sin servidores usa la cuenta de servicio del agente de servicio de Acceso a VPC sin servidores. La dirección de correo electrónico de esta cuenta de servicio tiene el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com

De forma predeterminada, esta cuenta de servicio tiene la función de agente de servicio de Acceso a VPC sin servidores (roles/vpcaccess.serviceAgent). Las operaciones del Acceso a VPC sin servidores pueden fallar si cambias los permisos de esta cuenta.

Registros de auditoría

Consulta la información del registro de auditoría de Acceso a VPC sin servidores.

Precios

El acceso a VPC sin servidores tiene los siguientes precios.

Recurso Precio
Conector de Acceso a VPC sin servidores Se cobra como 1 instancia de f1-micro por cada 100 Mbps de capacidad de procesamiento aprovisionada automáticamente para el conector.
Salida de red del entorno sin servidores al destino Se cobra según las tarifas de redes de Compute Engine.

Para ver los costos del Acceso a VPC sin servidores en Cloud Console, filtra los informes de facturación por la clave de etiqueta serverless-vpc-access.

Soluciona problemas

Si la creación de un conector produce un error, sigue estos pasos y vuelve a crear el conector:

  • Especifica un rango de IP internas de RFC 1918 que no se superponga con ninguna reserva de dirección IP existente en la red de VPC.
  • Otorga al proyecto permiso para usar las imágenes de VM de Compute Engine del proyecto con el ID serverless-vpc-access-images. Consulta Configura restricciones de acceso a imágenes para obtener información sobre cómo actualizar las políticas de la organización según corresponda.
  • Establece la política de la organización constraints/compute.vmCanIpForward para permitir que las VM habiliten el reenvío de IP.

Si especificaste un conector para un servicio sin servidores, pero aún no puedes acceder a los recursos de la red de VPC, haz lo siguiente:

  • Asegúrate de que no haya ninguna regla de firewall en la red de VPC con una prioridad inferior a 1,000 que rechace la entrada desde el rango de IP del conector.