Cómo conectar a una red de VPC

El acceso a VPC sin servidores te permite conectarte directo desde tu app de App Engine a instancias de VM de Compute Engine, instancias de Cloud Memorystore, instancias de Cloud SQL y cualquier otro recurso con una dirección IP interna. Esto es útil en casos como los siguientes:

  • Cuando ejecutas un servicio de backend en un grupo de instancias administrado en Compute Engine y necesitas que tu app se comunique con este servicio sin exponerse a la Internet pública
  • Cuando tu app usa software de terceros que ejecutas en una VM de Compute Engine
  • Cuando usas Cloud Memorystore con el fin de almacenar datos para tu app de App Engine
  • Cuando tu app necesita acceder a los datos de tu base de datos local a través de Cloud VPN

Con el acceso a VPC sin servidores, las solicitudes enviadas desde tu app hacia direcciones IP internas (según lo define la especificación RFC 1918) se enrutan a tu red de VPC a través de un conector de acceso a VPC sin servidores. Las solicitudes enviadas a direcciones IP públicas se enrutan a través de Internet. Solo se puede acceder a las direcciones IP internas desde los servicios de Google Cloud Platform, por lo que usarlos evita exponer los recursos internos a la Internet pública y también mejora la latencia de la comunicación entre tus servicios.

El acceso a VPC sin servidores es compatible con la comunicación con redes de VPC conectadas a través de Cloud VPN y sesiones de intercambio de tráfico entre redes de VPC. El acceso a VPC sin servidores no es compatible con redes heredadas ni con redes de VPC compartidas. Los conectores de acceso a VPC sin servidores tienen un costo mensual. Consulta los precios del acceso a VPC sin servidores para obtener más información.

Conéctate a tu red de VPC

La conexión de una app de App Engine con tu red de VPC consta de dos pasos:

  1. Creación de un conector de acceso a VPC sin servidores
  2. Configuración de tus servicios de App Engine para que usen el conector

Un conector de acceso a VPC sin servidores debe estar en el mismo proyecto y región que la app que lo usa, pero el conector puede enviar tráfico a recursos en diferentes regiones. Varios servicios de App Engine pueden usar el mismo conector. Para obtener más información sobre los conectores, consulta Configurar el acceso a VPC sin servidores.

Crea un conector

Puedes crear un conector con GCP Console o con la herramienta de línea de comandos de gcloud.

Console

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

    Ir a acceso a VPC sin servidores

  2. Haz clic en Crear conector.

  3. En el campo Nombre, ingresa un nombre para tu conector.

  4. En el campo Región, selecciona la región en la que se encuentra tu aplicación.

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

  6. En el campo Rango de IP, ingresa un rango de IP de CIDR/28. Las direcciones en este rango se usan como direcciones de origen para el tráfico enviado a través del conector. Este rango de IP no debe superponerse con ninguna dirección IP reservada en la red de VPC.

  7. (Opcional) Puedes controlar la capacidad de procesamiento del conector mediante la configuración de los valores en los campos Rendimiento mínimo y Rendimiento máximo.

  8. Haz clic en Crear.

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

gcloud

  1. Habilita la API de acceso a VPC sin servidores para tu proyecto con el comando siguiente:

    gcloud services enable vpcaccess.googleapis.com
    
  2. Crea un conector:

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

    Donde:

    • CONNECTOR_NAME es un nombre para tu conector.
    • VPC_NETWORK es la red de VPC a la que te conectarás.
    • REGION es la región en la que se encuentra tu aplicación.
    • IP_RANGE es un rango de IP CIDR/28 sin usar. Las direcciones en este rango se usan como direcciones de origen para el tráfico enviado a través del conector. Este rango de IP no debe superponerse con ninguna dirección IP reservada en la red de VPC.
  3. Verifica que tu conector tenga el estado READY antes de usarlo:

    gcloud beta compute networks vpc-access connectors describe CONNECTOR_NAME --region REGION
    

    El resultado debe contener state: READY.

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

  • Especifica un rango de IP que no se superponga con ninguna dirección IP reservada en la red de VPC.
  • Otorga permiso a tu proyecto para usar las imágenes de VM de Compute Engine del proyecto con ID serverless-vpc-access-images. Consulta Cómo configurar restricciones de acceso a imágenes para obtener información sobre cómo actualizar las políticas de la organización según corresponda.

Configura tu aplicación para usar un conector

Después de crear un conector de acceso a VPC sin servidores, puedes configurar los servicios en tu aplicación de App Engine para usar el conector. Varios servicios pueden usar el mismo conector.

Para conectar un servicio de tu app al conector, sigue estos pasos:

  1. Agrega la sección vpc_access_connector al archivo app.yaml de tu servicio:

    vpc_access_connector:
      name: "projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME"
    

    Donde PROJECT_ID es el ID de tu proyecto de GCP, y REGION y CONNECTOR_NAME son la región y el nombre que elegiste cuando creaste el conector. Ten en cuenta que el conector y la aplicación deben estar en la misma región.

  2. Implementa el servicio:

    gcloud beta app deploy
    

Después de implementar tu servicio, este podrá enviar solicitudes a direcciones IP internas para acceder a los recursos en tu red de VPC.

Desconecta tu app de un conector

Si tu app ya no necesita conectarse a tu red de VPC, puedes desconectar el conector de acceso a VPC sin servidores.

Para desconectar un servicio de un conector, sigue los pasos siguientes:

  1. Quita la sección vpc_access_connector del archivo app.yaml de tu servicio.

  2. Vuelve a implementar el servicio:

    gcloud app deploy
    

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno estándar de App Engine para Node.js