Descripción general de las extensiones de Cloud Load Balancing y Cloud CDN

Las extensiones de servicio te permiten usar extensiones para indicarle a los balanceadores de cargas de aplicaciones compatibles que usen complementos o envíen llamadas desde la ruta de datos de balanceo de cargas para llamar a servicios de backend o servicios de Google. En esta página, se proporciona una descripción general de las extensiones de Cloud Load Balancing.

Puedes configurar los balanceadores de cargas de aplicaciones para que usen los siguientes tipos de extensiones:

  • Las extensiones de borde te ayudan a manipular los encabezados de solicitud para influir en la selección del servicio de backend y el contenido que Cloud CDN entrega desde la caché. Estas extensiones están configuradas para ejecutarse al principio del ciclo de vida del procesamiento de solicitudes para influir en las decisiones de almacenamiento en caché y enrutamiento, respectivamente, en el borde.

  • Las extensiones de ruta te ayudan a influir en la selección del servicio de backend. Estas extensiones se configuran para ejecutarse al principio del ciclo de vida del procesamiento de solicitudes.

  • Las extensiones de autorización te ayudan a enviar solicitudes de autorización a tu motor de autorización personalizado. Estos se configuran al final del ciclo de procesamiento, justo antes de que el balanceador de cargas envíe solicitudes a los backends.

  • Las extensiones de tráfico ayudan a admitir lógica de seguridad personalizada adicional y funciones de administración del tráfico. Estas extensiones de posautorización se configuran después de la autorización, pero antes de que el balanceador de cargas envíe solicitudes a los backends o reciba respuestas de ellos.

Balanceadores de cargas de aplicaciones compatibles con extensiones administradas por el usuario

Service Extensions admite extensiones administradas por el usuario para los siguientes balanceadores de cargas de aplicaciones:

Balanceadores de cargas de aplicaciones Extensiones
Edge Ruta Autorización Tráfico
Complementos Complementos Textos destacados Textos destacados Complementos Textos destacados
Balanceador de cargas de aplicaciones externo global
Balanceador de cargas de aplicaciones externo regional Vista previa Vista previa
Balanceador de cargas de aplicaciones interno regional Vista previa Vista previa
Balanceador de cargas de aplicaciones interno entre regiones

Puntos de extensibilidad en la ruta de acceso a los datos del balanceo de cargas

Las extensiones de servicio admiten extensiones en diferentes etapas de la ruta de datos del balanceo de cargas.

En la Figura 1, se muestra cómo Service Extensions admite extensiones en las etapas de seguridad de la aplicación y administración del tráfico para los balanceadores de cargas de aplicaciones externos globales.

Figura 1. Los balanceadores de cargas de aplicaciones externos globales admiten extensiones en las etapas de enrutamiento perimetral, seguridad de aplicaciones y administración del tráfico (haz clic para ampliar).

En la Figura 2, se muestra cómo Service Extensions admite extensiones en las etapas de enrutamiento, seguridad de la aplicación y administración del tráfico para estos tipos de balanceadores de cargas: balanceador de cargas de aplicaciones externo regional, balanceador de cargas de aplicaciones interno regional y balanceador de cargas de aplicaciones interno entre regiones.

Figura 2. Los balanceadores de cargas de aplicaciones externos regionales, los balanceadores de cargas de aplicaciones internos regionales y los balanceadores de cargas de aplicaciones internos entre regiones admiten extensiones en las etapas de enrutamiento y administración del tráfico (haz clic para ampliar).

Cómo funcionan las extensiones de Edge

Las extensiones perimetrales se ejecutan primero en la ruta de procesamiento de solicitudes y te permiten usar encabezados de solicitud para influir en la selección del servicio de backend y el contenido que Cloud CDN entrega desde la caché.

Después de que un balanceador de cargas llama a una extensión de borde, hace lo siguiente:

  • Selecciona el servicio de backend evaluando el mapa de URL
  • Aplica políticas de seguridad de Google Cloud Armor.
  • Realiza una búsqueda en la caché y entrega el contenido desde la caché si hay un acierto de caché.
  • Aplica las políticas de Cloud Armor para el servicio de backend seleccionado.
  • Aplica políticas de CORS
  • Aplica la política de afinidad de sesión con estado
  • Aplica políticas de Identity-Aware Proxy (IAP) para el servicio de backend seleccionado.
  • Extensiones de autorización de llamadas, si hay alguna configurada en la ruta de procesamiento del servicio de backend seleccionado
  • Realiza la inserción de errores
  • Extensiones de tráfico de llamadas, si las hay
  • Realiza reescrituras de URL
  • Realiza la manipulación de encabezados según el mapa de URL y agrega variables de encabezado de solicitud personalizadas.
  • Realiza redireccionamientos o enrutamiento al servicio de backend seleccionado mientras aplica los tiempos de espera y las políticas de reintentos en el mapa de URL y la configuración del balanceo de cargas para el servicio de backend.
  • Realiza la duplicación de solicitudes

Cómo funcionan las extensiones de autorización

En la ruta de acceso de la solicitud, se llama a las extensiones de autorización después de que se llama a las extensiones de ruta y se selecciona un backend para la solicitud. Estas extensiones no pueden influir en la selección del servicio de backend.

Las extensiones de autorización solo pueden procesar encabezados de solicitudes y no cuerpos de solicitudes ni ninguna parte de las respuestas.

Cómo funcionan las extensiones de ruta

Las extensiones de ruta se ejecutan primero en la ruta de procesamiento de solicitudes cuando el balanceador de cargas recibe encabezados de solicitud y antes de que evalúe el mapa de URL.

Después de que un balanceador de cargas llama a una extensión de ruta para una solicitud, hace lo siguiente:

  • Selecciona el servicio de backend evaluando el mapa de URL
  • Aplica las políticas de Cloud Armor para el servicio de backend seleccionado.
  • Aplica las políticas de IAP para el servicio de backend seleccionado
  • Realiza la inserción de errores
  • Realiza transformaciones de encabezados de solicitud y resuelve variables de encabezados de solicitud personalizadas
  • Extensiones de tráfico de llamadas, si existen en la ruta de procesamiento del servicio de backend seleccionado
  • Realiza reescrituras de URL
  • Realiza redireccionamientos o enrutamiento al servicio de backend seleccionado y aplica tiempos de espera y políticas de reintentos en el mapa de URL y otros parámetros de configuración del balanceo de cargas para el servicio de backend.

Cómo funcionan las extensiones de tráfico

Los balanceadores de cargas ejecutan las extensiones de tráfico en último lugar en la ruta de procesamiento de solicitudes y en primer lugar en la ruta de procesamiento de respuestas.

Estas extensiones te permiten modificar los encabezados y las cargas útiles de las solicitudes y las respuestas sin afectar la elección del servicio de backend. También puedes usar extensiones de tráfico para el registro personalizado. Para ello, especifica la información que deseas registrar, el formato y el proveedor externo.

Antes de que un balanceador de cargas llame a una extensión de tráfico en la ruta de solicitud de una solicitud, hace lo siguiente:

  • Realiza la inserción de errores
  • Selecciona un servicio de backend para la solicitud.
  • Aplica las políticas de Cloud Armor para el servicio de backend seleccionado.
  • Aplica las políticas de IAP para el servicio de backend seleccionado
  • Aplica políticas de almacenamiento en caché de Cloud CDN para el servicio de backend seleccionado en el caso de los balanceadores de cargas de aplicaciones externos globales.

Después de que un balanceador de cargas llama a una extensión de tráfico en la ruta de solicitud de una solicitud, hace lo siguiente:

  • Realiza reescrituras de URL
  • Realiza la manipulación de encabezados según el mapa de URL y agrega variables de encabezado de solicitud personalizadas.
  • Realiza redireccionamientos o enrutamiento al servicio de backend seleccionado mientras aplica los tiempos de espera y las políticas de reintentos en el mapa de URL y la configuración del balanceo de cargas para el servicio de backend.
  • Realiza la duplicación de solicitudes

Después de que un balanceador de cargas llama a una extensión de tráfico en la ruta de respuesta de una solicitud, hace lo siguiente:

  • Realiza transformaciones de encabezados de respuesta y resuelve variables de encabezados de respuesta personalizados
  • Realiza el registro con Cloud Logging
  • Realiza el almacenamiento en caché de Cloud CDN en el caso de los balanceadores de cargas de aplicaciones externos globales

Limitaciones para las extensiones

  • Una regla de reenvío solo puede tener un recurso LbEdgeExtension, un recurso LbTrafficExtension y un recurso LbRouteExtension.
  • En el caso de los textos destacados, el servicio de backend de texto destacado debe estar en el mismo proyecto que la regla de reenvío.
  • No se admite la referencia entre proyectos entre las extensiones y las reglas de reenvío.

¿Qué sigue?