En esta página se explica cómo crear un balanceador de carga de aplicaciones externo para enrutar solicitudes a back-ends sin servidor. En este caso, el término "sin servidor" hace referencia a los siguientes productos de computación sin servidor:
- App Engine
- Cloud Run Functions
- Cloud Run
La integración de balanceadores de carga de aplicaciones externos con API Gateway permite que tus backends sin servidor aprovechen todas las funciones que ofrece Cloud Load Balancing. Para configurar un balanceador de carga de aplicación externo que enrute el tráfico a una API Gateway, consulta Primeros pasos con un balanceador de carga de aplicación externo para API Gateway. La compatibilidad con el balanceador de carga de aplicaciones externo para API Gateway está en vista previa.
Los NEGs sin servidor te permiten usar Google Cloud aplicaciones sin servidor con balanceadores de carga de aplicaciones externos. Una vez que hayas configurado un balanceador de carga con el backend de NEG sin servidor, las solicitudes al balanceador de carga se dirigirán al backend de la aplicación sin servidor.
Para obtener más información sobre los NEGs sin servidor, consulta la descripción general de NEGs sin servidor.
Si ya usas el balanceador de carga de aplicación clásico, consulta el resumen de la migración cuando planifiques una nueva implementación con el balanceador de carga de aplicación externo global.Antes de empezar
- Despliega un servicio de App Engine, Cloud Run functions o Cloud Run.
- Si aún no lo has hecho, instala la CLI de Google Cloud.
- Configura los permisos.
- Añade un recurso de certificado SSL.
Desplegar un servicio de App Engine, Cloud Run functions o Cloud Run
En estas instrucciones, se presupone que ya tienes un servicio Cloud Run, Cloud Run functions o App Engine en ejecución.
En el ejemplo de esta página, hemos usado la guía de inicio rápido de Python de Cloud Run para desplegar un servicio de Cloud Run en la región us-central1
. En el resto de esta página se explica cómo configurar un balanceador de carga de aplicaciones externo que utilice un backend de NEG sin servidor para enrutar las solicitudes a este servicio.
Si aún no has implementado una aplicación sin servidor o quieres probar una NEG sin servidor con una aplicación de ejemplo, usa una de las siguientes guías de inicio rápido. Puedes crear una aplicación sin servidor en cualquier región, pero debes usar la misma región más adelante para crear el NEG sin servidor y el balanceador de carga.
Cloud Run
Para crear una aplicación Hello World sencilla, empaquétala en una imagen de contenedor y, luego, despliega la imagen de contenedor en Cloud Run. Consulta la guía de inicio rápido: compilación y despliegue.
Si ya has subido un contenedor de muestra a Container Registry, consulta la guía de inicio rápido sobre cómo desplegar un contenedor de ejemplo prediseñado.
Cloud Run Functions
Consulta Cloud Run Functions: guía de inicio rápido de Python.
App Engine
Consulta las siguientes guías de inicio rápido de App Engine para Python 3:
Instalar Google Cloud CLI
Instala Google Cloud CLI. Consulta la descripción general de gcloud para obtener información conceptual y sobre la instalación de la herramienta.
Si no has ejecutado la CLI de gcloud anteriormente, ejecuta primero gcloud init
para inicializar tu directorio de gcloud.
Configurar permisos
Para seguir esta guía, debes crear un NEG sin servidor y un balanceador de carga HTTP(S) externo en un proyecto. Debes ser propietario o editor de un proyecto, o bien tener los siguientes roles de gestión de identidades y accesos de Compute Engine:
Tarea | Rol obligatorio |
---|---|
Crear balanceadores de carga y componentes de red | Administrador de red |
Crear y modificar grupos de puntos de conexión de red | Administrador de instancias de Compute |
Crear y modificar certificados SSL | Administrador de seguridad |
Reservar una dirección IP externa
Ahora que tus servicios están en funcionamiento, configura una dirección IP externa estática global que tus clientes usan para llegar a tu balanceador de carga.
Consola
En la Google Cloud consola, ve a la página Direcciones IP externas.
Haz clic en Reservar dirección IP estática externa.
En Nombre, escribe
example-ip
.En Nivel de servicio de red, selecciona Premium.
En Versión de IP, selecciona IPv4.
En Type (Tipo), selecciona Global (Global).
Haz clic en Reservar.
gcloud
gcloud compute addresses create EXAMPLE_IP \ --network-tier=PREMIUM \ --ip-version=IPV4 \ --global
Anota la dirección IPv4 que se ha reservado:
gcloud compute addresses describe EXAMPLE_IP \ --format="get(address)" \ --global
Sustituye EXAMPLE_IP
por el nombre de la dirección IP.
Crear un recurso de certificado SSL
Para crear un balanceador de carga HTTPS, debes añadir un recurso de certificado SSL al frontend del balanceador de carga. Crea un recurso de certificado SSL con un certificado SSL gestionado por Google o un certificado SSL autogestionado.
Certificados gestionados por Google. Te recomendamos que uses certificados gestionados por Google porque Google Cloud obtiene, gestiona y renueva estos certificados automáticamente. Para crear un certificado gestionado por Google, debes tener un dominio y los registros DNS de ese dominio para que se pueda aprovisionar el certificado.
Además, debe actualizar el registro A de DNS del dominio para que apunte a la dirección IP del balanceador de carga que ha creado en el paso anterior. Si tiene varios dominios en un certificado gestionado por Google, debe actualizar los registros DNS de todos los dominios y subdominios para que apunten a la dirección IP de su balanceador de carga. Para obtener instrucciones detalladas, consulta Usar certificados gestionados por Google.
Certificados autofirmados. Si no quieres configurar un dominio en este momento, puedes usar un certificado SSL autofirmado para hacer pruebas.
En este ejemplo se da por hecho que ya has creado un recurso de certificado SSL.
Si quieres probar este proceso sin crear un recurso de certificado SSL (o un dominio, como requieren los certificados gestionados por Google), puedes seguir las instrucciones de esta página para configurar un balanceador de carga HTTP.
Crear el balanceador de carga
En el siguiente diagrama, el balanceador de carga usa un backend de NEG sin servidor para dirigir las solicitudes a un servicio de Cloud Run sin servidor. En este ejemplo, hemos usado la guía de inicio rápido de Python de Cloud Run para desplegar un servicio de Cloud Run.
Como las comprobaciones de estado no se admiten en los servicios de backend con backends de NEG sin servidor, no es necesario que cree una regla de firewall que permita las comprobaciones de estado si el balanceador de carga solo tiene backends de NEG sin servidor.
Consola
Selecciona el tipo de balanceador de carga
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en Crear balanceador de carga.
- En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación (HTTP/HTTPS) y haz clic en Siguiente.
- En Público o interno, selecciona Público (externo) y haz clic en Siguiente.
- En Implementación global o en una sola región, selecciona La mejor opción para cargas de trabajo globales y haz clic en Siguiente.
- En Generación del balanceador de carga, selecciona Balanceador de carga de aplicación externo global y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
- En el nombre del balanceador de carga, introduce
serverless-lb
. - Mantén la ventana abierta para continuar.
Configuración de frontend
- Haz clic en Configuración de frontend.
- En Name (Nombre), escribe un nombre.
-
Para crear un balanceador de carga HTTPS, debe tener un certificado SSL (
gcloud compute ssl-certificates list
).Te recomendamos que uses un certificado gestionado por Google, tal como se describe anteriormente.
- Haz clic en Listo.
Para configurar un balanceador de carga de aplicación externo, rellena los campos como se indica a continuación.
Verifica que las siguientes opciones estén configuradas con estos valores:
Propiedad | Valor (escribe un valor o selecciona una opción según se especifique) |
---|---|
Protocolo | HTTPS |
Nivel de servicio de red | Premium |
Versión de IP | IPv4 |
Dirección IP | example-ip |
Puerto | 443 |
Opcional: tiempo de espera de keep-alive HTTP | Introduce un valor de tiempo de espera entre 5 y 1200 segundos. El valor predeterminado es 610 segundos. |
Certificado | Selecciona un certificado SSL o crea uno. Para crear un balanceador de carga HTTPS, debes tener un recurso de certificado SSL que usar en el proxy HTTPS. Puedes crear un recurso de certificado SSL con un certificado SSL gestionado por Google o con un certificado SSL autogestionado. Para crear un certificado gestionado por Google, debes tener un dominio. El registro A del dominio debe resolverse en la dirección IP del balanceador de carga que has creado anteriormente en este procedimiento. Te recomendamos que uses certificados gestionados por Google porque Google Cloud obtiene, gestiona y renueva estos certificados automáticamente. Si no tienes un dominio, puedes usar un certificado SSL autofirmado para hacer pruebas. |
Opcional: Habilita la opción de redireccionamiento de HTTP a HTTPS |
Usa esta casilla para habilitar las redirecciones de HTTP a HTTPS.
Si marcas esta casilla, se creará un balanceador de carga HTTP parcial adicional que usará la misma dirección IP que tu balanceador de carga HTTPS y redirigirá las solicitudes HTTP al frontend HTTPS de tu balanceador de carga. Esta casilla solo se puede marcar si se selecciona el protocolo HTTPS y se usa una dirección IP reservada. |
Si quieres probar este proceso sin configurar un recurso de certificado SSL (o un dominio, como requieren los certificados gestionados por Google), puedes configurar un balanceador de carga HTTP.
Para crear un balanceador de carga HTTP, comprueba que las siguientes opciones estén configuradas con estos valores:
Propiedad | Valor (escribe un valor o selecciona una opción según se especifique) |
---|---|
Protocolo | HTTP |
Nivel de servicio de red | Premium |
Versión de IP | IPv4 |
Dirección IP | example-ip |
Puerto | 80 |
Opcional: tiempo de espera de keep-alive HTTP | Introduce un valor de tiempo de espera entre 5 y 1200 segundos. El valor predeterminado es 610 segundos. |
Configuración de backend
- Haz clic en Configuración de backend.
- En la lista Servicios y segmentos de backend, haz clic en Crear un servicio de backend.
- En Name (Nombre), escribe un nombre.
- En Tipo de backend, selecciona Grupo de endpoints de red sin servidor.
- No modifiques el valor de Protocol. Este parámetro se ignora.
- En la sección Backends (Backends), en New backend (Nuevo backend), selecciona Create Serverless network endpoint group (Crear grupo de endpoints de red sin servidor).
- En Name (Nombre), escribe un nombre.
- En Región, selecciona us-central1 y, a continuación, Cloud Run.
- Selecciona Seleccionar nombre de servicio.
- En la lista Servicio, selecciona el servicio de Cloud Run para el que quieras crear un balanceador de carga.
- Haz clic en Crear.
- En la sección Nuevo backend, haz clic en Hecho.
- Haz clic en Crear.
Reglas de enrutamiento
Las reglas de enrutamiento determinan cómo se dirige el tráfico. Para configurar el enrutamiento, debes configurar reglas de host y matchers de ruta, que son componentes de configuración del mapa de URLs de un balanceador de carga de aplicaciones externo.
Haz clic en Reglas de enrutamiento.
- Mantén los hosts y las rutas predeterminados. En este ejemplo, todas las solicitudes se dirigen al servicio de backend creado en el paso anterior.
Revisar la configuración
- Haz clic en Revisar y finalizar.
- Revisa todos los ajustes.
- Opcional: Haz clic en Código equivalente para ver la solicitud de la API REST que se usará para crear el balanceador de carga.
- Haz clic en Crear.
- Espera a que se cree el balanceador de carga.
- Haz clic en el nombre del balanceador de carga (serverless-lb).
- Anota la dirección IP del balanceador de carga para la siguiente tarea. Se denomina
IP_ADDRESS
.
gcloud
- Crea un NEG sin servidor para tu aplicación sin servidor.
Para crear un NEG sin servidor con un servicio de Cloud Run, sigue estos pasos:
Para ver más opciones, consulta la guía de referencia degcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-run-service=CLOUD_RUN_SERVICE_NAME
gcloud
paragcloud compute network-endpoint-groups create
. - Crea un servicio de backend.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --global
- Añade el NEG sin servidor como backend al servicio de backend:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --global \ --network-endpoint-group=SERVERLESS_NEG_NAME \ --network-endpoint-group-region=us-central1
- Crea un mapa de URLs para enrutar las solicitudes entrantes al servicio de backend:
gcloud compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE_NAME
Este mapa de URLs de ejemplo solo se dirige a un servicio de backend que representa una aplicación sin servidor, por lo que no es necesario configurar reglas de host ni matchers de ruta. Si tienes más de un servicio de backend, puedes usar reglas de host para dirigir las solicitudes a diferentes servicios en función del nombre de host. También puedes configurar matchers de ruta para dirigir las solicitudes a diferentes servicios en función de la ruta de la solicitud.
-
Para crear un balanceador de carga HTTPS, debes tener un
recurso de certificado SSLque usar en el proxy HTTPS de destino.
Puedes crear un recurso de certificado SSL con un certificado SSL gestionado por Google o con un certificado SSL autogestionado. Te recomendamos que uses certificados gestionados por Google, ya que Google Cloud obtiene, gestiona y renueva
estos certificados automáticamente.
Para crear un certificado gestionado por Google, debes tener un dominio. Si no tienes un dominio, puedes usar un certificado SSL autofirmado para hacer pruebas.
Para crear un recurso de certificado SSL gestionado por Google, sigue estos pasos: Para crear un recurso de certificado SSL autogestionado, sigue estos pasos:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
-
Crea un proxy HTTP(S) de destino para enrutar las solicitudes a tu mapa de URLs.
En el caso de un balanceador de carga HTTP, crea un proxy HTTP de destino:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
En el caso de un balanceador de carga HTTPS, crea un proxy HTTPS de destino. El proxy es la parte del balanceador de carga que contiene el certificado SSL para el balanceo de carga HTTPS, por lo que también debes cargar tu certificado en este paso.
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
Haz los cambios siguientes:
TARGET_HTTP_PROXY_NAME
: nombre del proxy HTTP de destino.TARGET_HTTPS_PROXY_NAME
: nombre del proxy HTTPS de destino.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: campo opcional que se usa para especificar el tiempo de espera de keep-alive HTTP del cliente. El valor del tiempo de espera debe estar entre 5 y 1200 segundos. El valor predeterminado es 610 segundos.SSL_CERTIFICATE_NAME
: el nombre del certificado SSL.URL_MAP_NAME
: nombre del mapa de URLs.
- Crea una regla de reenvío para dirigir las solicitudes entrantes al proxy.
En el caso de un balanceador de carga HTTP:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=EXAMPLE_IP \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
En el caso de un balanceador de carga HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=EXAMPLE_IP \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
Conectar tu dominio a tu balanceador de carga
Una vez creado el balanceador de carga, anota la dirección IP asociada a él. Por ejemplo, 30.90.80.100
. Para dirigir tu dominio a tu balanceador de carga, crea un registro A
con tu servicio de registro de dominios. Si has añadido varios dominios a tu certificado SSL, debes añadir un registro A
para cada uno de ellos, todos apuntando a la dirección IP del balanceador de carga. Por ejemplo, para crear registros A
de www.example.com
y example.com
, usa lo siguiente:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Si usas Cloud DNS como proveedor de DNS, consulta el artículo sobre cómo añadir, modificar y eliminar registros.
Probar el balanceador de carga
Ahora que has configurado el balanceador de carga, puedes empezar a enviar tráfico a la dirección IP del balanceador de carga. Si has configurado un dominio, también puedes enviar tráfico al nombre de dominio. Sin embargo, la propagación de DNS puede tardar en completarse, por lo que puedes empezar usando la dirección IP para hacer pruebas.
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el balanceador de carga que acabas de crear.
Anota la dirección IP del balanceador de carga.
En el caso de un balanceador de carga HTTP, puedes probarlo con un navegador web. Para ello, ve a
http://IP_ADDRESS
. SustituyeIP_ADDRESS
por la dirección IP del balanceador de carga. Se te debería dirigir a la página principal del serviciohelloworld
.
En el caso de un balanceador de carga HTTPS, puedes probarlo con un navegador web. Para ello, ve a
https://IP_ADDRESS
. SustituyeIP_ADDRESS
por la dirección IP del balanceador de carga. Se te debería dirigir a la página principal del serviciohelloworld
.
Si no funciona y usas un certificado gestionado por Google, confirma que el estado de tu recurso de certificado es ACTIVE. Para obtener más información, consulta el estado del recurso de certificado SSL gestionado por Google.
Si has usado un certificado autofirmado para hacer pruebas, tu navegador mostrará una advertencia. Debes indicar explícitamente a tu navegador que acepte un certificado autofirmado. Haz clic en la advertencia para ver la página.
Opciones de configuración adicionales
En esta sección se amplía el ejemplo de configuración para ofrecer opciones de configuración alternativas y adicionales. Todas las tareas son opcionales. Puedes llevarlas a cabo en el orden que quieras.
Configurar el balanceo de carga multirregional
En el ejemplo descrito anteriormente en esta página, solo tenemos un servicio Cloud Run que actúa como backend en la región us-central1
. Como el NEG sin servidor solo puede apuntar a un endpoint a la vez, no se realiza el balanceo de carga en varias regiones. El balanceador de carga de aplicación externo solo actúa como frontend y proxy del tráfico al endpoint de la aplicación helloworld
especificado. Sin embargo, puede que quieras servir tu aplicación de Cloud Run desde más de una región para mejorar la latencia de los usuarios finales.
Si un servicio de backend tiene varios NEGs sin servidor asociados, el balanceador de carga equilibra el tráfico reenviando las solicitudes al NEG sin servidor de la región disponible más cercana. Sin embargo, los servicios de backend solo pueden contener un NEG sin servidor por región. Para que tu servicio de Cloud Run esté disponible en varias regiones, debes configurar el enrutamiento entre regiones. Deberías poder usar un único esquema de URL que funcione en cualquier parte del mundo, pero que responda a las solicitudes de los usuarios desde la región más cercana.
Para configurar el servicio multirregional, debes usar el nivel de red Premium para asegurarte de que todos los despliegues regionales de Cloud Run sean compatibles y estén listos para servir tráfico desde cualquier región.
Para configurar un balanceador de carga multirregional, sigue estos pasos:
- Configura dos servicios de Cloud Run en regiones diferentes. Supongamos que has desplegado dos servicios de Cloud Run: uno en una región de EE. UU. y otro en una región de Europa.
- Crea un balanceador de carga de aplicación externo con la siguiente configuración:
- Configura un servicio de backend global con dos NEGs sin servidor:
- Crea el primer NEG en la misma región que el servicio de Cloud Run desplegado en EE. UU.
- Crea el segundo NEG en la misma región que el servicio de Cloud Run desplegado en Europa.
- Configura tu frontend con el nivel de servicio de red Premium.
- Configura un servicio de backend global con dos NEGs sin servidor:
La configuración resultante se muestra en el siguiente diagrama.
En esta sección se explica cómo configurar el balanceador de carga descrito anteriormente en esta página, en el que has creado un NEG sin servidor en la región us-central1
que apunta a un servicio de Cloud Run en la misma región. También se da por hecho que has creado un segundo servicio de Cloud Run en la región europe-west1
. El segundo NEG sin servidor que crees apuntará a este servicio de Cloud Run en la región europe-west1
.
En este ejemplo, seguirás estos pasos:
- Crea un segundo NEG sin servidor en la región
europe-west1
. - Asocia el segundo NEG sin servidor al servicio de backend.
Para añadir un segundo NEG sin servidor a un servicio de backend, sigue estos pasos.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
En la página Detalles del balanceador de carga, haga clic en
Editar.En la página Editar balanceador de carga de aplicación externo global, haga clic en Configuración de backend.
En la página Configuración de backend, haga clic en
Editar en el servicio de backend que quiera modificar.En la sección Back-ends, haz clic en Añadir un back-end.
En la lista Grupos de endpoints de red sin servidor, selecciona Crear grupo de endpoints de red sin servidor.
Introduce un nombre para el NEG sin servidor.
En Región, selecciona
europe-west1
.En Tipo de grupo de endpoints de red sin servidor, selecciona Cloud Run y, a continuación, haz lo siguiente:
- Selecciona la opción Seleccionar servicio.
- En la lista Servicio, selecciona el servicio de Cloud Run para el que quieras crear un balanceador de carga.
Haz clic en Crear.
En la página Nuevo backend, haga clic en Hecho.
Haz clic en Guardar.
Para actualizar el servicio de backend, haz clic en Actualizar.
Para actualizar el balanceador de carga, en la página Editar balanceador de carga de aplicación externo global, haz clic en Actualizar.
gcloud
Crea un segundo NEG sin servidor en la misma región en la que se haya desplegado el servicio de Cloud Run.
gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME_2 \ --region=europe-west1 \ --network-endpoint-type=SERVERLESS \ --cloud-run-service=CLOUD_RUN_SERVICE_2
Haz los cambios siguientes:
SERVERLESS_NEG_NAME_2
: el nombre del segundo NEG sin servidorCLOUD_RUN_SERVICE_2
: nombre del servicio de Cloud Run
Añade el segundo NEG sin servidor como backend al servicio de backend.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --global \ --network-endpoint-group=SERVERLESS_NEG_NAME_2 \ --network-endpoint-group-region=europe-west1
Haz los cambios siguientes:
BACKEND_SERVICE_NAME
: el nombre del servicio de backendSERVERLESS_NEG_NAME_2
: el nombre del segundo NEG sin servidor
Usar una suscripción de inserción de Pub/Sub autenticada con un despliegue multirregional de Cloud Run
En el caso de las solicitudes de inserción autenticadas, Cloud Run espera un campo de audiencia específico de la región de forma predeterminada. En el caso de un despliegue de Cloud Run multirregional, si la solicitud push se enruta a un servicio de Cloud Run de otra región, la verificación del token JWT falla debido a una discrepancia en la audiencia.
Para evitar esta restricción específica de la región, haz lo siguiente:
- Configura una audiencia personalizada que sea la misma para las implementaciones de servicios en diferentes regiones.
- Configura los mensajes push de Pub/Sub para que usen la audiencia personalizada como audiencia en el token JWT.
Configurar el enrutamiento regional
Un motivo habitual para servir aplicaciones desde varias regiones es cumplir los requisitos de localización de datos. Por ejemplo, puede que quieras asegurarte de que las solicitudes de los usuarios europeos siempre se atiendan desde una región ubicada en Europa. Para configurarlo, necesitas un esquema de URL con URLs independientes para los usuarios de la UE y los que no lo son, y dirigir a los usuarios de la UE a las URLs de la UE.
En ese caso, usarías el mapa de URLs para dirigir las solicitudes de URLs específicas a las regiones correspondientes. Con esta configuración, las solicitudes destinadas a una región nunca se envían a otra. De esta forma, se consigue un aislamiento entre regiones. Por otro lado, cuando falla una región, las solicitudes no se enrutan a otra región. Por lo tanto, esta configuración no aumenta la disponibilidad de tu servicio.
Para configurar el enrutamiento regional, debe usar el nivel de red Premium para poder combinar diferentes regiones en una sola regla de reenvío.
Para configurar un balanceador de carga con enrutamiento regional, sigue estos pasos:
- Configura dos servicios de Cloud Run en regiones diferentes. Supongamos que has desplegado dos servicios de Cloud Run: hello-world-eu en una región de Europa y hello-world-us en una región de EE. UU.
- Crea un balanceador de carga de aplicación externo con la siguiente configuración:
- Configura un servicio de backend con un NEG sin servidor en Europa. El NEG sin servidor debe crearse en la misma región que el servicio de Cloud Run implementado en Europa.
- Configura un segundo servicio de backend con otro NEG sin servidor en EE. UU. Este NEG sin servidor debe crearse en la misma región que el servicio de Cloud Run desplegado en EE. UU.
- Configura tu mapa de URLs con las reglas de host y de ruta adecuadas para que un conjunto de URLs se dirija al servicio de backend europeo, mientras que todas las solicitudes se dirijan al servicio de backend de EE. UU.
- Configure su frontend con el nivel de red Premium.
El resto de la configuración puede ser el mismo que se ha descrito anteriormente. La configuración resultante debería tener este aspecto:
Usar una máscara de URL
Cuando creas un NEG sin servidor, en lugar de seleccionar un servicio de Cloud Run específico, puedes usar una máscara de URL para apuntar a varios servicios que se ejecutan en el mismo dominio. Una máscara de URL es una plantilla de su esquema de URL. El NEG sin servidor usará esta plantilla para extraer el nombre del servicio de la URL de la solicitud entrante y asignar la solicitud al servicio adecuado.
Las máscaras de URL son especialmente útiles si tu servicio está asignado a un dominio personalizado en lugar de a la dirección predeterminada queGoogle Cloud proporciona para el servicio desplegado. Una máscara de URL te permite orientar una sola regla a varios servicios y versiones, incluso cuando tu aplicación usa un patrón de URL personalizado.
Si aún no lo has hecho, lee el artículo Descripción general de los NEGs sin servidor: máscaras de URL.
Crear una máscara de URL
Para crear una máscara de URL para tu balanceador de carga, empieza con la URL de tu servicio. En este ejemplo, usaremos una aplicación sin servidor de muestra que se ejecuta en https://example.com/login
. Esta es la URL en la que se publicará el login
servicio
de la aplicación.
- Quita
http
ohttps
de la URL. Te quedanexample.com/login
. - Sustituye el nombre del servicio por un marcador de posición de la máscara de URL.
- Cloud Run: sustituye el nombre del servicio de Cloud Run por el marcador de posición
<service>
. Si el servicio de Cloud Run tiene una etiqueta asociada, sustituye el nombre de la etiqueta por el marcador de posición<tag>
. En este ejemplo, la máscara de URL que te queda esexample.com/<service>
. - Funciones de Cloud Run: sustituye el nombre de la función por el marcador de posición
<function>
. En este ejemplo, la máscara de URL que te queda esexample.com/<function>
. - App Engine: sustituye el nombre del servicio por el marcador de posición
<service>
. Si el servicio tiene una versión asociada, sustitúyala por el marcador de posición<version>
. En este ejemplo, la máscara de URL que te queda esexample.com/<service>
. - API Gateway: sustituye el nombre de la pasarela por el marcador de posición
<gateway>
. En este ejemplo, la máscara de URL que te queda esexample.com/<gateway>
.
- Cloud Run: sustituye el nombre del servicio de Cloud Run por el marcador de posición
(Opcional) Si el nombre del servicio (o la función, la versión o la etiqueta) se puede extraer de la parte de la ruta de la URL, se puede omitir el dominio. La parte de la ruta de la máscara de URL se distingue por el primer carácter
/
. Si no hay ningún/
en la máscara de URL, se entiende que la máscara representa solo el host. Por lo tanto, en este ejemplo, la máscara de URL se puede reducir a/<service>
,/<gateway>
o/<function>
.Del mismo modo, si el nombre del servicio se puede extraer de la parte del host de la URL, puedes omitir la ruta por completo de la máscara de URL.
También puede omitir cualquier componente de host o subdominio que vaya antes del primer marcador de posición, así como cualquier componente de ruta que vaya después del último marcador de posición. En estos casos, el marcador de posición recoge la información necesaria para el componente.
A continuación, te mostramos algunos ejemplos más que demuestran estas reglas:
Cloud Run
En esta tabla se da por hecho que tienes un dominio personalizado llamado example.com
y que todos tus servicios de Cloud Run se asignan a este dominio mediante un balanceador de carga de aplicaciones externo.
Servicio, nombre de la etiqueta | URL de dominio personalizado | Máscara de URL |
---|---|---|
servicio: inicio de sesión | https://login-home.example.com/web | <service>-home.example.com |
servicio: inicio de sesión | https://example.com/login/web | example.com/<service> o /<service> |
servicio: inicio de sesión, etiqueta: prueba | https://test.login.example.com/web | <tag>.<service>.example.com |
servicio: inicio de sesión, etiqueta: prueba | https://example.com/home/login/test | example.com/home/<service>/<tag> o /home/<service>/<tag> |
servicio: inicio de sesión, etiqueta: prueba | https://test.example.com/home/login/web | <tag>.example.com/home/<service> |
Cloud Run Functions
En esta tabla se presupone que tienes un dominio personalizado llamado example.com
y que todos tus servicios de funciones de Cloud Run se están asignando a este dominio.
Nombre de la función | URL de dominio personalizado | Máscara de URL |
---|---|---|
iniciar sesión | https://example.com/login | /<function> |
iniciar sesión | https://example.com/home/login | /home/<function> |
iniciar sesión | https://login.example.com | <function>.example.com |
iniciar sesión | https://login.home.example.com | <function>.home.example.com |
App Engine
En esta tabla se presupone que tienes un dominio personalizado llamado example.com
y que todos tus servicios de App Engine están asignados a este dominio.
Nombre y versión del servicio | URL de dominio personalizado | Máscara de URL |
---|---|---|
servicio: inicio de sesión | https://login.example.com/web | <service>.example.com |
servicio: inicio de sesión | https://example.com/home/login/web | example.com/home/<service> o /home/<service> |
servicio: inicio de sesión, versión: prueba | https://test.example.com/login/web | <version>.example.com/<service> |
servicio: inicio de sesión, versión: prueba | https://example.com/login/test | example.com/<service>/<version> |
API Gateway
En esta tabla se da por hecho que tienes un dominio personalizado llamado example.com
y que todos tus servicios de API Gateway están asignados a este dominio.
Nombre de la pasarela | URL de dominio personalizado de API Gateway(vista previa) | Máscara de URL |
---|---|---|
iniciar sesión | https://example.com/login | /<gateway> |
iniciar sesión | https://example.com/home/login | /home/<gateway> |
iniciar sesión | https://login.example.com | <gateway>.example.com |
iniciar sesión | https://login.home.example.com | <gateway>.home.example.com |
Crear un NEG sin servidor con una máscara de URL
Consola
En el caso de un balanceador de carga nuevo, puedes seguir el mismo proceso integral que se ha descrito anteriormente en este tema. Cuando configures el servicio de backend, en lugar de seleccionar un servicio específico, introduce una máscara de URL.
Si ya tienes un balanceador de carga, puedes editar la configuración del backend para que el NEG sin servidor apunte a una máscara de URL en lugar de a un servicio específico.
Para añadir un NEG sin servidor basado en una máscara de URL a un servicio de backend, sigue estos pasos:
- Ve a la página Balanceo de carga de la Google Cloud consola.
Ir a la página Balanceo de carga - Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
- En la página Detalles del balanceador de carga, haga clic en Editar .
- En la página Editar balanceador de carga de aplicación externo global, haga clic en Configuración de backend.
- En la página Configuración de backend, haga clic en Editar del servicio de backend que quiera modificar.
- Haz clic en Añadir backend.
- Selecciona Crear grupo de endpoints de red sin servidor.
- En Nombre, escribe
helloworld-serverless-neg
. - En Región, selecciona us-central1.
- En Tipo de grupo de endpoints de red sin servidor, selecciona la plataforma en la que se crearon tus aplicaciones (o servicios o funciones) sin servidor.
- Selecciona Usar máscara de URL.
- Introduce una máscara de URL. Para obtener instrucciones sobre cómo crear una máscara de URL, consulta el artículo Construir una máscara de URL.
- Haz clic en Crear.
- En Nombre, escribe
- En la sección Nuevo backend, haz clic en Hecho.
- Haz clic en Actualizar.
gcloud: Cloud Run
Para crear un NEG sin servidor con una máscara de URL de ejemplo example.com/<service>
, sigue estos pasos:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-run-url-mask="example.com/<service>"
gcloud: Cloud Run functions
Para crear un NEG sin servidor con una máscara de URL de ejemplo example.com/<service>
, sigue estos pasos:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --cloud-function-url-mask="example.com/<service>"
gcloud: App Engine
Para crear un NEG sin servidor con una máscara de URL de ejemplo de
example.com/<service>
, sigue estos pasos:
gcloud compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --app-engine-url-mask="example.com/<service>"
gcloud: API Gateway
Para crear un NEG sin servidor con una máscara de URL de ejemplo de
example.com/<gateway>
, sigue estos pasos:
gcloud beta compute network-endpoint-groups create helloworld-neg-mask \ --region=us-central1 \ --network-endpoint-type=serverless \ --serverless-deployment-platform=apigateway.googleapis.com \ --serverless-deployment-resource=my-gateway \ --serverless-deployment-url-mask="example.com/<gateway>"
Para saber cómo gestiona el balanceador de carga los problemas con las discrepancias de máscara de URL, consulta Solucionar problemas con NEG sin servidor.
Mover el dominio personalizado para que lo sirva el balanceador de carga de aplicación externo
Si tus aplicaciones de computación sin servidor se están asignando a dominios personalizados, puede que quieras actualizar tus registros DNS para que el tráfico enviado a las URLs de dominio personalizado de Cloud Run, Cloud Run Functions, API Gateway o App Engine se enrute a través del balanceador de carga.
Por ejemplo, si tienes un dominio personalizado llamado example.com
y todos tus servicios de Cloud Run están asignados a este dominio, debes actualizar el registro DNS de example.com
para que apunte a la dirección IP del balanceador de carga.
Antes de actualizar los registros DNS, puedes probar tu configuración localmente forzando la resolución de DNS local del dominio personalizado a la dirección IP del balanceador de carga. Para hacer pruebas a nivel local, modifica el archivo /etc/hosts/
de tu máquina local para que example.com
apunte a la dirección IP del balanceador de carga o usa la marca curl --resolve
para obligar a curl
a usar la dirección IP del balanceador de carga en la solicitud.
Cuando el registro DNS de example.com
se resuelve en la dirección IP del balanceador de carga HTTP(S), las solicitudes enviadas a example.com
empiezan a enrutarse a través del balanceador de carga. El balanceador de carga los envía al servicio de backend correspondiente según su mapa de URLs. Además, si el servicio de backend está configurado con una máscara de URL, el NEG sin servidor usa la máscara para enrutar la solicitud al servicio de Cloud Run, Cloud Run Functions, API Gateway o App Engine adecuado.
Habilitar Cloud CDN
Si habilitas Cloud CDN en tu servicio de Cloud Run, puedes optimizar la distribución de contenido almacenando en caché el contenido cerca de tus usuarios.
Puedes habilitar Cloud CDN en los servicios de backend que usan los balanceadores de carga de aplicaciones externos globales con el comando gcloud compute
backend-services update
.
gcloud compute backend-services update helloworld-backend-service
--enable-cdn
--global
Cloud CDN es compatible con servicios de backend con backends de Cloud Run, Cloud Run functions, API Gateway y App Engine.
Habilitar IAP en el balanceador de carga de aplicación externo
Nota: IAP no es compatible con Cloud CDN.Puedes configurar las compras en aplicaciones para que estén habilitadas o inhabilitadas (opción predeterminada). Si está habilitada, debe proporcionar valores para oauth2-client-id
y oauth2-client-secret
.
Para habilitar IAP, actualiza el servicio de backend para incluir la marca --iap=enabled
con oauth2-client-id
y oauth2-client-secret
.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --iap=enabled,oauth2-client-id=ID,oauth2-client-secret=SECRET \ --global
De forma opcional, puedes habilitar IAP en un recurso de Compute Engine mediante la Google Cloud consola, la CLI de gcloud o la API.
Habilitar Google Cloud Armor
Cloud Armor es un producto de seguridad que ofrece protección contra ataques de denegación de servicio distribuido (DDoS) a todos los balanceadores de carga proxy de GCLB. Cloud Armor también proporciona políticas de seguridad configurables a los servicios a los que se accede a través de un balanceador de carga de aplicaciones externo. Para obtener información sobre las políticas de seguridad de Cloud Armor para balanceadores de carga de aplicaciones externos, consulta el artículo Información general sobre la política de seguridad de Cloud Armor.
Si usas Cloud Run functions, puedes bloquear las solicitudes enviadas a URLs predeterminadas mediante el ajuste de internal-and-gclb
entrada.
Si usas Cloud Run, puedes bloquear las solicitudes enviadas a URLs predeterminadas o a cualquier otro dominio personalizado configurado a través de Cloud Run restringiendo el acceso a "balanceo de carga interno y de Cloud".
Si usas App Engine, puedes usar controles de entrada para que tu aplicación solo reciba solicitudes enviadas desde el balanceador de carga (y la VPC, si la usas).
Si no se configura correctamente el ajuste de acceso, los usuarios podrán usar la URL predeterminada de tu aplicación sin servidor para saltarse el balanceador de carga, las políticas de seguridad de Cloud Armor, los certificados SSL y las claves privadas que se transfieren a través del balanceador de carga.
Opcional: Configura una política de seguridad de backend predeterminada. La política de seguridad predeterminada limita el tráfico por encima de un umbral configurado por el usuario. Para obtener más información sobre las políticas de seguridad predeterminadas, consulta el artículo Descripción general de la limitación de frecuencia.
- Para inhabilitar la política de seguridad predeterminada de Cloud Armor, selecciona
None
en la lista Política de seguridad de backend de Cloud Armor. - Para configurar la política de seguridad predeterminada de Cloud Armor, selecciona Política de seguridad predeterminada en la lista Política de seguridad de backend de Cloud Armor.
- En el campo Nombre de la política, acepta el nombre generado automáticamente o introduce un nombre para tu política de seguridad.
- En el campo Número de solicitudes, acepta el número de solicitudes predeterminado o introduce un número entero entre
1
y10,000
. - En el campo Intervalo, selecciona un intervalo.
- En el campo Enforce on key (Aplicar en clave), elige uno de los siguientes valores: All (Todo), IP address (Dirección IP) o X-Forwarded-For IP address (Dirección IP X-Forwarded-For). Para obtener más información sobre estas opciones, consulta Identificar clientes para limitar la frecuencia.
Habilitar el registro y la monitorización
Puede habilitar, inhabilitar y ver los registros de un servicio de backend de un balanceador de carga de aplicaciones externo. Cuando se usa la consola de Google Cloud , el registro está habilitado de forma predeterminada en los servicios de backend con backends de NEG sin servidor. Puedes usar gcloud
para
inhabilitar el registro de cada servicio backend según sea necesario. Para obtener instrucciones, consulta Registro.
El balanceador de carga también exporta datos de monitorización a Cloud Monitoring. Las métricas de monitorización se pueden usar para evaluar la configuración, el uso y el rendimiento de un balanceador de carga. Las métricas también se pueden usar para solucionar problemas y mejorar la utilización de los recursos y la experiencia de usuario. Para obtener instrucciones, consulta Monitorización.
Actualizar el tiempo de espera de keep-alive HTTP del cliente
El balanceador de carga creado en los pasos anteriores se ha configurado con un valor predeterminado para el tiempo de espera de keep-alive HTTP del cliente.Para actualizar el tiempo de espera de keep-alive HTTP del cliente, sigue estas instrucciones.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en el nombre del balanceador de carga que quiera modificar.
- Haz clic en Editar.
- Haz clic en Configuración de frontend.
- Despliega Funciones avanzadas. En Tiempo de espera de HTTP Keep-Alive, introduce un valor de tiempo de espera.
- Haz clic en Actualizar.
- Para revisar los cambios, haz clic en Revisar y finalizar y, a continuación, en Actualizar.
gcloud
En el caso de un balanceador de carga HTTP, actualiza el proxy HTTP de destino con el comando gcloud compute target-http-proxies update
:
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
En el caso de un balanceador de carga HTTPS, actualiza el proxy HTTPS de destino con el comando gcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Haz los cambios siguientes:
TARGET_HTTP_PROXY_NAME
: nombre del proxy HTTP de destino.TARGET_HTTPS_PROXY_NAME
: nombre del proxy HTTPS de destino.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: el valor del tiempo de espera de HTTP Keep-Alive de 5 a 600 segundos.
Habilitar la detección de valores atípicos
Puedes habilitar la detección de valores atípicos en los servicios de backend globales para identificar los NEGs sin servidor que no estén en buen estado y reducir el número de solicitudes que se envían a esos NEGs.
La detección de valores atípicos se habilita en el servicio backend mediante uno de los siguientes métodos:
- El método
consecutiveErrors
(outlierDetection.consecutiveErrors
), en el que un código de estado HTTP de la serie5xx
se considera un error. - El método
consecutiveGatewayFailure
(outlierDetection.consecutiveGatewayFailure
), en el que solo los códigos de estado HTTP502
,503
y504
se consideran errores.
Sigue estos pasos para habilitar la detección de anomalías en un servicio backend. Ten en cuenta que, incluso después de habilitar la detección de valores atípicos, algunas solicitudes se pueden enviar al servicio no operativo y devolver un código de estado 5xx
a los clientes. Para reducir aún más la tasa de error, puedes configurar valores más agresivos para los parámetros de detección de valores atípicos. Para obtener más información, consulta el campo outlierDetection
.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
En la página Detalles del balanceador de carga, haga clic en
Editar.En la página Editar balanceador de carga de aplicación externo global, haga clic en Configuración de backend.
En la página Configuración de backend, haga clic en
Editar en el servicio de backend que quiera modificar.Desplázate hacia abajo y despliega la sección Configuración avanzada.
En la sección Detección de valores atípicos, selecciona la casilla Habilitar.
Haz clic en
Editar para configurar la detección de valores atípicos.Verifica que las siguientes opciones estén configuradas con estos valores:
Propiedad Valor Errores consecutivos 5 Intervalo 1000 Tiempo base de expulsión 30000 Porcentaje máximo de expulsión 50 Aplicar errores consecutivos 100 En este ejemplo, el análisis de detección de anomalías se ejecuta cada segundo. Si el número de códigos de estado HTTP
5xx
consecutivos que recibe un proxy Envoy es cinco o más, el endpoint de backend se expulsa del grupo de balanceo de carga de ese proxy Envoy durante 30 segundos. Cuando el porcentaje de aplicación es del 100%, el servicio backend aplica la expulsión de los endpoints que no están en buen estado de los grupos de balanceo de carga de esos proxies de Envoy específicos cada vez que se ejecuta el análisis de detección de valores atípicos. Si se cumplen las condiciones de expulsión, se puede expulsar hasta el 50% de los endpoints de backend del grupo de balanceo de carga.Haz clic en Guardar.
Para actualizar el servicio de backend, haz clic en Actualizar.
Para actualizar el balanceador de carga, en la página Editar balanceador de carga de aplicación externo global, haz clic en Actualizar.
gcloud
Exporta el servicio backend a un archivo YAML.
gcloud compute backend-services export BACKEND_SERVICE_NAME \ --destination=BACKEND_SERVICE_NAME.yaml --global
Sustituye
BACKEND_SERVICE_NAME
por el nombre del servicio backend.Edita la configuración YAML del servicio backend para añadir los campos de detección de valores atípicos, tal como se destaca en la siguiente configuración YAML, en la sección
outlierDetection
:En este ejemplo, el análisis de detección de anomalías se ejecuta cada segundo. Si el número de códigos de estado HTTP
5xx
consecutivos que recibe un proxy Envoy es cinco o más, el endpoint de backend se expulsa del grupo de balanceo de carga de ese proxy Envoy durante 30 segundos. Cuando el porcentaje de aplicación es del 100%, el servicio backend aplica la expulsión de los endpoints que no están en buen estado de los grupos de balanceo de carga de esos proxies de Envoy específicos cada vez que se ejecuta el análisis de detección de valores atípicos. Si se cumplen las condiciones de expulsión, se puede expulsar hasta el 50% de los endpoints de backend del grupo de balanceo de carga.name: BACKEND_SERVICE_NAME backends: - balancingMode: UTILIZATION capacityScaler: 1.0 group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/networkEndpointGroups/SERVERLESS_NEG_NAME - balancingMode: UTILIZATION capacityScaler: 1.0 group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/networkEndpointGroups/SERVERLESS_NEG_NAME_2 outlierDetection: baseEjectionTime: nanos: 0 seconds: 30 consecutiveErrors: 5 enforcingConsecutiveErrors: 100 interval: nanos: 0 seconds: 1 maxEjectionPercent: 50 port: 80 selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME sessionAffinity: NONE timeoutSec: 30 ...
Haz los cambios siguientes:
BACKEND_SERVICE_NAME
: el nombre del servicio de backendPROJECT_ID
: el ID de tu proyectoREGION_A
yREGION_B
: las regiones en las que se ha configurado el balanceador de carga.SERVERLESS_NEG_NAME
: el nombre del primer NEG sin servidorSERVERLESS_NEG_NAME_2
: el nombre del segundo NEG sin servidor
Actualiza el servicio de backend importando la configuración más reciente.
gcloud compute backend-services import BACKEND_SERVICE_NAME \ --source=BACKEND_SERVICE_NAME.yaml --global
La detección de valores atípicos ahora está habilitada en el servicio de backend.
Eliminar un NEG sin servidor
No se puede eliminar un grupo de endpoints de red si está asociado a un servicio de backend. Antes de eliminar un NEG, asegúrate de que esté separado del servicio de backend.
Consola
- Para asegurarte de que el NEG sin servidor que quieres eliminar no lo esté usando ningún servicio de backend, ve a la pestaña Servicios de backend del menú avanzado de balanceo de carga.
Ve a la pestaña Servicios de backend. - Si el NEG sin servidor está en uso:
- Haga clic en el nombre del servicio de backend que usa el NEG sin servidor.
- Haz clic en Editar .
- En la lista Backends (Back-ends), haga clic en para quitar el NEG sin servidor del back-end del servicio de back-end.
- Haz clic en Guardar.
- Ve a la página Grupo de puntos finales de red de la consola de Google Cloud Google Cloud.
Ve a la página Grupo de puntos finales de red - Marca la casilla de la NEG sin servidor que quieras eliminar.
- Haz clic en Eliminar.
- Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Para quitar un NEG sin servidor de un servicio backend, debes especificar la región en la que se creó el NEG. También debes especificar la marca --global
porque helloworld-backend-service
es un recurso global.
gcloud compute backend-services remove-backend helloworld-backend-service \ --network-endpoint-group=helloworld-serverless-neg \ --network-endpoint-group-region=us-central1 \ --global
Para eliminar el NEG sin servidor, sigue estos pasos:
gcloud compute network-endpoint-groups delete helloworld-serverless-neg \ --region=us-central1
Siguientes pasos
- Usar el almacenamiento de registros y la monitorización
- Solucionar problemas con NEGs sin servidor
- Limpiar la configuración del balanceador de carga
- Usar un módulo de Terraform para un balanceador de carga HTTPS externo con un backend de Cloud Run