Un bilanciatore del carico è un sistema composto da più componenti che interagiscono tra loro. Non esiste una singola risorsa API che rappresenti un bilanciatore del carico. Al contrario, più componenti lavorano insieme per distribuire il traffico in entrata su più backend.
Il seguente diagramma mostra i componenti principali di un bilanciatore del carico delle applicazioni, un bilanciatore del carico di rete proxy e un bilanciatore del carico di rete passthrough.
Bilanciatore del carico delle applicazioni
Bilanciatore del carico di rete proxy
Bilanciatore del carico di rete passthrough
Questa sezione fornisce una panoramica di alto livello dei componenti chiave di un bilanciatore del carico, a partire dal punto in cui il traffico raggiunge il bilanciatore del carico fino alla fase in cui viene instradato alla risorsa di backend. Per una comprensione più approfondita di ogni componente del bilanciatore del carico, consulta la pagina collegata in ogni sezione.
Regola di forwarding
Una regola di forwarding specifica un indirizzo IP, un protocollo IP e una o più porte su cui il bilanciatore del carico accetta il traffico. La regola di forwarding e l'indirizzo IP collegato rappresentano il frontend di un Google Cloud bilanciatore del carico.
Per saperne di più, consulta Panoramica delle regole di forwarding.
Proxy di destinazione
I proxy di destinazione terminano le connessioni in entrata dai client e creano nuove connessioni dal bilanciatore del carico ai backend.
La prima connessione ha origine dal client e termina al proxy di destinazione del bilanciatore del carico.
La seconda connessione inizia dal proxy di destinazione e termina all'istanza di backend, che gestisce la richiesta del client.
La prima connessione viene terminata in un Google Front End (GFE) o in una subnet appositamente designata nota come subnet solo proxy, riservata esclusivamente ai proxy Envoy. Per sapere se un bilanciatore del carico è basato su GFE o Envoy, consulta Tecnologie sottostanti dei Google Cloud bilanciatori del carico.
I proxy di destinazione vengono utilizzati solo dai bilanciatori del carico basati su proxy, come i bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy. Per questi tipi di bilanciatori del carico, le risposte dalle istanze di backend vengono inviate al proxy di destinazione anziché direttamente al client.
Per prendere decisioni di routing, un proxy HTTP(S) di destinazione utilizza una mappa URL. Un proxy TCP di destinazione può facoltativamente utilizzare una o più route TLS per eseguire il routing basato su SNI.
Per saperne di più, consulta Proxy di destinazione.
Subnet solo proxy
Una subnet solo proxy fornisce un pool di indirizzi IP riservati esclusivamente ai proxy Envoy utilizzati dai Google Cloud bilanciatori del carico. I proxy terminano le connessioni in entrata e poi creano nuove connessioni al backend.
Per saperne di più, consulta Subnet solo proxy per i bilanciatori del carico basati su Envoy.
Certificati SSL
Conosciuti anche come certificati TLS (Transport Layer Security), i certificati SSL facilitano la comunicazione sicura tra client e bilanciatori del carico. I bilanciatori del carico basati su proxy le cui regole di forwarding fanno riferimento a un proxy HTTPS di destinazione o a un proxy SSL di destinazione richiedono una chiave privata e un certificato SSL come parte della configurazione del proxy di destinazione del bilanciatore del carico.
Per saperne di più, consulta Certificati SSL.
Mappa URL
Dopo aver terminato la connessione, il proxy HTTP(S) di destinazione utilizza la mappa URL per decidere dove instradare la nuova richiesta (la seconda connessione come indicato nella sezione Proxy di destinazione). La mappa URL instrada la richiesta al servizio di backend o al bucket di backend. Le mappe URL vengono utilizzate solo dai bilanciatori del carico delle applicazioni. Poiché i bilanciatori del carico delle applicazioni operano al livello 7 del modello OSI, possono prendere decisioni di routing in base agli attributi HTTP, come il nome di dominio, il percorso della richiesta e parametri di ricerca.
Per saperne di più, consulta Mappe URL.
Route TLS
Una route TLS (rappresentata dalla risorsa API TLSRoute) consente di instradare il traffico TCP ai servizi di backend in base ai nomi host SNI (Server Name Indication) forniti nell'handshake TLS del client.
Le route TLS vengono collegate facoltativamente a un proxy TCP di destinazione di un bilanciatore del carico.
Anziché instradare tutto il traffico in entrata a un singolo servizio di backend predefinito, il proxy TCP di destinazione utilizza la configurazione della route TLS per ispezionare dinamicamente il messaggio ClientHello dell'handshake TLS e instradare il traffico al servizio di backend appropriato in base al nome host SNI corrispondente.
Le route TLS vengono utilizzate solo dai bilanciatori del carico di rete proxy (in particolare i bilanciatori del carico di rete proxy esterni regionali, i bilanciatori del carico di rete proxy interni regionali e i bilanciatori del carico di rete proxy interni tra regioni). Poiché operano a livello TLS, consentono il passthrough TLS, in cui il traffico criptato viene passato direttamente al backend senza essere decriptato dal bilanciatore del carico.
Per saperne di più, consulta Routing basato su SNI con TLS route.
Servizio di backend
Un servizio di backend definisce in che modo il bilanciatore del carico distribuisce il traffico. La configurazione del servizio di backend contiene un insieme di valori, come il protocollo utilizzato per connettersi ai backend, varie impostazioni di distribuzione e sessione, controlli di integrità e timeout.
Queste impostazioni forniscono un controllo granulare sul comportamento del bilanciatore del carico e consentono di indirizzare il traffico ai backend corretti, che possono essere gruppi di istanze VM o gruppi di endpoint di rete (NEG).
Per saperne di più, consulta Panoramica dei servizi di backend.
Bucket di backend
Se il tuo carico di lavoro pubblica contenuti statici utilizzando il protocollo HTTP(S), puoi utilizzare un bucket Cloud Storage per archiviare i contenuti statici e poi utilizzare un bucket di backend per instradare le richieste.
Controlli di integrità
Quando configuri un servizio di backend di un bilanciatore del carico, devi specificare uno o più controlli di integrità per i relativi backend. Un controllo di integrità, come suggerisce il nome, determina se le istanze di backend del bilanciatore del carico sono integre. Questa determinazione si basa sulla capacità del backend di rispondere al traffico in entrata. Il traffico a cui un backend deve rispondere dipende dal tipo di bilanciatore del carico. Puoi creare controlli di integrità utilizzando sia i protocolli di livello 7 che di livello 4 per monitorare le istanze con bilanciamento del carico.
Regole firewall
Affinché i controlli di integrità funzionino, devi creare regole firewall allow in entrata che consentano ai probe di controllo di integrità di raggiungere i backend.
I bilanciatori del carico basati su Google Front End richiedono una regola firewall di autorizzazione in entrata
che consenta al traffico dai CIDR di Google Front End di connettersi ai
backend. I bilanciatori del carico basati sul proxy open source Envoy richiedono una regola firewall allow in entrata che consenta al traffico dalla subnet solo proxy di raggiungere le istanze di backend.
Per saperne di più, consulta Regole firewall.
Backend
I backend sono la destinazione finale del traffico con bilanciamento del carico.
Diversi bilanciatori del carico supportano diversi tipi di backend. Quando aggiungi un backend al servizio di backend, devi specificare una modalità di bilanciamento. Questa modalità valuta la capacità del backend di gestire nuove richieste e determina la modalità di distribuzione del traffico tra i backend.
Per saperne di più, consulta Backend.
Passaggi successivi
- Per aiutarti a determinare quale Google Cloud bilanciatore del carico soddisfa al meglio le tue esigenze, consulta Scegliere un bilanciatore del carico.
- Per una panoramica comparativa delle funzionalità di bilanciamento del carico offerte da Cloud Load Balancing, consulta Confronto delle funzionalità del bilanciatore del carico.