Les extensions de service permettent aux utilisateurs des produits Google Cloud , 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 permet de personnaliser le comportement de ces produits pour répondre aux besoins de votre entreprise. Cette page offre une présentation générale des extensions de service.
Types d'extensions
Le chemin de 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. Les extensions de service vous permettent d'insérer une logique personnalisée dans une ou plusieurs de ces étapes.
Les extensions de service offrent 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 réseau d'accès aux données. Vous créez ces plug-ins à l'aide de WebAssembly (Wasm) et de 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 service de calcul géré par Google. Elles 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 illustre le fonctionnement des plug-ins.
Pour en savoir plus sur les plug-ins, consultez Présentation des plug-ins.
Légendes
Les appels 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 rappels 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 illustre le fonctionnement des appels aux services.
Les encadrés n'ont aucune restriction d'exécution et peuvent réutiliser les logiciels existants, si nécessaire. Les encadrés vous permettent de bénéficier de services entièrement gérés qui sont également personnalisables pour répondre aux besoins spécifiques de charges de travail particulières. Vous n'avez qu'à confirmer l'évolutivité et la disponibilité de votre service d'appel.
Pour en savoir plus sur les callouts, consultez la présentation des callouts Cloud Load Balancing.
Extensions Cloud Load Balancing
Les extensions de service pour Cloud Load Balancing permettent 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
Les extensions de service vous aident à 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 des clients, 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 taggage Google Analytics.
- Influencer Cloud CDN
- Manipulez les caractéristiques des requêtes HTTP pour influencer les dynamiques de mise en cache personnalisées 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.
Appels aux services gérés par l'utilisateur
Les extensions de service permettent aux équilibreurs de charge d'application compatibles d'envoyer un appel à partir du chemin de traitement des données vers les services de backend gérés par l'utilisateur.
Utilisez des encadrés avec Cloud Load Balancing pour les éléments 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 encadrés sont très flexibles et permettent de nombreuses 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 la 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ées en fonction des attributs spécifiques d'une requête.
- Dans Prévisualiser, implémentez le transfert dynamique, qui mappe les locataires aux points de terminaison de manière programmatique.
- 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 services de sécurité, y compris une authentification et une autorisation personnalisées des utilisateurs.
- Validez les en-têtes et les paramètres de requête arbitraires, tels que les ID d'appareil.
- Consignez les requêtes et les réponses dans des solutions de journalisation tierces.
- Implémentez l'authentification et l'autorisation personnalisées des utilisateurs.
- Intégration de partenaires
- Intégrez des produits de sécurité, tels que la sécurité API Gateway, la gestion des robots ou le pare-feu d'application Web (WAF).
- Autorisation
- Enrichissez le processus de prise de décision concernant l'autorisation ou limitez davantage les décisions d'autorisation des moteurs d'autorisation intégrés fournis par Google.
- Mélangez les décisions d'autorisation provenant de plusieurs systèmes d'autorisation.
- Intégrez parfaitement 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 Présentation des extensions Cloud Load Balancing et Cloud CDN.
Appels aux services Google
Les extensions de service permettent aux équilibreurs de charge d'application compatibles d'envoyer un rappel depuis le chemin de traitement des données vers certains services Google.
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 Intégration aux services Google.
Extensions GKE
La passerelle Google Kubernetes Engine (GKE) permet d'utiliser des 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 des requêtes ou des réponses, et vous intégrer à des services externes.
Pour en savoir plus, consultez Personnaliser le routage du trafic GKE Gateway à l'aide des extensions de service.
Extensions Media CDN
Media CDN offre 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). Les extensions de service vous aident à 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
Les extensions de service vous aident à 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 où 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
- Bloquez les utilisateurs qui utilisent des jetons piratés lors d'événements en direct.
- Prise en charge de l'authentification et de 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 un ciblage d'annonces personnalisé.
- Proposez des modèles d'utilisation en version d'essai sans frais supplémentaires.
- Intégration de partenaires
- Implémentez un filigrane vidéo.
- Optimisez les vidéos et les images.