Conéctate a una red de VPC

En esta página, se muestra cómo usar el Acceso a VPC sin servidores para conectar la app del entorno estándar de App Engine directamente a la red de VPC, lo que permite el acceso a las instancias de VM de Compute Engine, instancias de Memorystore y cualquier otro recurso con una dirección IP interna.

Antes de comenzar

Creación de un conector de acceso a VPC sin servidores

Para enviar solicitudes a tu red de VPC y recibir las respuestas correspondientes sin usar la Internet pública, debes usar un conector de Acceso a VPC sin servidores.

Puedes crear un conector con Google Cloud Console, Google Cloud CLI o Terraform:

Console

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

    Habilitar API

  2. Dirígete a la página de descripción general de 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. Esto debe cumplir con la convención de nombres de Compute Engine, con la restricción adicional de que debe tener menos de 21 caracteres y guiones (-), lo que cuenta como dos caracteres.

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

    Si tu servicio se encuentra en la región us-central o europe-west, usa us-central1 o europe-west1.

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

  7. Haz clic en el menú desplegable Subred:

    • Si usas una VPC compartida, que requiere que uses tu propia subred, selecciona una subred de /28 sin usar.

      • El conector debe usar las subredes exclusivamente. No las pueden usar otros recursos, como VM, Private Service Connect o el balanceo de cargas HTTP(S) interno.
      • A fin de confirmar que tu subred no se usa para Private Service Connect o el balanceo de cargas HTTP(S) interno, verifica que la subred purpose sea PRIVATE mediante la ejecución del siguiente comando en la CLI de gcloud:
        gcloud compute networks subnets describe SUBNET_NAME
        
        Reemplazar:
        • SUBNET_NAME: El nombre de tu subred
    • Si no usas una VPC compartida y prefieres que el conector cree una subred en lugar de crear una explícitamente, selecciona Rango de IP personalizado en el menú desplegable y, luego, en el campo Rango de IP, ingresa la primera dirección en un rango de IP interna /28 con CIDR sin reservar. 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. (Opcional) Si deseas configurar las opciones de escalamiento para tener control adicional del conector, haz clic en Mostrar la configuración de escalamiento a fin de mostrar el formulario de escalamiento:

    1. Configura la cantidad mínima y máxima de instancias para tu conector o usa los valores predeterminados, que son 2 (mínimo) y 10 (máximo). El conector se escala horizontalmente al máximo especificado si el uso del tráfico lo requiere, pero el conector no se reduce cuando el tráfico disminuye. Debes usar valores que se encuentren entre 2 y 10.
    2. En el menú desplegable Tipo de instancia, elige el tipo de máquina que se usará para el conector o usa el tipo e2-micro predeterminado. Observa la barra lateral de costos a la derecha cuando elijas el tipo de instancia, en la que se muestran las estimaciones de costo y ancho de banda.
  9. Haga clic en Crear.

  10. 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. Si usas una VPC compartida, que requiere que uses tu propia subred, crea un conector con el siguiente comando:

    gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
    --region REGION \
    --subnet SUBNET \
    # If you are not using Shared VPC, omit the following line.
    --subnet-project HOST_PROJECT_ID \
    # Optional: specify minimum and maximum instance values between 2 and
    10, default is 2 min, 10 max.
    --min-instances MIN \
    --max-instances MAX \
    # Optional: specify machine type, default is e2-micro
    --machine-type MACHINE_TYPE
    

    Reemplaza lo siguiente:

    • CONNECTOR_NAME: un nombre para tu conector Esto debe cumplir con la convención de nombres de Compute Engine, con la restricción adicional de que debe tener menos de 21 caracteres y guiones (-), lo que cuenta como dos caracteres.
    • REGION: una región para el conector, que debe coincidir con la región del servicio sin servidores. Si tu servicio se encuentra en la región us-central o europe-west, usa us-central1 o europe-west1.
    • SUBNET: Es el nombre de una subred /28 sin usar.
      • El conector debe usar las subredes exclusivamente. No las pueden usar otros recursos, como VM, Private Service Connect o el balanceo de cargas HTTP(S) interno.
      • A fin de confirmar que tu subred no se usa para Private Service Connect o el balanceo de cargas HTTP(S) interno, verifica que la subred purpose sea PRIVATE mediante la ejecución del siguiente comando en la CLI de gcloud:
        gcloud compute networks subnets describe SUBNET_NAME
        
        Reemplazar:
        • SUBNET_NAME: El nombre de tu subred
    • HOST_PROJECT_ID: el ID del proyecto host. Suministra este valor solo si usas una VPC compartida
    • MIN: Es la cantidad mínima de instancias que se usarán para el conector. Usa un número entero que se encuentre entre 2 y 9. El valor predeterminado es 2. Para obtener más información sobre el escalamiento del conector, consulta Capacidad de procesamiento y escalamiento.
    • MAX: Es la cantidad máxima de instancias que se usarán para el conector. Usa un número entero que se encuentre entre 3 y 10. El valor predeterminado es 10. Si el tráfico lo requiere, el conector se escalará horizontalmente hasta el [MAX] de instancias, pero luego no se reducirá la escala. Para obtener más información sobre el escalamiento del conector, consulta Capacidad de procesamiento y escalamiento.
    • MACHINE_TYPE: f1-micro, e2-micro o e2-standard-4. Para obtener información sobre la capacidad de procesamiento del conector, incluidos el tipo de máquina y el escalamiento, consulta Capacidad de procesamiento y escalamiento.

    Para obtener más detalles y ver los argumentos opcionales, consulta la referencia de gcloud.

  4. Si no usas una VPC compartida y deseas proporcionar un rango de IP personalizado en lugar de usar una subred, crea un conector con el siguiente comando:

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

    Reemplaza lo siguiente:

    • CONNECTOR_NAME: un nombre para tu conector Esto debe cumplir con la convención de nombres de Compute Engine, con la restricción adicional de que debe tener menos de 21 caracteres y guiones (-), lo que cuenta como dos caracteres.
    • VPC_NETWORK: 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. Si tu servicio se encuentra en la región us-central o europe-west, usa us-central1 o europe-west1.
    • IP_RANGE: una red IP interna no reservada. Se requiere un valor /28 de espacio no asignado. El valor proporcionado es la red en notación CIDR (10.8.0.0/28). 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 funciona 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.

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

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

    Reemplaza lo siguiente:

    • CONNECTOR_NAME: Es el nombre de tu conector. Este es el nombre que especificaste en el paso anterior.
    • REGION: Es la región del conector. Esta es la región que especificaste en el paso anterior.

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

Terraform

Puedes usar un recurso de Terraform para habilitar la API de vpcaccess.googleapis.com.

resource "google_project_service" "vpcaccess-api" {
  project = var.project_id # Replace this with your project ID in quotes
  service = "vpcaccess.googleapis.com"
}

Puedes usar módulos de Terraform para crear una red y subred de VPC y, luego, crear el conector.

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 3.3.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-serverless-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "serverless-subnet"
      subnet_ip     = "10.10.10.0/28"
      subnet_region = "us-central1"
    }
  ]
}

module "serverless-connector" {
  source     = "terraform-google-modules/network/google//modules/vpc-serverless-connector-beta"
  project_id = var.project_id
  vpc_connectors = [{
    name        = "central-serverless"
    region      = "us-central1"
    subnet_name = module.test-vpc-module.subnets["us-central1/serverless-subnet"].name
    # host_project_id = var.host_project_id # Specify a host_project_id for shared VPC
    machine_type  = "e2-standard-4"
    min_instances = 2
    max_instances = 7
    }
    # Uncomment to specify an ip_cidr_range
    #   , {
    #     name          = "central-serverless2"
    #     region        = "us-central1"
    #     network       = module.test-vpc-module.network_name
    #     ip_cidr_range = "10.10.11.0/28"
    #     subnet_name   = null
    #     machine_type  = "e2-standard-4"
    #     min_instances = 2
    #   max_instances = 7 }
  ]
  depends_on = [
    google_project_service.vpcaccess-api
  ]
}

Configura el servicio para usar un conector

Después de crear un conector de Acceso a VPC sin servidores, debes configurar cada servicio en la app de App Engine que desees conectarte a la red de VPC.

A fin de especificar un conector para un servicio en la app, haz lo siguiente:

  1. Agrega el campo vpc_access_connector al archivo app.yaml del servicio:

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

    En el ejemplo anterior, PROJECT_ID es el ID del proyecto de Cloud, REGION es la región en la que se encuentra el conector y CONNECTOR_NAME es el nombre del conector.

  2. Implementa el servicio:

    gcloud app deploy
    

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

Restringe el acceso a los recursos de VPC

Puedes restringir el acceso de tu conector a la red de VPC mediante las reglas de firewall.

Cuando te conectas a una red de VPC compartida con conectores en los proyectos de servicio, las reglas de firewall no se crean automáticamente. Un usuario con el rol de administrador de red en el proyecto host establece reglas de firewall cuando configura el proyecto host.

Cuando te conectas a una red de VPC independiente o a una red de VPC compartida que tiene el conector en el proyecto host, se crea automáticamente una regla de firewall implícita con prioridad de 1,000 en la red de VPC para permitir la entrada desde la subred del conector o un rango de IP personalizado hacia todos los destinos en la red de VPC. La regla de firewall implícita no se puede ver en Google Cloud Console y solo existe mientras exista el conector asociado. Si no quieres que tu conector pueda acceder a todos los destinos de la red de VPC, puedes restringir su acceso.

Para restringir el acceso del conector, crea reglas de entrada en el recurso de destino o crea reglas de salida en el conector de VPC.

Restringe el acceso con reglas de entrada

Elige las etiquetas de red o los rangos de CIDR que sirven para controlar el tráfico de entrada a tu red de VPC:

Etiquetas de red

En los siguientes pasos, se muestra cómo crear reglas de entrada que restrinjan el acceso de un conector a tu red de VPC en función de las etiquetas de red del conector.

  1. Asegúrate de tener los permisos necesarios para insertar reglas de firewall. Debes contar con una de las siguientes funciones de Identity and Access Management (IAM):

  2. Deniega el tráfico del conector en toda tu red de VPC.

    Crea una regla de firewall de entrada con una prioridad inferior a 1,000 en la red de VPC para denegar la entrada de la etiqueta de red del conector. Esto anula la regla de firewall implícita que crea el acceso a VPC sin servidores en la red de VPC de forma predeterminada.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, deny-vpc-connector.
    • PROTOCOL: uno o varios protocolos que deseas permitir desde el conector de VPC. Debes especificar uno o más de ah, all, esp, icmp, ipip, sctp, tcp, udp o un número de protocolo IP entre 0 y 255. Por ejemplo, tcp:80,icmp permite el tráfico de TCP a través del puerto 80 y el tráfico de ICMP. Para obtener más información, consulta la documentación de la marca allow.
    • VPC_CONNECTOR_NETWORK_TAG: Es la etiqueta de red del conector universal si quieres restringir el acceso a todos los conectores (incluidos los que se creen en el futuro) o la etiqueta de red única si deseas restringir el acceso a un conector específico.

      • Etiqueta de red universal: vpc-connector
      • Etiqueta de red única: vpc-connector-REGION-CONNECTOR_NAME

        Reemplaza lo siguiente:

        • REGION: Es la región del conector que quieres restringir.
        • CONNECTOR_NAME: Es el nombre del conector que quieres restringir.

      Para obtener más información sobre las etiquetas de red del conector, consulta Etiquetas de red.

    • VPC_NETWORK es el nombre de tu red de VPC.

    • PRIORITY: un número entero del 1 al 999, inclusive. Por ejemplo, 990.

  3. Permite el tráfico del conector al recurso que debe recibir tráfico del conector.

    Usa las marcas allow y target-tags para crear una regla de firewall de entrada orientada al recurso en tu red de VPC a la que deseas que acceda el conector de VPC. Establece la prioridad para que esta regla sea un valor inferior a la prioridad de la regla que estableciste en el paso anterior.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, allow-vpc-connector-for-select-resources.
    • PROTOCOL: uno o varios protocolos que deseas permitir desde el conector de VPC. Debes especificar uno o más de ah, all, esp, icmp, ipip, sctp, tcp, udp o un número de protocolo IP entre 0 y 255. Por ejemplo, tcp:80,icmp permite el tráfico de TCP a través del puerto 80 y el tráfico de ICMP. Para obtener más información, consulta la documentación de la marca allow.
    • VPC_CONNECTOR_NETWORK_TAG: Es la etiqueta de red del conector universal si quieres restringir el acceso a todos los conectores (incluidos los que se creen en el futuro) o la etiqueta de red única si deseas restringir el acceso a un conector específico. Debe coincidir con la etiqueta de red que especificaste en el paso anterior.

      • Etiqueta de red universal: vpc-connector
      • Etiqueta de red única: vpc-connector-REGION-CONNECTOR_NAME

        Reemplaza lo siguiente:

        • REGION: Es la región del conector que quieres restringir.
        • CONNECTOR_NAME: Es el nombre del conector que quieres restringir.

      Para obtener más información sobre las etiquetas de red del conector, consulta Etiquetas de red.

    • VPC_NETWORK es el nombre de tu red de VPC.

    • RESOURCE_TAG: la etiqueta de red para el recurso de VPC al que deseas que acceda tu conector de VPC.

    • PRIORITY: un número entero inferior a la prioridad que estableciste en el paso anterior. Por ejemplo, si estableces la prioridad para la regla que creaste en el paso anterior en 990, prueba con 980.

A fin de obtener más información sobre las marcas obligatorias y opcionales para la creación de reglas de firewall, consulta la documentación de gcloud compute firewall-rules create.

Rango de CIDR

En los siguientes pasos, se muestra cómo crear reglas de entrada que restrinjan el acceso de un conector a tu red de VPC en función del rango de CIDR del conector.

  1. Asegúrate de tener los permisos necesarios para insertar reglas de firewall. Debes contar con una de las siguientes funciones de Identity and Access Management (IAM):

  2. Deniega el tráfico del conector en toda tu red de VPC.

    Crea una regla de firewall de entrada con una prioridad inferior a 1,000 en tu red de VPC para denegar la entrada desde el rango de CIDR del conector. Esto anula la regla de firewall implícita que crea el acceso a VPC sin servidores en la red de VPC de forma predeterminada.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=<_1, PROTOCOL> \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, deny-vpc-connector
    • VPC_CONNECTOR_CIDR_RANGE: El rango de CIDR del conector cuyo acceso estás restringiendo
    • VPC_NETWORK es el nombre de tu red de VPC.
    • PRIORITY: Un número entero del 1 al 999. Por ejemplo, 990.
  3. Permite el tráfico del conector al recurso que debe recibir tráfico del conector.

    Usa las marcas allow y target-tags para crear una regla de firewall de entrada orientada al recurso en tu red de VPC a la que deseas que acceda el conector de VPC. Establece la prioridad para que esta regla sea un valor inferior a la prioridad de la regla que estableciste en el paso anterior.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, allow-vpc-connector-for-select-resources.
    • PROTOCOL: uno o varios protocolos que deseas permitir desde el conector de VPC. Debes especificar uno o más de ah, all, esp, icmp, ipip, sctp, tcp, udp o un número de protocolo IP entre 0 y 255. Por ejemplo, tcp:80,icmp permite el tráfico de TCP a través del puerto 80 y el tráfico de ICMP. Para obtener más información, consulta la documentación de la marca allow.
    • VPC_CONNECTOR_CIDR_RANGE: El rango de CIDR del conector cuyo acceso estás restringiendo
    • VPC_NETWORK es el nombre de tu red de VPC.
    • RESOURCE_TAG: la etiqueta de red para el recurso de VPC al que deseas que acceda tu conector de VPC.
    • PRIORITY: un número entero inferior a la prioridad que estableciste en el paso anterior. Por ejemplo, si estableces la prioridad para la regla que creaste en el paso anterior en 990, prueba con 980.

A fin de obtener más información sobre las marcas obligatorias y opcionales para la creación de reglas de firewall, consulta la documentación de gcloud compute firewall-rules create.

Restringe el acceso con reglas de salida

En los siguientes pasos, se muestra cómo crear reglas de salida para restringir el acceso al conector.

  1. Asegúrate de tener los permisos necesarios para insertar reglas de firewall. Debes contar con una de las siguientes funciones de Identity and Access Management (IAM):

  2. Rechaza el tráfico de salida proveniente de tu conector.

    Crea una regla de firewall de salida en tu conector de acceso a VPC sin servidores para evitar que envíe tráfico de salida.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --direction=EGRESS \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, deny-vpc-connector.
    • PROTOCOL: uno o varios protocolos que deseas permitir desde el conector de VPC. Debes especificar uno o más de ah, all, esp, icmp, ipip, sctp, tcp, udp o un número de protocolo IP entre 0 y 255. Por ejemplo, tcp:80,icmp permite el tráfico de TCP a través del puerto 80 y el tráfico de ICMP. Para obtener más información, consulta la documentación de la marca allow.
    • VPC_CONNECTOR_NETWORK_TAG: Es la etiqueta de red del conector de VPC universal si deseas que la regla se aplique para todos los conectores de VPC existentes y futuros. O bien, es la etiqueta de red del conector de VPC única si deseas controlar un conector específico.
    • VPC_NETWORK es el nombre de tu red de VPC.
    • PRIORITY: Un número entero del 1 al 999. Por ejemplo, 990.
  3. Permite el tráfico de salida cuando el destino se encuentra en el rango CIDR al que deseas que acceda tu conector.

    Usa las marcas allow y destination-ranges a fin de crear una regla de firewall que permita el tráfico de salida desde el conector para un rango específico de destinos. Establece el rango de destinos en el rango de CIDR del recurso en tu red de VPC a la que deseas que tu conector pueda acceder. Establece la prioridad para que esta regla sea un valor inferior a la prioridad de la regla que estableciste en el paso anterior.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --destination-ranges=RESOURCE_CIDR_RANGE \
    --direction=EGRESS \
    --network=VPC_NETWORK \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es el nombre de la regla de firewall nueva. Por ejemplo, allow-vpc-connector-for-select-resources.
    • PROTOCOL: uno o varios protocolos que deseas permitir desde el conector de VPC. Debes especificar uno o más de ah, all, esp, icmp, ipip, sctp, tcp, udp o un número de protocolo IP entre 0 y 255. Por ejemplo, tcp:80,icmp permite el tráfico de TCP a través del puerto 80 y el tráfico de ICMP. Para obtener más información, consulta la documentación de la marca allow.
    • RESOURCE_CIDR_RANGE: El rango de CIDR del conector cuyo acceso estás restringiendo
    • VPC_NETWORK es el nombre de tu red de VPC.
    • VPC_CONNECTOR_NETWORK_TAG: Es la etiqueta de red del conector de VPC universal si deseas que la regla se aplique para todos los conectores de VPC existentes y futuros. O bien, es la etiqueta de red del conector de VPC única si deseas controlar un conector específico. Si usaste la etiqueta de red única en el paso anterior, usa la etiqueta de red única.
    • PRIORITY: un número entero inferior a la prioridad que estableciste en el paso anterior. Por ejemplo, si estableces la prioridad para la regla que creaste en el paso anterior en 990, prueba con 980.

A fin de obtener más información sobre las marcas obligatorias y opcionales para la creación de reglas de firewall, consulta la documentación de gcloud compute firewall-rules create.

Administra tu conector

Controla el tráfico de salida desde un servicio

De forma predeterminada, solo las solicitudes a las direcciones IP internas y a los nombres de DNS internos se enrutan a través de un conector de Acceso a VPC sin servidores. Puedes especificar el parámetro de configuración de salida del servicio en el archivo app.yaml.

La configuración de salida no es compatible con el servicio de recuperación de URL. Si se usa la biblioteca urlfetch, se ignora la configuración de salida, y las solicitudes no se enrutarán a través de un conector de Acceso a VPC sin servidores.

Para configurar el comportamiento de salida de tu servicio de App Engine, haz lo siguiente:

  1. Agrega el atributo egress_setting al campo vpc_access_connector del archivo app.yaml del servicio:

    vpc_access_connector:
      name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
      egress_setting: EGRESS_SETTING
    

    Reemplaza lo siguiente:

    • PROJECT_ID por tu ID del proyecto de Cloud
    • REGION por la región en la que se encuentra el conector
    • CONNECTOR_NAME por el nombre de tu conector
    • EGRESS_SETTING por uno de los siguientes valores:
      • private-ranges-only: predeterminado. Solo las solicitudes a los rangos de direcciones IP RFC 1918 y RFC 6598, o a nombres de DNS internos, se enrutan a la red de VPC. Todas las demás solicitudes se enrutan directamente a Internet.
      • all-traffic: todas las solicitudes salientes de tu servicio se enrutan a la red de VPC. Entonces, las solicitudes estarán sujetas al firewall, el DNS y las reglas de enrutamiento de la red de VPC. Ten en cuenta que el enrutamiento de todas las solicitudes salientes a tu red de VPC aumenta la cantidad de salida que controla el conector de Acceso a VPC sin servidores y puede generar cargos.
  2. Implementa el servicio:

    gcloud app deploy
    

Desconecta un servicio de una red de VPC

Para desconectar un servicio de una red de VPC, quita el campo vpc_access_connector del archivo app.yaml y vuelve a implementar el servicio.

Los conectores continúan generando cargos, incluso si no tienen tráfico y están desconectados. Para obtener detalles, consulta Precios. Si ya no necesitas el conector, asegúrate de borrarlo para evitar que se te siga facturando.

Borra un conector

Antes de borrar un conector, asegúrate de que ningún servicio esté conectado a él.

Para los usuarios de VPC compartida que configuraron conectores en el proyecto host de la VPC compartida (ya no se recomienda), puedes usar el comando gcloud compute networks vpc-access connectors describe para enumerar los proyectos, que son servicios que usan un conector determinado.

Para borrar un conector, usa la consola de Google Cloud o la CLI de Google Cloud:

Console

  1. Ve a la página de descripción general de Acceso a VPC sin servidores en la consola de Google Cloud:

    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

Reemplaza lo siguiente:

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

Soluciona problemas

Permisos de las cuentas 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.

Errores

Si la creación de un conector produce un error, prueba lo siguiente:

  • 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.

Si especificaste un conector, 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.

Próximos pasos