Configura un balanceador de cargas HTTP(S) regional externo con Cloud Run

En esta página, se muestra cómo implementar un balanceador de cargas HTTP(S) regional externo con un backend de Cloud Run. A fin de configurar esto, debes usar un backend de NEG sin servidores para el balanceador de cargas.

Antes de probar este procedimiento, asegúrate de estar familiarizado con los siguientes temas:

Los NEG sin servidores te permiten usar los servicios de Cloud Run con tu balanceador de cargas. Después de configurar un balanceador de cargas con el backend de NEG sin servidores, las solicitudes al balanceador de cargas se enrutan al backend de Cloud Run.

Antes de comenzar

  1. Instala Google Cloud CLI.
  2. Implementa un servicio de Cloud Run
  3. Configura permisos.

Instala el SDK de Google Cloud

Instala la herramienta de línea de comandos de gcloud. Consulta la descripción general de gcloud para obtener información conceptual y de instalación sobre la herramienta.

Si no ejecutaste la herramienta de línea de comandos de gcloud antes, primero ejecuta gcloud init para inicializar el directorio de gcloud.

Nota: No puedes usar la consola de Google Cloud para configurar un balanceador de cargas HTTP(S) regional externo con un backend de NEG sin servidores.

Implementa un servicio de Cloud Run

En las instrucciones de esta página, se da por sentado que ya tienes un servicio de Cloud Run en ejecución.

En el ejemplo de esta página, puedes usar cualquiera de las guías de inicio rápido de Cloud Run para implementar un servicio de Cloud Run.

El NEG sin servidores y el balanceador de cargas deben estar en la misma región que el servicio de Cloud Run. Puedes bloquear las solicitudes externas que se envían directamente a las URLs predeterminadas del servicio de Cloud Run restringiendo la entrada a internal and cloud load balancing. Por ejemplo:

gcloud run deploy CLOUD_RUN_SERVICE_NAME \
  --platform=managed \
  --allow-unauthenticated \
  --ingress=internal-and-cloud-load-balancing \
  --region=REGION \
  --image=IMAGE_URL

Toma nota del nombre del servicio que crees. En el resto de esta página, se muestra cómo configurar un balanceador de cargas que enrute las solicitudes a este servicio.

Configura permisos

Para seguir esta guía, debes crear un NEG sin servidores y un balanceador de cargas en un proyecto. Debes ser propietario o editor de un proyecto o tener las siguientes funciones de IAM de Compute Engine:

Tarea Función requerida
Crear balanceador de cargas y componentes de herramientas de redes Administrador de redes
Crear y modificar los NEG Administrador de instancias de procesamiento
Crear y modificar certificados SSL Administrador de seguridad

Configura la red y las subredes

Para configurar la red y sus subredes, primero debes crear una red de VPC, crear una instancia de VM en una subred específica y, luego, crear una subred de solo proxy.

Crea la red de VPC

Crea una red de VPC en modo personalizado y, luego, las subredes que deseas dentro de una región. Por último, define las reglas de firewall para tu red.

Console

  1. Ve a la página Redes de VPC en la consola de Google Cloud.

    Ir a las redes de VPC

  2. Haga clic en Crear red de VPC.

  3. En el campo Nombre, ingresa lb-network.

  4. En el campo Modo de creación de subred, selecciona Personalizado.

  5. En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:

    1. Proporciona un Nombre para la subred.
    2. Selecciona una Región.
    3. Ingresa un rango de direcciones IP, como 10.1.2.0/24. Para obtener más información, consulta el rango IPv4 principal.

      Si seleccionas un rango que no es una dirección RFC 1918, confirma que el rango no entre en conflicto con una configuración existente. Para obtener más información, consulta Rangos de subredes IPv4.

    4. Haga clic en Listo.

  6. En la sección Reglas de firewall, selecciona reglas de firewall predefinidas en la pestaña Reglas de firewall de IPv4. Estas reglas predefinidas abordan casos de uso comunes de conectividad a instancias.

    Cada nombre de regla predefinida comienza con el nombre de la red de VPC que estás creando.

    1. Opcional: Puedes editar la regla lb-network-allow-custom. En el lado derecho de la fila que contiene la regla, haz clic en Editar para seleccionar subredes, agregar rangos IPv4 adicionales y especificar protocolos y puertos.

    Si agregas subredes más adelante, la regla de firewall lb-network-allow-custom no se actualizará automáticamente. Si necesitas reglas de firewall para las subredes nuevas, debes actualizar la configuración del firewall a fin de agregar las reglas.

    Si no seleccionas ninguna regla predefinida, puedes crear tus propias reglas de firewall después de crear la red.

  7. Selecciona Modo de enrutamiento dinámico para la red de VPC. Puedes cambiar el modo de enrutamiento dinámico más adelante.

    Para obtener más información, consulta Modo de enrutamiento dinámico.

  8. En el campo Unidad de transmisión máxima (MTU), selecciona 1460 (predeterminado) o 1500.

    Revisa la descripción general de la unidad de transmisión máxima antes de configurar la MTU como 1500.

  9. Haga clic en Crear.

gcloud

  1. Crea la red de VPC personalizada con el comando gcloud compute networks create:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Crea una subred en la red lb-network. En este ejemplo, se usa un rango de direcciones IP de 10.1.2.0/24 para la subred. Puedes configurar cualquier rango de subred válido.

    gcloud compute networks subnets create lb-subnet \
    --network=lb-network \
    --range=10.1.2.0/24 \
    --region=REGION
    

Crea una instancia de VM en una subred específica

Debe haber al menos una VM en la red de VPC en la que desees configurar un balanceador de cargas regional con un backend sin servidores. Si ya tienes una VM en la red, no es necesario que realices este paso.

Console

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. Haga clic en Crear instancia.

  4. Especifica un Nombre para la VM, como test-vm. Para obtener más información, consulta Convención de asignación de nombres de recursos.

  5. Opcional: Cambia la Zona para esta VM. Compute Engine aleatoriza la lista de zonas dentro de cada región para fomentar el uso en varias zonas.

  6. En la sección Firewall, selecciona Permitir tráfico HTTP o Permitir tráfico HTTPS para permitir el tráfico HTTP o HTTPS a la VM.

    La consola de Google Cloud agrega una etiqueta de red a tu instancia y crea la regla de firewall de entrada correspondiente que permite todo el tráfico entrante en tcp:80 (HTTP) o tcp:443 (HTTPS).

    La etiqueta de red asocia la regla de firewall con la VM. Para obtener más información, consulta la Descripción general de las reglas de firewall en la documentación de la nube privada virtual.

  7. Expande la sección Herramientas de redes, discos, seguridad, administración, usuario único.

    1. Expande la sección Herramientas de redes.
    2. En Interfaces de red, especifica los detalles de la red:
      1. En el campo Red, selecciona la red de VPC que contiene la subred que creaste, como lb-network.
      2. En el campo Subred, selecciona la subred que usará la VM, como lb-subnet.
      3. Haga clic en Listo.
  8. Para crear y, también, iniciar la VM, haz clic en Crear.

gcloud

  1. Crea una VM.

    gcloud compute instances create test-vm \
    --network=lb-network \
    --subnet=lb-subnet \
    --zone=ZONE
    

Crea una subred de solo proxy

Crea una subred de solo proxy para todos los balanceadores de cargas basados en Envoy (balanceadores de cargas de HTTP(S) internos y externos regionales) en la región de la red de lb-network.

Console

  1. En la consola de Google Cloud, ve a la página Redes de VPC.
    Ir a las redes de VPC
  2. Haz clic en el nombre de la red de VPC compartida a la que deseas agregar una subred de solo proxy.
  3. Haz clic en Agregar subred.
  4. En el campo Nombre, ingresa proxy-only-subnet.
  5. Selecciona una Región.
  6. Configura Propósito como Proxy administrado regional.
  7. Ingresa un rango de direcciones IP como 10.129.0.0/23.
  8. Haga clic en Agregar.

gcloud

  1. Crea la subred de solo proxy con el comando gcloud compute networks subnets create.
    En este ejemplo, se usa un rango de direcciones IP de 10.129.0.0/23 para la subred de solo proxy. Puedes configurar cualquier rango de subred válido.

    gcloud compute networks subnets create proxy-only-subnet \
     --purpose=REGIONAL_MANAGED_PROXY \
     --role=ACTIVE \
     --region=REGION \
     --network=lb-network \
     --range=10.129.0.0/23
    

Crea el balanceador de cargas

En el siguiente diagrama, el balanceador de cargas usa un backend de NEG sin servidores para dirigir las solicitudes a un servicio de Cloud Run sin servidores.

Arquitectura de balanceo de cargas HTTP(S) regional externo para una aplicación de Cloud Run.
Arquitectura de balanceo de cargas HTTP(S) regional externo para una aplicación de Cloud Run

El tráfico que va desde el balanceador de cargas hasta los backends de NEG sin servidores usa rutas especiales definidas fuera de la VPC que no están sujetas a las reglas de firewall. Por lo tanto, si tu balanceador de cargas solo tiene backends de NEG sin servidores, no necesitas crear reglas de firewall para permitir el tráfico desde la subred de solo proxy al backend sin servidores.

Console

Inicie la configuración

  1. En Google Cloud Console, ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. En Balanceo de cargas de HTTP(S), haz clic en Iniciar configuración.
  3. En Orientado a Internet o solo interno, selecciona De Internet a mis VM o servicios sin servidores.
  4. En Global o regional, selecciona Balanceador de cargas HTTP(S) regional.
  5. Haga clic en Continuar.
  6. Para el Nombre del balanceador de cargas, ingresa serverless-lb.
  7. Selecciona la Red como lb_network.
  8. Mantén la ventana abierta para continuar.

Configure el frontend

  1. Antes de continuar, asegúrate de tener un certificado SSL.
  2. Haz clic en Configuración de frontend.
  3. Ingresa un Nombre.
  4. Para configurar un balanceador de cargas HTTP(S) externo regional, completa los campos como se muestra a continuación.
    1. En Protocolo, selecciona HTTPS.
    2. En Versión de la IP, selecciona IPv4.
    3. En Dirección IP, selecciona Efímera.
    4. En Puerto, selecciona 443.
    5. En Certificado, selecciona un certificado SSL existente o crea uno nuevo.

      Si quieres crear un balanceador de cargas de HTTPS, debes tener un recurso de certificado SSL para usar en el proxy HTTPS. Puedes crear un recurso de certificado SSL mediante un certificado SSL autoadministrado.
      No se admiten certificados regionales administrados por Google.

    Si quieres probar este proceso sin configurar un recurso de certificado SSL, puedes configurar un balanceador de cargas de HTTP.

  5. Opcional: Para crear un balanceador de cargas HTTP, haz lo siguiente:
    1. En Protocolo, selecciona HTTPS.
    2. En Versión de la IP, selecciona IPv4.
    3. En Dirección IP, selecciona Efímera.
    4. En Puerto, selecciona 80.
  6. Haga clic en Listo.

Configura los servicios de backend

  1. Haga clic en Configuración de backend.
  2. En el menú desplegable Crear o seleccionar servicios de backend, mantén el puntero sobre Servicios de backend y, luego, selecciona Crear un servicio de backend.
  3. En la ventana Crear un servicio de backend, ingresa un Nombre.
  4. En Tipo de backend, selecciona Grupo de extremos de red sin servidores (Vista previa).
  5. Deja Protocolo sin modificar. Este parámetro se ignora.
  6. En Backends > Nuevo backend, selecciona Crear grupo de extremos de red sin servidores.
    1. En la ventana Crear grupo de extremos de red sin servidores, ingresa un Nombre.
    2. En Región, se muestra la región del balanceador de cargas.
    3. En el campo Tipo de grupo de extremos de red sin servidores, selecciona Cloud Run. Cloud Run es el único tipo compatible.
    4. Elige Seleccionar nombre de servicio.
    5. En la lista desplegable Servicio, selecciona el servicio de Cloud Run para el que quieres crear un balanceador de cargas.
    6. Haga clic en Listo.
    7. Haga clic en Crear.
  7. En la ventana Crear servicio de backend, haz clic en Crear.

Configura reglas de enrutamiento

Las reglas de enrutamiento determinan cómo se dirige el tráfico. Puedes dirigir el tráfico a un servicio de backend o a uno de Kubernetes. El tráfico que no coincide de forma explícita con un host y un comparador de rutas se envía al servicio predeterminado.

  1. Haz clic en Regla sencilla de host y ruta de acceso.
  2. Selecciona un servicio de backend de la lista desplegable Backend.

Revisa la configuración

  1. Haz clic en Revisar y finalizar.
  2. Revisa los valores de Backend, Reglas de host y ruta de acceso y Frontend.
  3. Haga clic en Crear. Espera a que se cree el balanceador de cargas.
  4. Haz clic en el nombre del balanceador de cargas (serverless-lb).
  5. Anote la dirección IP del balanceador de cargas para la siguiente tarea.

gcloud

  1. Reserva una dirección IP externa estática para el balanceador de cargas.
        gcloud compute addresses create ADDRESS_NAME  \
            --region=REGION \
            --network-tier=STANDARD
        
  2. Crea un NEG sin servidores para tu servicio de Cloud Run:
        gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \
            --region=REGION \
            --network-endpoint-type=serverless  \
            --cloud-run-service=CLOUD_RUN_SERVICE_NAME
        
  3. Crea un servicio de backend regional. Configura --protocol como HTTP o HTTPS.
        gcloud beta compute backend-services create BACKEND_SERVICE_NAME \
            --load-balancing-scheme=EXTERNAL_MANAGED \
            --protocol=HTTP \
            --region=REGION
        
  4. Agrega el NEG sin servidores como un backend al servicio de backend:
        gcloud beta compute backend-services add-backend BACKEND_SERVICE_NAME \
            --region=REGION \
            --network-endpoint-group=SERVERLESS_NEG_NAME \
            --network-endpoint-group-region=REGION
        
  5. Crea un mapa de URL regional para enrutar las solicitudes entrantes al servicio de backend:
        gcloud beta compute url-maps create URL_MAP_NAME \
            --default-service=BACKEND_SERVICE_NAME \
            --region=REGION
        
    Este mapa de URL de ejemplo solo se orienta a un servicio de backend que representa una sola app sin servidores, por lo que no es necesario configurar reglas de host ni comparadores de rutas.
  6. Si quieres crear un balanceador de cargas HTTPS, debes tener un recurso de certificado SSL para usar en el proxy HTTPS. Puedes crear un recurso de certificado SSL mediante un certificado SSL autoadministrado. Los certificados administrados por Google no son compatibles. Si deseas crear un recurso de certificado SSL autoadministrado regional, ingresa el siguiente comando:
        gcloud beta compute ssl-certificates create SSL_CERTIFICATE_NAME \
            --certificate CRT_FILE_PATH \
            --private-key KEY_FILE_PATH \
            --region=REGION
        
  7. Crea un proxy de destino regional para enrutar las solicitudes al mapa de URL.

    Para un balanceador de cargas de HTTP, crea un proxy HTTP de destino:
        gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
            --url-map=URL_MAP_NAME \
            --region=REGION
        
    Para un balanceador de cargas de HTTPS, crea un proxy HTTPS de destino. El proxy es la parte del balanceador de cargas que contiene el certificado SSL para el balanceo de cargas HTTPS, por lo que también debes cargar el certificado en este paso.
        gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
            --ssl-certificates=SSL_CERTIFICATE_NAME \
            --url-map=URL_MAP_NAME \
            --region=REGION
        
  8. Crea una regla de reenvío para enrutar las solicitudes entrantes al proxy. Para un balanceador de cargas de HTTP, ingresa el siguiente comando:
        gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
            --load-balancing-scheme=EXTERNAL_MANAGED \
            --network-tier=STANDARD \
            --network=lb-network \
            --address=ADDRESS_NAME \
            --target-http-proxy=TARGET_HTTP_PROXY_NAME \
            --target-http-proxy-region=REGION \
            --region=REGION \
            --ports=80
        
    Para un balanceador de cargas de HTTPS, ingresa el siguiente comando:
        gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
            --load-balancing-scheme=EXTERNAL_MANAGED \
            --network-tier=STANDARD \
            --network=lb-network \
            --address=ADDRESS_NAME \
            --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
            --target-https-proxy-region=REGION \
            --region=REGION \
            --ports=443
        

Prueba el balanceador de cargas

Ahora que ya configuraste el balanceador de cargas, puedes comenzar a enviar tráfico a la dirección IP del balanceador de cargas.

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir al balanceo de cargas
  2. Haz clic en el balanceador de cargas que acabas de crear.
  3. Toma nota de la Dirección IP del balanceador de cargas.
  4. En el caso de un balanceador de cargas de HTTP, puedes probar tu balanceador de cargas con un navegador web en http://IP_ADDRESS. Reemplaza IP_ADDRESS por la dirección IP del balanceador de cargas. Se te debería dirigir a la página principal del servicio de Cloud Run.
  5. En el caso de un balanceador de cargas de HTTPS, puedes probar tu balanceador de cargas con un navegador web en https://IP_ADDRESS. Reemplaza IP_ADDRESS por la dirección IP del balanceador de cargas. Se te debería dirigir a la página principal del servicio de Cloud Run.
    Si usaste un certificado autofirmado para las pruebas, el navegador mostrará una advertencia. Debes indicar de manera explícita a tu navegador que acepte un certificado autofirmado. Haz clic en la advertencia para ver la página real.

Opciones de configuración adicionales

En esta sección se expande el ejemplo de configuración para proporcionar opciones de configuración alternativas y adicionales. Todas las tareas son opcionales. Puedes realizarlas en cualquier orden.

Usa una máscara para URL

Cuando creas un NEG sin servidores, en lugar de seleccionar un servicio específico de Cloud Run, puedes usar una máscara de URL para apuntar a múltiples servicios que entregan en el mismo dominio. Una máscara de URL es una plantilla del esquema de URL. El NEG sin servidores usará esta plantilla para extraer el nombre del servicio de la URL de la solicitud entrante y asignar la solicitud al servicio correspondiente.

Las máscaras de URL son útiles sobre todo si tu servicio se mapea a un dominio personalizado en lugar de mapearse a la dirección predeterminada que proporciona Google Cloud para el servicio implementado. Una máscara de URL te permite orientar varios servicios y versiones con una regla única, incluso cuando tu aplicación usa un patrón de URL personalizado.

Si aún no lo hiciste, asegúrate de leer la Descripción general de NEG sin servidores: Máscaras de URL.

Crea una máscara para URL

A fin de crear una máscara de URL para tu balanceador de cargas, comienza con la URL de tu servicio. En este ejemplo, se usa una app sin servidores de muestra que se ejecuta en https://example.com/login. Esta es la URL en la que se entregará el servicio login de la app.

  1. Quita http o https de la URL. Quedará example.com/login.
  2. Reemplaza el nombre del servicio por un marcador de posición para la máscara de URL.
    1. Cloud Run: reemplaza el nombre del servicio de Cloud Run por el marcador de posición <service>. Si el servicio de Cloud Run tiene una etiqueta asociada, reemplaza el nombre de la etiqueta por el marcador de posición <tag>. En este ejemplo la máscara de URL que queda es example.com/<service>.
  3. (Opcional) Si el nombre del servicio se puede extraer de la porción de la ruta de la URL, se puede omitir el dominio. La porción de la ruta de acceso de la máscara de URL se distingue por el primer carácter /. Si / no está presente en la máscara de URL, se entiende que la máscara solo representa al host. Por lo tanto, para este ejemplo, la máscara de URL se puede reducir a /<service>.

    De manera similar, si se puede extraer el nombre del servicio de la parte del host de la URL, puedes omitir la ruta de acceso por completo de la máscara de URL.

    También puedes omitir cualquier componente de host o subdominio que aparezca antes del primer marcador de posición, y cualquier componente de la ruta de acceso que aparezca después del último marcador de posición. En esos casos, el marcador de posición captura la información requerida del componente.

Los siguientes son algunos otros ejemplos en los que se demuestran estas reglas:

En esta tabla, se supone que tienes un dominio personalizado llamado example.com y que todos tus servicios de Cloud Run se mapean a este dominio.

Servicio, nombre de la etiqueta URL de dominio personalizado de Cloud Run Máscara de URL
servicio: login https://login-home.example.com/web <service>-home.example.com
servicio: login https://example.com/login/web example.com/<service> o /<service>
servicio: login, etiqueta: test https://test.login.example.com/web <tag>.<service>.example.com
servicio: login, etiqueta: test https://example.com/home/login/test example.com/home/<service>/<tag> o /home/<service>/<tag>
servicio: login, etiqueta: test https://test.example.com/home/login/web <tag>.example.com/home/<service>

Crea un NEG sin servidores con una máscara de URL

Console

Para un balanceador de cargas nuevo, puedes usar el mismo proceso de extremo a extremo como se describió antes en este tema. Cuando configures el servicio de backend, en lugar de seleccionar un servicio específico, ingresa una máscara de URL.

Si tienes un balanceador de cargas existente, puedes editar la configuración del backend y hacer que el NEG sin servidores apunte a una máscara de URL en lugar de a un servicio específico.

Sigue estos pasos para agregar un NEG sin servidores basado en máscaras de URL a un servicio de backend existente:

  1. En la consola de Google Cloud, ve a la página Balanceo de cargas.
    Ir a Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas que tiene el servicio de backend que deseas editar.
  3. En la página Detalles del balanceador de cargas, haz clic en Editar .
  4. En la página Edit HTTP(S) load balancer, haz clic en Configuración de backend.
  5. En la página Configuración de backend, haz clic en Editar  en el servicio de backend que deseas modificar.
  6. Haga clic en Agregar backend.
  7. Selecciona Crear grupo de extremos de red sin servidores.
    1. En Nombre, ingresa helloworld-serverless-neg.
    2. En Región, se muestra la región del balanceador de cargas.
    3. En Tipo de grupo de extremos de red sin servidores, se muestra Cloud Run. En la actualidad, Cloud Run es el único tipo de grupo de extremos de red compatible.
      1. Selecciona Usar máscara de URL.
      2. Ingresa una máscara de URL. Para obtener instrucciones sobre cómo crear una máscara de URL, consulta Crea una máscara de URL.
      3. Haga clic en Crear.

  8. En el Backend nuevo, haz clic en Listo.
  9. Haga clic en Update.

gcloud

Para crear un NEG sin servidores con una máscara de URL de muestra de example.com/<service>, ejecuta el siguiente comando:

gcloud compute network-endpoint-groups create SERVERLESS_NEG_MASK_NAME \
    --region=REGION \
    --network-endpoint-type=serverless \
    --cloud-run-url-mask="example.com/<service>"

Borra un NEG sin servidores

Si un grupo de extremos de red está vinculado a un servicio de backend, no se puede quitar. Antes de borrar un NEG, asegúrate de que esté desvinculado del servicio de backend.

Console

  1. Para asegurarte de que el NEG sin servidores que desees borrar no esté en uso por parte de algún servicio de backend, ve a la pestaña Servicios de backend en la página Componentes de balanceo de cargas.
    Ir a Servicios de backend
  2. Si el NEG sin servidores está en uso, haz lo siguiente:
    1. Haz clic en el nombre del servicio de backend mediante el NEG sin servidores.
    2. Haz clic en Editar .
    3. En la lista de Backends, haz clic en para quitar el backend de NEG sin servidores del servicio de backend.
    4. Haz clic en Guardar.
  3. Ve a la página Grupo de extremos de red en la consola de Google Cloud.
    Ir al grupo de extremos de red
  4. Selecciona la casilla de verificación del NEG sin servidores que quieres borrar.
  5. Haz clic en Borrar.
  6. Haz clic en Borrar nuevamente para confirmar.

gcloud

Para quitar un NEG sin servidores de un servicio de backend, debes especificar la región en la que se creó el NEG.

gcloud compute backend-services remove-backend BACKEND_SERVICE_NAME \
    --network-endpoint-group=SERVERLESS_NEG_NAME \
    --network-endpoint-group-region=REGION \
    --region=REGION

Para borrar el NEG sin servidores, haz lo siguiente:

gcloud compute network-endpoint-groups delete SERVERLESS_NEG_NAME \
    --region=REGION

¿Qué sigue?