Un bilanciatore del carico distribuisce il traffico degli utenti su più istanze delle applicazioni. Distribuendo il carico, il bilanciamento del carico riduce il rischio che le applicazioni presentino problemi di prestazioni. Cloud Load Balancing di Google è basato su tecnologie affidabili e ad alte prestazioni come Maglev, Andromeda, Google Front End ed Envoy, le stesse tecnologie alla base dei prodotti Google.
Cloud Load Balancing offre un portafoglio completo di bilanciatori del carico di rete e delle applicazioni regionali. Utilizza i nostri bilanciatori del carico per distribuire milioni di richieste al secondo tra i backend in un'unica regione. Puoi configurare questi bilanciatori del carico in modo che siano accessibili tramite un singolo indirizzo IP anycast. Implementa un forte controllo giurisdizionale con i nostri bilanciatori del carico proxy regionali, mantenendo i backend e i proxy nella tua regione senza preoccuparti dell'offload TLS/SSL. Utilizza i nostri bilanciatori del carico passthrough regionali per instradare rapidamente più protocolli ai backend con le prestazioni elevate del Direct Server Return (DSR).
Funzionalità principali di Cloud Load Balancing
Cloud Load Balancing offre le seguenti funzionalità del bilanciatore del carico:
Singolo indirizzo IP anycast. Con Cloud Load Balancing, un singolo indirizzo IP anycast funge da frontend per tutte le tue istanze di backend.
Scalabilità automatica senza interruzioni. Cloud Load Balancing è in grado di scalare con l'aumentare degli utenti e del traffico e gestisce in modo semplice picchi istantanei imprevisti ed estremamente elevati deviando il traffico verso backend in altre zone che sono in grado di supportarlo. La scalabilità automatica non richiede operazioni preliminari ed è possibile aumentare la capacità da zero al massimo in pochi secondi. Cloud Load Balancing reagisce istantaneamente alle variazioni di utenti, traffico, rete, stato dei backend e altre condizioni correlate.
Bilanciamento del carico software-defined. Cloud Load Balancing è un servizio gestito completamente distribuito e software-defined, progettato per amministrare tutto il tuo traffico. Non si tratta di una soluzione basata su istanze o dispositivi, quindi non si è vincolati a un'infrastruttura di bilanciamento del carico fisica e non si è costretti a gestire le problematiche correlate ad alta affidabilità, scalabilità e gestione tipiche dei bilanciatori del carico basati sulle istanze.
Bilanciamento del carico di livello 4 e livello 7. Utilizza il bilanciamento del carico basato sul livello 4 per indirizzare il traffico in base ai dati dei protocolli di rete e del livello di trasporto, come TCP, UDP, ESP, GRE, ICMP e ICMPv6 . Utilizza il bilanciamento del carico basato sul livello 7 per aggiungere decisioni di routing delle richieste in base ad attributi come l'intestazione HTTP e l'URI (Uniform Resource Identifier).
Bilanciamento del carico esterno e interno. Definisce se il bilanciatore del carico può essere utilizzato per l'accesso esterno o interno. Puoi utilizzare un bilanciatore del carico esterno quando i client devono raggiungere la tua applicazione da internet. Puoi utilizzare un bilanciatore del carico interno quando i tuoi client si trovano all'interno diGoogle Cloud. Per saperne di più, consulta Bilanciamento del carico esterno e interno.
Tipi di bilanciatori del carico Google Cloud
Cloud Load Balancing offre due tipi di bilanciatori del carico: i bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete. Sceglierai un bilanciatore del carico delle applicazioni quando hai bisogno di un bilanciatore del carico di livello 7 per le tue applicazioni con traffico HTTP(S). Sceglierai un bilanciatore del carico di rete se hai bisogno di un bilanciatore del carico di livello 4 che supporti l'offload TLS (con un bilanciatore del carico proxy) o se hai bisogno di supporto per protocolli IP come UDP, ESP e ICMP (con un bilanciatore del carico passthrough).
Bilanciatori del carico delle applicazioni
I bilanciatori del carico delle applicazioni sono bilanciatori del carico di livello 7 basati su proxy che ti consentono di eseguire e scalare i servizi dietro un indirizzo IP anycast. Il bilanciatore del carico delle applicazioni distribuisce il traffico HTTP e HTTPS ai backend ospitati su una varietà di piattaforme Google Cloud , come Compute Engine e Google Kubernetes Engine (GKE), nonché ai backend esterni al di fuori diGoogle Cloud.
Il deployment dei bilanciatori del carico delle applicazioni può essere eseguito esternamente o internamente a seconda che l'applicazione sia per internet o interna. In entrambi i casi, questi bilanciatori del carico supportano i backend solo in una singola regione.
- I bilanciatori del carico delle applicazioni esterni regionali sono implementati come servizi gestiti su proxy Envoy. I client possono connettersi a questi bilanciatori del carico da qualsiasi luogo su internet. I bilanciatori del carico delle applicazioni utilizzano il proxy Envoy open source per abilitare funzionalità di gestione avanzata del traffico.
- I bilanciatori del carico delle applicazioni interni regionali si basano sullo stack di virtualizzazione di rete Andromeda e sul proxy Envoy open source. Questo bilanciatore del carico fornisce il bilanciamento del carico interno basato su proxy dei dati delle applicazioni di livello 7. Il bilanciatore del carico utilizza un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o ai client connessi alla tua rete VPC.
Il seguente diagramma mostra un'architettura di bilanciatore del carico delle applicazioni di esempio.
Bilanciatori del carico di rete
I bilanciatori del carico di rete sono bilanciatori del carico di livello 4 in grado di gestire il traffico TCP, UDP o di altri protocolli IP. Questi bilanciatori del carico sono disponibili come bilanciatori del carico proxy o bilanciatori del carico passthrough. Puoi scegliere un bilanciatore del carico in base alle esigenze della tua applicazione e al tipo di traffico che deve gestire. Scegli un bilanciatore del carico di rete proxy se vuoi configurare un bilanciatore del carico reverse proxy con supporto per controlli del traffico avanzati e backend on-premise e in altri ambienti cloud. Scegli un bilanciatore del carico di rete passthrough se vuoi conservare l'indirizzo IP di origine dei pacchetti client, se preferisci il ritorno diretto dal server per le risposte o se vuoi gestire una serie di protocolli IP come TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Bilanciatori del carico di rete proxy
I bilanciatori del carico di rete proxy sono bilanciatori del carico con reverse proxy di livello 4 che distribuiscono il traffico TCP alle istanze di macchine virtuali (VM) nella tua rete VPC Google Cloud. Il traffico viene terminato al livello di bilanciamento del carico e poi inoltrato al backend disponibile più vicino utilizzando TCP.
Il deployment dei bilanciatori del carico di rete proxy può essere eseguito esternamente o internamente, a seconda che l'applicazione sia per internet o interna. In entrambi i casi, questi bilanciatori del carico supportano i backend solo in una singola regione.
- I bilanciatori del carico di rete proxy esterni regionali sono bilanciatori del carico di livello 4 che distribuiscono il traffico proveniente da internet ai backend nella tua rete VPC Google Cloud , on-premise o in altri ambienti cloud.
- I bilanciatori del carico di rete proxy interni regionali sono bilanciatori del carico di livello 4 regionali basati su proxy Envoy che ti consentono di eseguire e scalare il traffico del servizio TCP dietro un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o ai client connessi alla tua rete VPC.
Il seguente diagramma mostra un'architettura di bilanciatore del carico di rete proxy di esempio.
Bilanciatori del carico di rete passthrough
I bilanciatori del carico di rete passthrough sono bilanciatori del carico passthrough di livello 4. Questi bilanciatori del carico distribuiscono il traffico tra i backend che si trovano nella stessa regione del bilanciatore del carico o in più regioni. Sono implementati utilizzando il networking virtuale Andromeda e Google Maglev.
Come suggerisce il nome, questi bilanciatori del carico non sono proxy. I pacchetti con bilanciamento del carico vengono ricevuti dalle VM di backend con gli indirizzi IP di origine e di destinazione, il protocollo e, se il protocollo è basato su porta, le porte di origine e di destinazione invariati. Le connessioni con bilanciamento del carico vengono terminate nei backend. Le risposte dalle VM di backend vengono inviate direttamente ai client, non tramite il bilanciatore del carico. Il termine di settore per questo è Direct Server Return (DSR).
Questi bilanciatori del carico, come mostrato nell'immagine seguente, vengono implementati in due modalità, a seconda che il bilanciatore del carico sia per internet o interno.
I client possono connettersi a questi bilanciatori del carico da qualsiasi luogo su internet. Il bilanciatore del carico può anche ricevere traffico da VM Google Cloud con indirizzi IP esterni o da VM Google Cloud che hanno accesso a internet tramite Cloud NAT o NAT basata su istanza.
Questi bilanciatori del carico possono essere implementati in una delle seguenti modalità: globale o regionale.
I bilanciatori del carico di rete passthrough esterni globali (anteprima) supportano i backend in più regioni. Il deployment dei backend per i bilanciatori del carico di rete passthrough esterni globali può essere eseguito solo utilizzando un servizio di backend. Il bilanciatore del carico fornisce due indirizzi IP anycast, ciascuno gestito da un'infrastruttura server di controllo e piano dati di bilanciamento del carico globale disgiunta e isolata (nota anche come gruppo di disponibilità) per fornire un'alta affidabilità.
I bilanciatori del carico di rete passthrough esterni regionali supportano i backend in una singola regione. Il deployment dei backend per i bilanciatori del carico di rete passthrough esterni regionali può essere eseguito utilizzando un servizio di backend o un pool di destinazione. Per i nuovi deployment, consigliamo di utilizzare i servizi di backend.
I bilanciatori del carico di rete passthrough interni si basano sullo stack di virtualizzazione di rete Andromeda. Un bilanciatore del carico di rete passthrough interno consente di bilanciare il carico del traffico dietro un indirizzo IP di bilanciamento del carico interno accessibile solo ai sistemi nella stessa rete VPC o ai sistemi connessi alla rete VPC.
Il seguente diagramma mostra un'architettura di esempio del bilanciatore del carico di rete passthrough.
Tecnologie di base dei bilanciatori del carico Google Cloud
La tabella seguente elenca la tecnologia di base su cui è basato ogni bilanciatore del caricoGoogle Cloud .
- I Google Front End (GFE) sono sistemi distribuiti software-defined che si trovano nei punti di presenza (POP) di Google ed eseguono il bilanciamento del carico globale insieme ad altri sistemi e control plane.
- Andromeda è lo stack di virtualizzazione di rete software-defined di Google Cloud.
- Maglev è un sistema distribuito per il bilanciamento del carico di rete.
- Envoy è un proxy perimetrale e di servizio open source, progettato per applicazioni cloud-native.
| Bilanciatore del carico | Tecnologia |
|---|---|
| Bilanciatore del carico delle applicazioni esterno regionale | Envoy |
| Bilanciatore del carico delle applicazioni interno regionale | Envoy |
| Bilanciatore del carico di rete proxy esterno regionale | Envoy |
| Bilanciatore del carico di rete proxy interno regionale | Envoy |
| Bilanciatore del carico di rete passthrough esterno regionale | Maglev |
| Bilanciatore del carico di rete passthrough interno | Andromeda |
Scelta di un bilanciatore del carico
Per determinare quale prodotto di Cloud Load Balancing utilizzare, devi innanzitutto determinare il tipo di traffico che i bilanciatori del carico devono gestire. In generale, sceglierai un bilanciatore del carico delle applicazioni quando hai bisogno di un set di funzionalità flessibili per le applicazioni con traffico HTTP(S). Sceglierai un bilanciatore del carico di rete se hai bisogno di offloading TLS su larga scala o supporto per UDP, oppure se devi esporre gli indirizzi IP client alle applicazioni.
Puoi restringere ulteriormente le scelte in base al fatto che la tua applicazione sia esterna (per internet) o interna.
Il seguente diagramma mostra tutte le modalità di deployment disponibili per Cloud Load Balancing. Per maggiori dettagli, consulta la guida Scegli un bilanciatore del carico.
Riepilogo dei tipi di bilanciatori del carico Google Cloud
La tabella seguente fornisce dettagli, come il livello di servizio di rete su cui opera ogni bilanciatore del carico, insieme allo 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 regionale | HTTP o HTTPS | Livello Premium o Standard | EXTERNAL_MANAGED |
| Interno a livello di regione | HTTP o HTTPS | Livello Premium | INTERNAL_MANAGED | |
| Bilanciatori del carico di rete proxy | Esterno regionale | TCP | Livello Premium o Standard | EXTERNAL_MANAGED |
| Interno a livello di regione | TCP senza offload SSL | Livello Premium | INTERNAL_MANAGED | |
| Bilanciatori del carico di rete passthrough | Esterno Sempre regionale |
TCP, UDP, ESP, GRE, ICMP, e ICMPv6 | Livello Premium o Standard | EXTERNAL |
Interno 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 servizio gestito su un Google Front End (GFE) o sul proxy Envoy open source. In uno schema di bilanciamento del carico gestito, le richieste vengono indirizzate a GFE o al proxy Envoy.
Interfacce
Puoi configurare e aggiornare i bilanciatori del carico utilizzando le seguenti interfacce:
Google Cloud CLI: uno strumento a riga di comando incluso in Google Cloud CLI; la documentazione richiama spesso questo strumento per eseguire le attività. Per una panoramica completa dello strumento, consulta la guida di gcloud CLI. Puoi trovare i comandi relativi al bilanciamento del carico nel gruppo di comandi
gcloud compute.Puoi anche ottenere una guida dettagliata per qualsiasi comando
gcloudutilizzando il flag--help.gcloud compute http-health-checks create --helpLa consoleGoogle Cloud : le attività di bilanciamento del carico possono essere eseguite utilizzando la console Google Cloud .
API REST: tutte le attività di bilanciamento del carico possono essere eseguite utilizzando l'API Cloud Load Balancing. La documentazione di riferimento dell'API descrive le risorse e i metodi a tua disposizione.
Terraform: puoi eseguire il provisioning, l'aggiornamento e l'eliminazione dell'infrastruttura di bilanciamento del carico Google Cloudutilizzando uno strumento open source di infrastructure as code comeTerraform.
Passaggi successivi
- Per aiutarti a determinare quale bilanciatore del carico Google Cloud soddisfa meglio le tue esigenze, consulta Scegli un bilanciatore del carico.
- Per comprendere i componenti dei diversi tipi di bilanciatori del carico Google Cloud , consulta Modello di risorse di Cloud Load Balancing.
- Per una panoramica comparativa delle funzionalità di bilanciamento del carico offerte da Cloud Load Balancing, consulta Confronto delle funzionalità dei bilanciatori del carico.
- Per utilizzare i template Terraform predefiniti per semplificare la configurazione e la gestione dell'infrastruttura di networking di Google Cloud, esplora il repository GitHub delle soluzioni di configurazione di networking cloud semplificate.