Service Extensions consente agli utenti di Google Cloud prodotti, come Cloud Load Balancing e Media CDN, di inserire codice personalizzato direttamente nel percorso dei dati. In questo modo puoi personalizzare il comportamento di questi prodotti in base alle esigenze della tua attività. Questa pagina fornisce una panoramica generale di Service Extensions.
Tipi di estensioni
Il percorso dei dati nei prodotti di networking, come Cloud Load Balancing e Media CDN, può essere visualizzato come una pipeline di fasi di elaborazione dei dati. Service Extensions ti consente di inserire logica personalizzata in una o più di queste fasi.
Service Extensions offre due modi per inserire logica personalizzata: plug-in e callout.
Plug-in
I plug-in ti consentono di inserire codice personalizzato in linea nel percorso dei dati di networking. Questi plug-in vengono creati utilizzando WebAssembly (Wasm) e l'ABI Proxy-Wasm.
I plug-in vengono eseguiti come moduli Wasm su un'infrastruttura sandbox gestita da Google simile a un'infrastruttura serverless. I plug-in vengono eseguiti sul calcolo gestito da Google. Hanno funzionalità limitate e requisiti di runtime rigorosi. Vengono eseguiti vicino al piano dati e l'ottimizzazione della latenza viene gestita. La figura seguente mostra come funzionano i plug-in.
Per saperne di più sui plug-in, consulta la panoramica dei plug-in.
Callout
I callout ti consentono di utilizzare Cloud Load Balancing per effettuare chiamate gRPC Envoy ai servizi Google e ai servizi gestiti dall'utente durante l'elaborazione dei dati.
I callout vengono eseguiti come server gRPC per uso generico sulle VM di Compute gestite dall'utente, sui pod Google Kubernetes Engine (GKE) su GKE Multi-Cloud o in ambienti on-premise. La figura seguente mostra come funzionano i callout ai servizi.
I callout non hanno restrizioni di runtime e possono riutilizzare il software esistente, se necessario. Con i callout, puoi usufruire dei vantaggi dei servizi completamente gestiti che sono anche personalizzabili per soddisfare le esigenze specifiche di carichi di lavoro specifici. Devi solo confermare la scalabilità e la disponibilità del servizio di callout.
Per saperne di più sui callout, consulta la panoramica dei callout di Cloud Load Balancing.
Estensioni di Cloud Load Balancing
Service Extensions per Cloud Load Balancing consente agli utenti di aggiungere una personalizzazione avanzata ai percorsi di elaborazione delle richieste e delle risposte di bilanciamento del carico per i bilanciatori del carico delle applicazioni supportati.
Per saperne di più, consulta la panoramica delle estensioni di Cloud Load Balancing.
Plug-in
Service Extensions ti aiuta a utilizzare i plug-in pre-pubblicati per le tue esigenze personalizzate aggiungendoli al percorso di elaborazione di Cloud Load Balancing.
Utilizza i plug-in con Cloud Load Balancing nei seguenti scenari di esempio:
- Gestione delle eccezioni
- Reindirizza i client a una pagina di errore personalizzata per alcune classi di risposte.
- Logging personalizzato
- Registra intestazioni definite dall'utente o dati personalizzati in Cloud Logging.
- Aggiunta di intestazioni
- Crea nuove intestazioni pertinenti per le tue applicazioni o per clienti specifici.
- Inserisci nuove intestazioni per la richiesta e la risposta.
- Manipolazione dell'intestazione
- Riscrivi le intestazioni delle richieste e delle risposte esistenti o esegui l'override delle intestazioni inviate dai client durante il trasferimento al backend o durante la risposta a un client.
- Sicurezza
- Scrivi policy di sicurezza personalizzate in base alle intestazioni delle richieste o delle risposte dei client e prendi decisioni sull'applicazione all'interno del plug-in.
- Inserimento di script
- Riscrivi l'HTML dall'origine per l'integrazione di Google reCAPTCHA o il tagging di Google Analytics.
- Influenzare Cloud CDN
- Manipola le caratteristiche delle richieste HTTP per influenzare le dinamiche di memorizzazione nella cache personalizzate e determinare quali contenuti vengono forniti dalla cache Cloud CDN.
- Routing
- Riscrivi le richieste HTTP per influenzare la scelta del servizio di backend, consentendo decisioni di routing più avanzate sull'edge.
Callout ai servizi gestiti dall'utente
Service Extensions lets i bilanciatori del carico delle applicazioni supportati inviare un callout dal percorso di elaborazione dei dati ai servizi di backend gestiti dall'utente.
Utilizza i callout con Cloud Load Balancing per quanto segue:
- Quando la quantità di calcolo o spazio di archiviazione è arbitraria
- Quando vuoi mantenere lo stato
- Quando vuoi utilizzare servizi esterni, come BigQuery o applicazioni di terze parti ospitate ovunque
I callout sono altamente flessibili e supportano una serie di personalizzazioni. Di seguito sono riportati alcuni esempi di casi d'uso quotidiani:
- Routing personalizzato e gestione del traffico
- Esegui reindirizzamenti HTTP o URL.
- Modifica gli attributi delle richieste, come intestazioni o URL, in base alla logica specifica dell'applicazione per forzare la mappa URL a scegliere un servizio di backend diverso da quello originariamente targetizzato dalla richiesta.
- Aggiungi, rimuovi o modifica le intestazioni o riscrivi gli URL in base a una logica complessa specifica dell'applicazione prima di inoltrare il traffico al servizio di backend.
- Implementa l'affinità sessione o la persistenza personalizzata in base agli attributi specifici di una richiesta.
- In anteprima, implementa l'inoltro dinamico, che mappa i tenant agli endpoint a livello di programmazione.
- Sicurezza e logging
- Registra informazioni personalizzate da payload o intestazioni personalizzate in Logging o in una soluzione di logging personalizzata.
- Utilizza strumenti o servizi di sicurezza, incluso il supporto per l'autenticazione e l'autorizzazione degli utenti personalizzate.
- Convalida intestazioni e parametri di ricerca arbitrari, come gli ID dispositivo.
- Registra le richieste e le risposte nelle soluzioni di logging di terze parti.
- Implementa l'autenticazione e l'autorizzazione degli utenti personalizzate.
- Integrazione del partner
- Integra i prodotti di sicurezza, come la sicurezza di API Gateway, la gestione dei bot o il web application firewall (WAF).
- Autorizzazione
- Arricchisci il processo decisionale di autorizzazione o limita ulteriormente le decisioni di autorizzazione dai motori di autorizzazione integrati forniti da Google.
- Combina le decisioni di autorizzazione di più sistemi di autorizzazione.
- Integra perfettamente i motori di autorizzazione di Google con ecosistemi e infrastrutture di autorizzazione più ampi, inclusi i motori di policy esterni.
Per saperne di più, consulta la panoramica delle estensioni di Cloud Load Balancing e Cloud CDN.
Callout ai servizi Google
Service Extensions lets i bilanciatori del carico delle applicazioni supportati di inviare un callout dal percorso di elaborazione dei dati ai servizi Google selezionati.
Puoi configurare un'estensione per chiamare Model Armor per applicare in modo uniforme le policy di sicurezza al traffico di inferenza sui bilanciatori del carico delle applicazioni, incluso GKE Inference Gateway.
Per saperne di più, consulta Integrazione con i servizi Google.
Estensioni GKE
Google Kubernetes Engine (GKE) Gateway supporta l'utilizzo delle estensioni per aggiungere codice personalizzato al percorso di elaborazione del bilanciamento del carico. Puoi utilizzare queste estensioni per personalizzare il routing, modificare i payload delle richieste o delle risposte e integrarle con servizi esterni.
Per saperne di più, consulta Personalizzare il routing del traffico di GKE Gateway utilizzando Service Extensions.
Estensioni di Media CDN
Media CDN fornisce molte funzionalità di base integrate per soddisfare i casi d'uso più comuni per le reti di distribuzione dei contenuti (CDN). Service Extensions ti aiuta a soddisfare diversi requisiti che vanno oltre queste funzionalità.
Per saperne di più, consulta la panoramica delle estensioni di Media CDN.
Plug-in per Media CDN
Service Extensions ti aiuta a utilizzare i plug-in pre-pubblicati per le tue esigenze personalizzate aggiungendoli al percorso di elaborazione di Media CDN.
Di seguito sono riportati alcuni casi d'uso principali in cui puoi utilizzare i plug-in con Media CDN:
- Personalizzazione
- Riscrivi gli URL delle richieste.
- Normalizza i valori delle intestazioni per migliorare il rendimento della cache.
- Sicurezza e logging
- Durante gli eventi live, blocca gli utenti con token piratati.
- Supporta l'autenticazione e l'autorizzazione degli utenti personalizzate.
- Traduci e implementa la firma URL personalizzata.
- Personalizza le chiavi della cache, le intestazioni specifiche dell'applicazione o i tipi di dispositivo.
- Registra le variabili personalizzate in Cloud Logging.
- Targeting e monetizzazione
- Migliora le conversioni tramite i test A/B.
- Implementa il targeting degli annunci personalizzato.
- Offri modelli di utilizzo di prova senza costi aggiuntivi.
- Integrazione del partner
- Implementa la filigrana sui video.
- Ottimizza i video e le immagini.