Las extensiones del servicio permiten a los usuarios de productos de Google Cloud , como Cloud Load Balancing y Media CDN, insertar código personalizado directamente en la ruta de acceso a los datos. Esto te ayuda a personalizar el comportamiento de estos productos para satisfacer las necesidades de tu empresa. En esta página, se proporciona una descripción general de alto nivel de las Service Extensions.
Tipos de extensiones
La ruta de datos en los productos de redes, como Cloud Load Balancing y Media CDN, se puede visualizar como una canalización de etapas de procesamiento de datos. Service Extensions te permite insertar lógica personalizada en una o más de estas etapas.
Service Extensions ofrece dos formas de insertar lógica personalizada: complementos y textos destacados.
Complementos
Los complementos te permiten insertar código personalizado intercalado en la ruta de datos de la red. Compilas estos complementos con WebAssembly (Wasm) y la ABI de Proxy-Wasm.
Los complementos se ejecutan como módulos de Wasm en una infraestructura de zona de pruebas administrada por Google similar a una infraestructura sin servidores. Los complementos se ejecutan en recursos de procesamiento administrados por Google. Tienen capacidades restringidas y requisitos de tiempo de ejecución estrictos. Se ejecutan cerca del plano de datos y se administra la optimización de la latencia. En la siguiente figura, se muestra cómo funcionan los complementos.
Para obtener más información sobre los complementos, consulta Descripción general de los complementos.
Textos destacados
Las llamadas te permiten usar Cloud Load Balancing para realizar llamadas gRPC de Envoy a servicios de Google y servicios administrados por el usuario durante el procesamiento de datos.
Las llamadas se ejecutan como servidores gRPC de uso general en VMs de procesamiento administradas por el usuario, en Pods de Google Kubernetes Engine (GKE) en GKE Multi-Cloud o en entornos locales. En la siguiente figura, se muestra cómo funcionan las llamadas a servicios.
Los textos destacados no tienen restricciones de tiempo de ejecución y pueden reutilizar el software existente, según sea necesario. Con las llamadas, puedes obtener los beneficios de los servicios completamente administrados que también se pueden personalizar para satisfacer las necesidades únicas de cargas de trabajo específicas. Solo debes confirmar la escalabilidad y la disponibilidad de tu servicio de llamadas.
Para obtener más información sobre las llamadas, consulta Descripción general de las llamadas de Cloud Load Balancing.
Extensiones de Cloud Load Balancing
Las extensiones del servicio para Cloud Load Balancing permiten a los usuarios agregar una personalización enriquecida a las rutas de procesamiento de solicitudes y respuestas del balanceo de cargas para los balanceadores de cargas de aplicaciones compatibles.
Para obtener más información, consulta la descripción general de las extensiones de Cloud Load Balancing.
Complementos
Service Extensions te ayuda a usar complementos previos a la publicación para tus necesidades personalizadas agregándolos en la ruta de procesamiento de Cloud Load Balancing.
Usa complementos con Cloud Load Balancing en las siguientes situaciones de ejemplo:
- Manejo de excepciones
- Redirecciona a los clientes a una página de error personalizada para ciertas clases de respuesta.
- Registro personalizado
- Registra encabezados definidos por el usuario o datos personalizados en Cloud Logging.
- Adición de encabezado
- Crea encabezados nuevos que sean relevantes para tus aplicaciones o clientes específicos.
- Inserta encabezados nuevos para la solicitud y la respuesta.
- Manipulación de encabezados
- Reescribe los encabezados de solicitud y respuesta existentes, o anula los encabezados del cliente en su camino hacia el backend o mientras responde a un cliente.
- Seguridad
- Escribe políticas de seguridad personalizadas basadas en los encabezados de solicitud o respuesta del cliente y toma decisiones de aplicación dentro de tu complemento.
- Inyección de secuencias de comandos
- Vuelve a escribir el código HTML del origen para la integración de Google reCAPTCHA o el etiquetado de Google Analytics.
- Cómo influir en Cloud CDN
- Manipula las características de la solicitud HTTP para influir en la dinámica del almacenamiento en caché personalizado y determinar qué contenido se entrega desde la caché de Cloud CDN.
- Enrutamiento
- Reescribe las solicitudes HTTP para influir en la selección del servicio de backend, lo que permite tomar decisiones de enrutamiento más avanzadas en el perímetro.
Llamadas a servicios administrados por el usuario
Las extensiones de servicio permiten que los balanceadores de cargas de aplicaciones compatibles envíen una llamada desde la ruta de procesamiento de datos a los servicios de backend administrados por el usuario.
Usa textos destacados con Cloud Load Balancing para lo siguiente:
- Cuando la cantidad de procesamiento o almacenamiento es arbitraria
- Cuando quieres mantener el estado
- Cuando quieras usar servicios externos, como BigQuery o aplicaciones de terceros alojadas en cualquier lugar
Los textos destacados son muy flexibles y admiten una variedad de personalizaciones. A continuación, se muestran algunos ejemplos de casos de uso cotidianos:
- Enrutamiento y administración del tráfico personalizados
- Realiza redireccionamientos de HTTP o de URL.
- Modifica los atributos de la solicitud, como los encabezados o las URLs, según la lógica específica de la aplicación para forzar al mapa de URL a elegir un servicio de backend diferente del que se segmentó originalmente la solicitud.
- Agrega, quita o modifica encabezados, o bien reescribe URLs según una lógica compleja específica de la aplicación antes de reenviar el tráfico al servicio de backend.
- Implementa la afinidad de sesión o la persistencia personalizadas según los atributos específicos de una solicitud.
- En Preview, implementa el envío dinámico, que asigna inquilinos a extremos de forma programática.
- Seguridad y registro
- Registra información personalizada de cargas útiles o encabezados personalizados en Logging o en una solución de registro personalizada.
- Usa herramientas o servicios de seguridad, incluido el soporte para la autenticación y autorización personalizadas del usuario.
- Valida encabezados y parámetros de consulta arbitrarios, como los IDs de dispositivos.
- Registra las solicitudes y respuestas en soluciones de registro de terceros.
- Implementa la autenticación y la autorización de usuarios personalizadas.
- Integración de socios
- Integra productos de seguridad, como la seguridad de API Gateway, la administración de bots o el firewall de aplicaciones web (WAF).
- Autorización
- Enriquecer el proceso de toma de decisiones de autorización o restringir aún más las decisiones de autorización de los motores de autorización integrados proporcionados por Google
- Mezcla decisiones de autorización de varios sistemas de autorización.
- Integra sin problemas los motores de autorización de Google con ecosistemas e infraestructuras de autorización más amplios, incluidos los motores de políticas externos.
Para obtener más información, consulta Descripción general de las extensiones de Cloud Load Balancing y Cloud CDN.
Llamadas a los servicios de Google
Las extensiones de servicio permiten que los balanceadores de cargas de aplicaciones compatibles envíen una llamada desde la ruta de procesamiento de datos a los servicios de Google seleccionados.
Puedes configurar una extensión para llamar a Model Armor y aplicar de manera uniforme las políticas de seguridad al tráfico de inferencia en los balanceadores de cargas de aplicaciones, incluida la puerta de enlace de inferencia de GKE.
Para obtener más información, consulta Integración con los servicios de Google.
Extensiones de GKE
La puerta de enlace de Google Kubernetes Engine (GKE) admite el uso de extensiones para agregar código personalizado a la ruta de procesamiento del balanceo de cargas. Puedes usar estas extensiones para personalizar el enrutamiento, modificar las cargas útiles de solicitudes o respuestas, y realizar integraciones con servicios externos.
Para obtener más información, consulta Cómo personalizar el enrutamiento del tráfico de GKE Gateway con extensiones de servicio.
Extensiones de Media CDN
Media CDN proporciona muchas capacidades principales integradas para abordar los casos de uso más comunes de las redes de distribución de contenido (CDN). Las extensiones de servicio te ayudan a abordar varios requisitos que van más allá de estas capacidades.
Para obtener más información, consulta la Descripción general de las extensiones de Media CDN.
Complementos para Media CDN
Las extensiones del servicio te ayudan a usar complementos publicados previamente para tus necesidades personalizadas agregándolos en la ruta de procesamiento de Media CDN.
A continuación, se incluyen algunos casos de uso clave en los que puedes usar complementos con Media CDN:
- Personalización
- Reescribe las URLs de solicitud.
- Normaliza los valores de los encabezados para mejorar el rendimiento de la caché.
- Seguridad y registro
- Durante los eventos en vivo, bloquea a los usuarios con tokens pirateados.
- Admite la autenticación y autorización de usuarios personalizadas.
- Traduce y, luego, implementa la firma de URL personalizada.
- Personaliza las claves de caché, los encabezados específicos de la aplicación o los tipos de dispositivos.
- Registra variables personalizadas en Cloud Logging.
- Segmentación y monetización
- Mejora las conversiones con las pruebas A/B.
- Implementa la segmentación de anuncios personalizada.
- Ofrece modelos de uso de prueba sin cargo adicional.
- Integración de socios
- Implementa marcas de agua en los videos.
- Optimiza videos e imágenes.