Présentation des extensions de service

Service Extensions permet aux utilisateurs de Google Cloud produits, tels que Cloud Load Balancing et Media CDN, d'insérer du code personnalisé directement dans le chemin d'accès aux données. Cela vous aide à personnaliser le comportement de ces produits pour répondre aux besoins de votre entreprise. Cette page fournit une présentation générale de Service Extensions.

Types d'extensions

Le chemin d'accès aux données dans les produits de mise en réseau, tels que Cloud Load Balancing et Media CDN, peut être visualisé comme un pipeline d'étapes de traitement des données. Service Extensions vous permet d'insérer une logique personnalisée dans une ou plusieurs de ces étapes.

Service Extensions offre deux façons d'insérer une logique personnalisée : les plug-ins et les appels.

Plug-ins

Les plug-ins vous permettent d'insérer du code personnalisé en ligne dans le chemin d'accès aux données de mise en réseau. Vous créez ces plug-ins à l'aide de WebAssembly (Wasm) et l'ABI Proxy-Wasm.

Les plug-ins s'exécutent en tant que modules Wasm sur une infrastructure de bac à sable gérée par Google, semblable à une infrastructure sans serveur. Les plug-ins s'exécutent sur un calcul géré par Google. Ils ont des capacités limitées et des exigences d'exécution strictes. Ils s'exécutent à proximité du plan de données et l'optimisation de la latence est gérée. La figure suivante montre comment fonctionnent les plug-ins.

Les plug-ins incluent une logique personnalisée intégrée.
Les plug-ins incluent une logique personnalisée en ligne (cliquez pour agrandir).

Pour en savoir plus sur les plug-ins, consultez la présentation des plug-ins.

Légendes

Les légendes vous permettent d'utiliser Cloud Load Balancing pour effectuer des appels gRPC Envoy vers des services Google et des services gérés par l'utilisateur lors du traitement des données.

Les légendes s'exécutent en tant que serveurs gRPC à usage général sur des VM de calcul gérées par l'utilisateur, sur des pods Google Kubernetes Engine (GKE) sur GKE Multi-Cloud ou dans des environnements sur site. La figure suivante montre comment fonctionnent les légendes vers les services.

Les appels incluent une logique personnalisée provenant des services.
Les légendes incluent une logique personnalisée provenant de services (cliquez pour agrandir).

Les légendes ne sont soumises à aucune restriction d'exécution et peuvent réutiliser des logiciels existants, si nécessaire. Grâce aux légendes, vous pouvez bénéficier de services entièrement gérés qui sont également personnalisables pour répondre aux besoins uniques de charges de travail spécifiques. Il vous suffit de confirmer l'évolutivité et la disponibilité de votre service de légende.

Pour en savoir plus sur les légendes, consultez la présentation des légendes Cloud Load Balancing.

Extensions Cloud Load Balancing

Service Extensions pour Cloud Load Balancing permet aux utilisateurs d'ajouter une personnalisation riche aux chemins de traitement des requêtes et des réponses d'équilibrage de charge pour les équilibreurs de charge d'application compatibles.

Pour en savoir plus, consultez la présentation des extensions Cloud Load Balancing.

Plug-ins

Service Extensions vous aide à utiliser des plug-ins prépubliés pour vos besoins personnalisés en les ajoutant au chemin de traitement Cloud Load Balancing.

Utilisez des plug-ins avec Cloud Load Balancing dans les exemples de scénarios suivants :

Gestion des exceptions
Redirigez les clients vers une page d'erreur personnalisée pour certaines classes de réponse.
Journalisation personnalisée
Enregistrez les en-têtes définis par l'utilisateur ou les données personnalisées dans Cloud Logging.
Ajout d'un en-tête
Créez des en-têtes adaptés à vos applications ou à des clients spécifiques.
Insérez de nouveaux en-têtes pour la requête et la réponse.
Manipulation des en-têtes
Réécrivez les en-têtes de requête et de réponse existants ou remplacez les en-têtes client en route vers le backend ou lors de la réponse à un client.
Sécurité
Écrivez des règles de sécurité personnalisées basées sur les en-têtes de requête ou de réponse du client et prenez des décisions d'application dans votre plug-in.
Injection de script
Réécrivez le code HTML de l'origine pour l'intégration de Google reCAPTCHA ou le balisage Google Analytics.
Influence sur Cloud CDN
Manipulez les caractéristiques des requêtes HTTP pour influencer la dynamique de mise en cache personnalisée et déterminer le contenu diffusé à partir du cache Cloud CDN.
Routage
Réécrivez les requêtes HTTP pour influencer la sélection du service de backend, ce qui permet de prendre des décisions de routage plus avancées en périphérie.

Légendes vers des services gérés par l'utilisateur

Service Extensions permet aux équilibreurs de charge d'application compatibles d'envoyer une légende du chemin de traitement des données aux services de backend gérés par l'utilisateur.

Utilisez des légendes avec Cloud Load Balancing pour les cas suivants :

  • Lorsque la quantité de calcul ou de stockage est arbitraire
  • Lorsque vous souhaitez conserver l'état
  • Lorsque vous souhaitez utiliser des services externes, tels que BigQuery ou des applications tierces hébergées n'importe où

Les légendes sont très flexibles et prennent en charge diverses personnalisations. Voici quelques exemples de cas d'utilisation courants :

Routage et gestion du trafic personnalisés
Effectuez des redirections HTTP ou d'URL.
Modifiez les attributs de requête, tels que les en-têtes ou les URL, en fonction d'une logique spécifique à l'application pour forcer le mappage d'URL à choisir un service de backend différent de celui initialement ciblé par la requête.
Ajoutez, supprimez ou modifiez des en-têtes ou réécrivez des URL en fonction d'une logique complexe spécifique à l'application avant de transférer le trafic vers le service de backend.
Implémentez une affinité de session ou une persistance personnalisée en fonction des attributs spécifiques d'une requête.
En version preview, implémentez le transfert dynamique, qui mappe les locataires aux points de terminaison par programmation.
Sécurité et journalisation
Enregistrez des informations personnalisées à partir de charges utiles ou d'en-têtes personnalisés dans Logging ou dans une solution de journalisation personnalisée.
Utilisez des outils ou des services de sécurité, y compris la prise en charge de l'authentification et de l'autorisation des utilisateurs personnalisées.
Validez les en-têtes et les paramètres de requête arbitraires, tels que les ID d'appareil.
Enregistrez les requêtes et les réponses dans des solutions de journalisation tierces.
Implémentez l'authentification et l'autorisation des utilisateurs personnalisées.
Intégration de partenaires
Intégrez des produits de sécurité, tels que la sécurité API Gateway, la gestion des bots ou le pare-feu d'application Web (WAF).
Autorisation
Enrichissez le processus décisionnel d'autorisation ou limitez davantage les décisions d'autorisation des moteurs d'autorisation intégrés fournis par Google.
Combinez les décisions d'autorisation de plusieurs systèmes d'autorisation.
Intégrez de manière transparente les moteurs d'autorisation Google à des écosystèmes et infrastructures d'autorisation plus larges, y compris les moteurs de règles externes.

Pour en savoir plus, consultez la présentation des extensions Cloud Load Balancing et Cloud CDN.

Légendes vers les services Google

Service Extensions permet aux équilibreurs de charge d'application compatibles d'envoyer une légende du chemin de traitement des données aux services Google sélectionnés.

Vous pouvez configurer une extension pour appeler Model Armor afin d'appliquer de manière uniforme les règles de sécurité au trafic d'inférence sur les équilibreurs de charge d'application, y compris GKE Inference Gateway.

Pour en savoir plus, consultez la section Intégration aux services Google.

Extensions GKE

Google Kubernetes Engine (GKE) Gateway est compatible avec l'utilisation d'extensions pour ajouter du code personnalisé au chemin de traitement de l'équilibrage de charge. Vous pouvez utiliser ces extensions pour personnaliser le routage, modifier les charges utiles de requête ou de réponse, et vous intégrer à des services externes.

Pour en savoir plus, consultez la section Personnaliser le routage du trafic GKE Gateway à l'aide de Service Extensions.

Extensions Media CDN

Media CDN fournit de nombreuses fonctionnalités de base intégrées pour répondre aux cas d'utilisation les plus courants des réseaux de diffusion de contenu (CDN). Service Extensions vous aide à répondre à plusieurs exigences qui dépassent ces capacités.

Pour en savoir plus, consultez la présentation des extensions Media CDN.

Plug-ins pour Media CDN

Service Extensions vous aide à utiliser des plug-ins prépubliés pour vos besoins personnalisés en les ajoutant au chemin de traitement Media CDN.

Voici quelques cas d'utilisation clés dans lesquels vous pouvez utiliser des plug-ins avec Media CDN :

Personnalisation
Réécrivez les URL de requête.
Normalisez les valeurs d'en-tête pour améliorer les performances du cache.
Sécurité et journalisation
Lors d'événements en direct, bloquez les utilisateurs avec des jetons piratés.
Prenez en charge l'authentification et l'autorisation des utilisateurs personnalisées.
Traduisez et implémentez la signature d'URL personnalisée.
Personnalisez les clés de cache, les en-têtes spécifiques à l'application ou les types d'appareils.
Enregistrez des variables personnalisées dans Cloud Logging.
Ciblage et monétisation
Améliorez les conversions grâce aux tests A/B.
Implémentez le ciblage publicitaire personnalisé.
Proposez des modèles d'utilisation d'essai sans frais supplémentaires.
Intégration de partenaires
Implémentez le filigrane vidéo.
Optimisez les vidéos et les images.