Questo documento ti aiuta a determinare quale Google Cloud bilanciatore del carico soddisfa meglio le tue esigenze. Per una panoramica di tutti i prodotti Cloud Load Balancing disponibili, consulta Panoramica di Cloud Load Balancing.
Per determinare quale prodotto di Cloud Load Balancing utilizzare, devi innanzitutto determinare il tipo di traffico che i bilanciatori del carico devono gestire.
- Scegli un bilanciatore del carico delle applicazioni quando hai bisogno di un set di funzionalità flessibili per le applicazioni con traffico HTTP(S).
- Scegli un bilanciatore del carico di rete proxy per implementare il bilanciamento del carico del proxy TCP verso i backend in una o più regioni.
- Scegli un bilanciatore del carico di rete passthrough per preservare gli indirizzi IP di origine dei clienti, per evitare l'overhead delle proxy e per supportare ulteriori protocolli come UDP, ESP e ICMP.
Puoi restringere ulteriormente le scelte in base ai requisiti dell'applicazione: se la tua applicazione è esterna (per internet) o interna e se hai bisogno di backend su cui è stato eseguito il deployment a livello globale o regionale.
Il seguente diagramma riassume tutte le modalità di deployment disponibili per Cloud Load Balancing.
1 I bilanciatori del carico delle applicazioni esterni globali supportano due modalità di funzionamento: globale e classica.
2 I bilanciatori del carico di rete proxy esterni globali supportano due modalità di funzionamento: globale e classica.
3 I bilanciatori del carico di rete passthrough conservano gli indirizzi IP di origine dei client. I bilanciatori del carico di rete passthrough supportano anche protocolli aggiuntivi come UDP, ESP e ICMP.
Aspetti del bilanciamento del carico
Per decidere quale bilanciatore del carico sia il più adatto alla tua implementazione di Google Cloud, considera i seguenti aspetti di Cloud Load Balancing:
- Tipo di traffico
- Bilanciamento del carico esterno e interno
- Bilanciamento del carico globale e a livello di regione
- Network Service Tiers Premium e Standard
- Bilanciamento del carico proxy e passthrough
Tipo di traffico
Il tipo di traffico che il bilanciatore del carico deve gestire è un altro fattore che determina quale bilanciatore del carico utilizzare.
| Tipo di bilanciatore del carico | Tipo di traffico |
|---|---|
| Bilanciatori del carico delle applicazioni | HTTP o HTTPS |
| Bilanciatori del carico di rete passthrough | TCP o UDP Questi bilanciatori del carico supportano anche il traffico di altri protocolli IP come ESP, GRE, ICMP e ICMPv6. |
| Bilanciatori del carico di rete proxy | TCP con offload SSL facoltativo |
Bilanciamento del carico esterno e interno
Google Cloud I bilanciatori del carico possono essere sottoposti a deployment come bilanciatori del carico esterni o interni:
I bilanciatori del carico esterni distribuiscono il traffico proveniente da internet alla tua Google Cloud rete VPC (Virtual Private Cloud).
I bilanciatori del carico interni distribuiscono il traffico proveniente dai client nella stessa rete VPC del bilanciatore del carico o dai client connessi alla rete VPC tramite il peering di rete VPC, Cloud VPN o Cloud Interconnect.
Per determinare quale bilanciatore del carico funziona per la tua applicazione, utilizza la tabella di riepilogo.
Bilanciamento del carico globale e a livello di regione
A seconda del tipo di traffico che il bilanciatore del carico deve gestire e se i client sono interni o esterni, potresti avere la possibilità di scegliere tra un bilanciatore del carico globale o un bilanciatore del carico a livello di regione.
Scegli un bilanciatore del carico globale o interregionale se vuoi che venga distribuito a livello globale o che copra più regioni. Questi bilanciatori del carico possono anche distribuire il traffico ai backend in più regioni, il che li rende adatti quando l'applicazione o i contenuti sono distribuiti in più regioni o quando vuoi la flessibilità di aggiungere backend multiregionali man mano che la tua applicazione si espande in nuove aree geografiche.
Solo i bilanciatori del carico esterni sono disponibili come bilanciatori del carico globali. Per i bilanciatori del carico interni con backend in più regioni, scegli il bilanciatore del carico interregionale. I bilanciatori del carico interregionali forniscono l'accesso utilizzando un indirizzo IP interno regionale proveniente dalla subnet regionale nella rete VPC. Questo è diverso dai bilanciatori del carico globali, che forniscono l'accesso utilizzando un singolo indirizzo IP anycast e fornendo la terminazione IPv6 al bilanciatore del carico. Per saperne di più, consulta la tabella seguente.
Scegli un bilanciatore del carico a livello di regione quando hai bisogno di backend in una sola regione, richiedi solo la terminazione IPv4 (non IPv6) o quando hai requisiti di conformità giurisdizionale per il traffico in una regione specifica.
I carichi di lavoro che richiedono risorse regionalizzate per motivi di conformità impongono che determinate risorse vengano mantenute in una regione specifica o che il traffico venga terminato in una determinata regione. Se hai bisogno di un controllo geografico sulla terminazione TLS, devi utilizzare un bilanciatore del carico a livello di regione. Un bilanciatore del carico a livello di regione viene sottoposto a deployment in una regione specifica che scegli e può connettersi solo ai backend nella stessa regione. Pertanto, i bilanciatori del carico a livello di regione garantiscono la terminazione TLS solo nella regione in cui hai eseguito il deployment del bilanciatore del carico e dei relativi backend. I bilanciatori del carico globali terminano TLS (Transport Layer Security) in località distribuite a livello globale, in modo da ridurre al minimo la latenza tra i client e il bilanciatore del carico.
I bilanciatori del carico sono una componente fondamentale della maggior parte delle applicazioni ad alta affidabilità. È importante capire che la resilienza dell'applicazione complessiva dipende non solo dall'ambito del bilanciatore del carico scelto (globale o regionale), ma anche dalla ridondanza dei servizi di backend.
La tabella seguente riassume la resilienza del bilanciatore del carico in base alla distribuzione o all'ambito del bilanciatore del carico.
| Ambito del bilanciatore del carico | Architettura | Resiliente all'interruzione del servizio a livello di zona | Resiliente all'interruzione del servizio a livello di regione |
|---|---|---|---|
| Globale | Ogni bilanciatore del carico è distribuito in tutte le regioni | ||
| Interregionale | Ogni bilanciatore del carico è distribuito in più regioni | ||
| Regionale | Ogni bilanciatore del carico è distribuito in più zone nella regione | Un'interruzione del servizio in una determinata regione influisce sui bilanciatori del carico a livello di regione in quella regione |
Per determinare quale bilanciatore del carico funziona per la tua applicazione, utilizza la tabella di riepilogo.
Bilanciamento del carico proxy e passthrough
A seconda del tipo di traffico che il bilanciatore del carico deve gestire e se i client sono interni o esterni, potresti avere la possibilità di scegliere tra un bilanciatore del carico proxy o un bilanciatore del carico passthrough.
I bilanciatori del carico proxy terminano le connessioni client in entrata al bilanciatore del carico e poi aprono nuove connessioni dal bilanciatore del carico ai backend. Tutti i bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy funzionano in questo modo. Terminano le connessioni client utilizzando Google Front End (GFE) o proxy Envoy.
I bilanciatori del carico passthrough non terminano le connessioni client. Al contrario, i pacchetti con bilanciamento del carico vengono ricevuti dalle VM di backend con le informazioni di origine, destinazione e, se applicabile, porta del pacchetto invariate. Le connessioni vengono quindi terminate dalle VM di backend. Le risposte delle VM di backend vanno direttamente ai client, non di nuovo tramite il bilanciatore del carico. Il termine per questa operazione è direct server return. Utilizza un bilanciatore del carico passthrough quando devi conservare le informazioni sui pacchetti client. Come suggerisce il nome, i bilanciatori del carico di rete passthrough rientrano in questa categoria.
Per determinare quale bilanciatore del carico funziona per la tua applicazione, utilizza la tabella di riepilogo.
Network Service Tiers Premium e Standard
Network Service Tiers consente di ottimizzare la connettività tra i sistemi su internet e le tue Google Cloud istanze. Il livello Premium invia il traffico sul backbone premium di Google, mentre il livello Standard utilizza le reti ISP standard. In generale, devi scegliere il livello Premium per prestazioni elevate e bassa latenza. Puoi scegliere il livello Standard come alternativa a basso costo per le applicazioni che non hanno requisiti rigorosi per la latenza o le prestazioni.
Livello Premium. Se l'indirizzo IP del bilanciatore del carico è nel livello Premium, il traffico attraversa la rete backbone globale di alta qualità di Google con l'intento che i pacchetti entrino e escano da un punto di peering perimetrale di Google il più vicino possibile al client.
Se non specifichi un livello di rete, il bilanciatore del carico utilizza per impostazione predefinita il livello Premium. Alcuni bilanciatori del carico esterni, come il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico di rete proxy esterno globale, possono essere configurati solo nel livello Premium.
Tutti i bilanciatori del carico interni utilizzano sempre la rete backbone globale di alta qualità di Google e pertanto sono sempre configurati per impostazione predefinita come livello Premium. Tuttavia, i costi del traffico in uscita da internet associati al livello Premium non si applicano al trafficodel bilanciatore del carico interno.
Livello Standard. Se l'indirizzo IP del bilanciatore del carico è nel livello Standard, il traffico entra ed esce dalla rete Google in un punto di peering più vicino alla Google Cloud regione in cui è configurato il bilanciatore del carico.
Come indicato nella tabella di riepilogo, non tutti i bilanciatori del carico possono essere sottoposti a deployment nel livello Standard, quindi pianifica il budget di conseguenza.
Poiché il livello viene scelto a livello di risorsa, ad esempio l'indirizzo IP esterno di un bilanciatore del carico o di una VM, puoi utilizzare il livello Standard per alcune risorse e il livello Premium per altre. Puoi utilizzare l'albero decisionale nella documentazione di Network Service Tiers per aiutarti a prendere una decisione.
Riepilogo dei Google Cloud bilanciatori del carico
La tabella seguente fornisce dettagli, come il livello di servizio di rete su cui opera ogni bilanciatore del carico, insieme al relativo schema di bilanciamento del carico.
| Bilanciatore del carico | Modalità di deployment | Tipo di traffico | Livello di servizio di rete | Schema di bilanciamento del carico1 |
|---|---|---|---|---|
| Bilanciatori del carico delle applicazioni | Esterno globale | HTTP o HTTPS | Livello Premium | EXTERNAL_MANAGED |
| Esterno regionale | HTTP o HTTPS | Livello Premium o Standard | EXTERNAL_MANAGED | |
| Classic | HTTP o HTTPS | Globale nel livello Premium Regionale nel livello Standard |
EXTERNAL2 | |
| Interno regionale3 | HTTP o HTTPS | Livello Premium | INTERNAL_MANAGED | |
| Interno interregionale | HTTP o HTTPS | Livello Premium | INTERNAL_MANAGED | |
| Bilanciatori del carico di rete proxy | Esterno globale | TCP con offload SSL facoltativo | Livello Premium | EXTERNAL_MANAGED |
| Esterno regionale | TCP | Livello Premium o Standard | EXTERNAL_MANAGED | |
| Classic | TCP con offload SSL facoltativo | Globale nel livello Premium Regionale nel livello Standard |
EXTERNAL | |
| Interno regionale3 | TCP senza offload SSL | Livello Premium | INTERNAL_MANAGED | |
| Interno interregionale | TCP senza offload SSL | Livello Premium | INTERNAL_MANAGED | |
| Bilanciatori del carico di rete passthrough | Esterno globale (anteprima) |
TCP, UDP, ESP, GRE, ICMP e ICMPv6 | Livello Premium | EXTERNAL_PASSTHROUGH |
Esterno regionale |
TCP, UDP, ESP, GRE, ICMP e ICMPv6 | Livello Premium o Standard | EXTERNAL | |
Interno3 Sempre regionale |
TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH e GRE | Livello Premium | INTERNAL |
1 Lo schema di bilanciamento del carico è un attributo della regola di forwarding e del servizio di backend di un bilanciatore del carico e indica se quest'ultimo può essere usato per il traffico interno o esterno.
Il termine gestito in EXTERNAL_MANAGED
o INTERNAL_MANAGED indica
che il bilanciatore del carico è implementato come un servizio gestito su Google Front
End (GFE) o sul proxy Envoy
open source. In uno schema di bilanciamento del carico gestito, le richieste vengono
instradate al GFE o al proxy Envoy.
EXTERNAL regole di forwarding.EXTERNAL_MANAGED Tuttavia, i servizi di backend EXTERNAL non possono essere collegati alle regole di forwarding EXTERNAL_MANAGED.
Per usufruire delle nuove funzionalità disponibili
solo con il bilanciatore del carico delle applicazioni esterno globale, ti
consigliamo di eseguire la migrazione delle risorse EXTERNAL esistenti a
EXTERNAL_MANAGED utilizzando la procedura di migrazione descritta in
Eseguire la migrazione
delle risorse dal bilanciatore del carico delle applicazioni esterno classico a quello globale.
3 Per impostazione predefinita, i bilanciatori del carico interni regionali consentono solo il traffico proveniente dai client nella stessa regione del bilanciatore del carico. Tuttavia, puoi consentire il traffico proveniente dai client in altre regioni abilitando l'accesso globale nella regola di forwarding.
Passaggi successivi
- Per una panoramica comparativa delle funzionalità di bilanciamento del carico offerte da Cloud Load Balancing, consulta Confronto delle funzionalità del bilanciatore del carico.