Proxy di destinazione per Traffic Director
Questo documento si applica solo a Traffic Director con le API di bilanciamento del carico. Ti consigliamo vivamente di utilizzare le API di routing dei servizi o le API gateway di Google Kubernetes Engine per eseguire il deployment di Traffic Director.
Quando configuri Traffic Director, una delle risorse configurate è il proxy di destinazione. Nel contesto di Traffic Director, i proxy di destinazione hanno due scopi principali:
Definizione del protocollo utilizzato dai client Traffic Director quando aprono una connessione ai backend o agli endpoint associati a un servizio.
Utilizzo di regole di forwarding e mappe URL per creare una mappa di regole di routing. La mappa di regole di routing fornisce funzionalità aggiuntive, ad esempio le regole di routing, a seconda del tipo di proxy di destinazione. Le selezioni non valide sono nascoste nell'interfaccia utente o rifiutate dall'API.
Tipi di proxy di destinazione e protocolli di richiesta
Traffic Director genera configurazioni diverse per i client in base al tipo di proxy di destinazione configurato. Quando configuri un tipo di proxy di destinazione, il client Traffic Director utilizza un protocollo di richiesta specifico.
Proxy di destinazione | Protocollo richiesta |
---|---|
HTTPS | I client avviano connessioni HTTPS |
HTTP | I client avviano le connessioni HTTP |
gRPC | I client avviano connessioni gRPC |
TCP | I client avviano connessioni TCP |
Non sei obbligato a scegliere un solo tipo. Ad esempio, la tua applicazione potrebbe voler utilizzare il protocollo HTTP per l'indirizzamento di alcuni servizi, ma utilizzare il protocollo TCP per gli indirizzi di altri servizi. Per questo caso d'uso, devi creare sia un proxy HTTP di destinazione che un proxy TCP di destinazione.
Combinazioni di risorse valide in una mappa di regole di routing
Per evitare configurazioni errate, Traffic Director consente solo di creare mappe di regole di routing che hanno il seguente aspetto:
- Regola di forwarding > proxy HTTPS di destinazione globale > Mappa URL > uno o più servizi di backend
- Regola di forwarding > proxy HTTP di destinazione globale > Mappa URL > uno o più servizi di backend
- Regola di forwarding > proxy gRPC di destinazione globale > Mappa URL > uno o più servizi di backend
- Regola di forwarding > proxy TCP di destinazione globale > un servizio di backend
Se utilizzi la console Google Cloud per configurare un proxy HTTP di destinazione, il proxy di destinazione viene configurato in modo implicito come parte della configurazione della mappa di regole di routing. La configurazione del proxy TCP non è ancora supportata nella console Google Cloud.
Se utilizzi Google Cloud CLI o le API, devi configurare esplicitamente il proxy di destinazione.
Gestione del traffico
Le seguenti sezioni descrivono come gestire il traffico in base al tipo di proxy di destinazione utilizzato.
Utilizzo di un proxy HTTP o HTTPS di destinazione
Quando configuri i servizi basati su HTTP o HTTPS, ogni istanza di servizio generalmente dispone di un proxy Envoy di cui è stato eseguito il deployment. Traffic Director configura questo proxy Envoy. Fa parte del piano dati del mesh di servizi e gestisce il traffico come segue.
Il proxy Envoy riceve la richiesta in uscita. Quindi confronta l'indirizzo IP e la porta di destinazione della richiesta con l'indirizzo IP e la porta configurati in ogni regola di forwarding che fa riferimento a un proxy HTTP o HTTPS di destinazione. Se viene trovata una corrispondenza, il proxy Envoy valuta la richiesta in base alla mappa dell'URL corrispondente del proxy di destinazione.
Utilizzo di un proxy TCP di destinazione
Quando configuri i servizi basati su TCP, ogni istanza di servizio generalmente dispone di un proxy Envoy di cui è stato eseguito il deployment. Traffic Director configura questo proxy Envoy. Fa parte del piano dati del mesh di servizi e gestisce il traffico come segue.
Il proxy Envoy riceve la richiesta in uscita. Quindi confronta l'indirizzo IP e la porta di destinazione della richiesta con l'indirizzo IP e la porta configurati in ogni regola di forwarding che fa riferimento a un proxy TCP di destinazione. Ogni regola di forwarding instrada il traffico TCP a un proxy di destinazione che rimanda a un servizio di backend predefinito. Il servizio di backend specifica un controllo di integrità e determina il backend appropriato.
Utilizzo di un proxy gRPC di destinazione
Quando configuri servizi basati su gRPC, in genere nelle tue istanze di servizio non viene eseguito il deployment dei proxy Envoy. Traffic Director, invece, configura la libreria gRPC. La libreria fa parte del piano dati del mesh di servizi e gestisce il traffico come segue.
La libreria gRPC confronta il valore hostname[:port]
specificato nell'URI con le regole host in tutte le mappe URL a cui fa riferimento un proxy gRPC di destinazione. Se viene trovata una corrispondenza, la libreria gRPC valuta la richiesta in base alle regole del percorso associate alla regola host corrispondente.
Risorse proxy di destinazione
Per aggiungere, eliminare, elencare e ottenere informazioni sui proxy di destinazione, puoi utilizzare l'API REST o gcloud CLI.
Inoltre, per ottenere informazioni su un proxy di destinazione, puoi utilizzare i seguenti
comandi gcloud
:
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME
API
Per le descrizioni delle proprietà e dei metodi disponibili quando utilizzi i proxy di destinazione tramite l'API REST, vedi le seguenti risorse supportate da Traffic Director:
Interfaccia a riga di comando gcloud
Per Google Cloud CLI, consulta le seguenti risorse:
Passaggi successivi
- Per scoprire di più su Traffic Director, consulta la panoramica di Traffic Director.
- Per eseguire il deployment di Traffic Director, consulta la documentazione sulla guida al deployment di Traffic Director.