Un bilanciatore del carico distribuisce il traffico degli utenti su più istanze delle tue applicazioni. Distribuendo il carico, il bilanciamento del carico riduce il rischio che si verifichino problemi di prestazioni per le applicazioni. Cloud Load Balancing di Google è basato su tecnologie affidabili e ad alte prestazioni come Maglev, Andromeda, Google Front Ends ed Envoy, le stesse tecnologie alla base dei prodotti Google.
Cloud Load Balancing offre un portafoglio completo di bilanciatori del carico di rete e applicazioni. Utilizza i nostri bilanciatori del carico proxy globali per distribuire milioni di richieste al secondo tra i backend in più regioni con il nostro parco risorse Google Front End (GFE) in oltre 80 località distinte in tutto il mondo, tutte con un unico indirizzo IP anycast. Implementa un rigoroso controllo giurisdizionale con i nostri bilanciatori del carico proxy a livello di regione, mantenendo i tuoi backend e proxy in una regione a tua scelta senza preoccuparti dell'offload di TLS/SSL. Utilizza i nostri bilanciatori del carico passthrough per instradare rapidamente più protocolli ai backend con le elevate prestazioni del ritorno diretto del server (DSR).
Cloud Load Balancing offre le seguenti funzionalità del bilanciatore del carico:
Singolo indirizzo IP anycast. Con Cloud Load Balancing, un singolo indirizzo IP anycast rappresenta il frontend per tutte le istanze di backend nelle regioni di tutto il mondo. Fornisce il bilanciamento del carico tra regioni, compreso il failover automatico multiregionale, che trasferisce il traffico ai backend di failover se i backend principali non sono integri. Cloud Load Balancing reagisce istantaneamente ai cambiamenti di utenti, traffico, rete, stato dei backend e altre condizioni correlate.
Bilanciamento del carico definito dal software. Cloud Load Balancing è un servizio gestito completamente distribuito, definito dal software per tutto il traffico. Non è una soluzione basata su istanze o dispositivi, quindi non si è vincolati a un'infrastruttura fisica di bilanciamento del carico e non si devono affrontare i problemi di alta disponibilità, scalabilità e gestione inerenti ai bilanciatori del carico basati sulle istanze.
Scalabilità automatica senza interruzioni. Cloud Load Balancing è in grado di scalare man mano che gli utenti e il traffico crescono, inclusa la gestione agevole di picchi istantanei imprevisti e significativi deviando il traffico verso altre aree geografiche nel mondo che possono sopportare il traffico. La scalabilità automatica non richiede operazioni preliminari ed è possibile scalare da zero a tutto il traffico in pochi secondi.
Bilanciamento del carico di livello 4 e 7: Utilizza il bilanciamento del carico basato su livello 4 per indirizzare il traffico in base ai dati provenienti dai protocolli di rete e di livello di trasporto come TCP, UDP, ESP, GRE, ICMP e ICMPv6 . Utilizza il bilanciamento del carico basato su livello 7 per aggiungere decisioni di routing delle richieste in base ad attributi come l'intestazione HTTP e l'identificatore uniforme delle risorse.
Bilanciamento del carico esterno e interno. Puoi utilizzare il bilanciamento del carico esterno quando gli utenti raggiungono le tue applicazioni da Internet. Puoi utilizzare il bilanciamento del carico interno quando i client si trovano all'interno di Google Cloud.
Bilanciamento del carico globale e a livello di regione. Puoi distribuire le risorse con bilanciamento del carico in una o più regioni per terminare le connessioni vicine agli utenti e soddisfare i tuoi requisiti di alta disponibilità.
Supporto di funzionalità avanzate. Cloud Load Balancing supporta funzionalità come il bilanciamento del carico globale IPv6, indirizzamento del traffico basato su IP di origine, bilanciamento del carico ponderato, WebSocket, intestazioni delle richieste definite dall'utente e forwarding del protocollo per indirizzi IP virtuali (VIP).
Include inoltre le seguenti integrazioni:
- Integrazione con Cloud CDN per il caricamento dei contenuti memorizzati nella cache. Cloud CDN è supportato con l'Application Load Balancer esterno globale e l'Application Load Balancer classico.
- Integrazione con Google Cloud Armor per proteggere la tua infrastruttura da attacchi DDoS (Distributed Denial-of-Service) e altri attacchi mirati alle applicazioni. La protezione DDoS sempre attiva è disponibile per l'Application Load Balancer esterno globale, l'Application Load Balancer classico, il Network Load Balancer proxy esterno e il Network Load Balancer passthrough esterno. Inoltre, Google Cloud Armor supporta la protezione DDoS di rete avanzata solo per i bilanciatori del carico di rete passthrough esterni. Per maggiori informazioni, consulta la sezione Configurare la protezione DDoS di rete avanzata.
Tipi di bilanciatori del carico
Cloud Load Balancing offre due tipi di bilanciatori del carico: Application Load Balancer e Network Load Balancer. Scegli un Application Load Balancer quando ti serve un bilanciatore del carico di livello 7 per le tue applicazioni con traffico HTTP(S). Scegli un bilanciatore del carico di rete quando hai bisogno di un bilanciatore del carico di livello 4 che supporti l'offload TLS (con un bilanciatore del carico proxy) oppure hai bisogno di supporto per protocolli IP come UDP, ESP, ICMP e così via (con un bilanciatore del carico passthrough).
Application Load Balancer
Gli Application Load Balancer sono bilanciatori del carico di livello 7 basati su proxy che consentono di eseguire e scalare i servizi utilizzando un singolo indirizzo IP. L'Application Load Balancer distribuisce il traffico HTTP e HTTPS a backend ospitati su diverse piattaforme Google Cloud, come Compute Engine, Google Kubernetes Engine (GKE) e Cloud Run, nonché a backend esterni esterni a Google Cloud.
Il deployment degli Application Load Balancer può essere eseguito esternamente o internamente a seconda che l'applicazione sia per Internet o interna:
- Gli Application Load Balancer esterni sono implementati come servizi gestiti su GFE (Google Front End) o proxy Envoy. I client possono connettersi a questi bilanciatori del carico da qualsiasi connessione Internet. Tieni presente quanto segue:
- Questi bilanciatori del carico possono essere globali o a livello di regione.
- Per gli Application Load Balancer esterni globali, è supportato solo il livello Premium.
- Per gli Application Load Balancer esterni regionali, è supportato solo il livello Standard.
- Gli Application Load Balancer utilizzano il proxy Envoy open source per abilitare funzionalità avanzate di gestione del traffico.
- Gli Application Load Balancer interni sono basati 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. Puoi specificare la modalità di routing del traffico con le mappe URL. Il bilanciatore del carico utilizza un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o per i client connessi alla rete VPC. Tieni presente quanto segue:
- Questi bilanciatori del carico possono essere regionali o tra regioni.
- Gli Application Load Balancer interni regionali supportano solo i backend regionali.
- Gli Application Load Balancer interni tra regioni (anteprima) supportano backend globali e sono sempre accessibili a livello globale. I client di qualsiasi regione Google Cloud possono inviare traffico al bilanciatore del carico.
Il seguente diagramma mostra un'architettura di esempio di Application Load Balancer.
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 altro traffico del protocollo IP. Questi bilanciatori del carico sono disponibili come bilanciatori del carico proxy o bilanciatori del carico passthrough. Puoi scegliere un bilanciatore del carico a seconda delle esigenze della tua applicazione e del tipo di traffico che deve gestire. Scegli un bilanciatore del carico di rete proxy se vuoi configurare un bilanciatore del carico proxy inverso con il supporto per i controlli avanzati del traffico e i 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, preferisci la restituzione diretta del server per le risposte o se vuoi gestire una varietà 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 proxy inversi di livello 4 che distribuiscono il traffico TCP alle istanze di macchine virtuali (VM) nella rete VPC Google Cloud. Il traffico viene terminato al livello del bilanciamento del carico e quindi inoltrato al backend disponibile più vicino tramite TCP. Questi bilanciatori del carico vengono implementati nei GFE distribuiti a livello globale.
Il deployment di questi bilanciatori del carico viene eseguito in due modalità, a seconda che l'applicazione sia per Internet o interna:
I bilanciatori del carico di rete proxy esterni sono bilanciatori del carico di livello 4 che distribuiscono il traffico proveniente da internet ai backend nella tua rete VPC di Google Cloud, on-premise o in altri ambienti cloud. Il deployment di questi bilanciatori del carico può essere eseguito in una delle seguenti modalità: globale o a livello di regione.
- Per i bilanciatori del carico di rete proxy classici, il bilanciatore del carico è un bilanciatore del carico globale nel livello Premium, ma può essere configurato per essere effettivamente regionale nel livello Standard.
- Per i bilanciatori del carico di rete proxy esterni globali (Anteprima), è supportato solo il livello Premium.
- Per i bilanciatori del carico di rete proxy esterni regionali, è supportato solo il livello Standard.
I bilanciatori del carico di rete proxy interno sono bilanciatori del carico regionali di livello 4 basati su proxy di Envoy che ti consentono di eseguire e scalare il traffico del servizio TCP tramite un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o connessi alla tua rete VPC. Il deployment di questi bilanciatori del carico può essere eseguito in una delle seguenti modalità: a livello di regione o tra regioni.
- I bilanciatori del carico di rete proxy interno a livello di regione supportano solo i backend regionali.
- I bilanciatori del carico di rete proxy interni tra regioni (anteprima) supportano backend globali e sono sempre accessibili a livello globale. I client di qualsiasi regione Google Cloud possono inviare traffico al bilanciatore del carico.
Il seguente diagramma mostra un esempio di architettura del bilanciatore del carico di rete proxy.
Bilanciatori del carico di rete passthrough
I bilanciatori del carico di rete passthrough sono bilanciatori del carico passthrough regionali di livello 4. Questi bilanciatori del carico distribuiscono il traffico tra i backend nella stessa regione del bilanciatore del carico. L'implementazione viene eseguita 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 il protocollo, gli indirizzi IP di origine e di destinazione del pacchetto e, se il protocollo è basato sulle porte, le porte di origine e di destinazione invariate. Le connessioni con bilanciamento del carico terminano nei backend. Le risposte delle VM di backend passano direttamente ai client, non attraverso il bilanciatore del carico. Il termine del settore per questa espressione è il ritorno diretto del server (DSR).
Il deployment di questi bilanciatori del carico viene eseguito in due modalità, a seconda che il bilanciatore del carico sia rivolto a Internet o interno:
- I bilanciatori del carico di rete passthrough esterni sono basati su Maglev. I client possono connettersi a questi bilanciatori del carico da qualsiasi posizione su internet, indipendentemente dal fatto che l'indirizzo IP del bilanciatore del carico si trovi nel livello Premium o Standard. Il bilanciatore del carico può anche ricevere traffico dalle VM Google Cloud con indirizzi IP esterni o dalle VM Google Cloud che hanno accesso a internet tramite Cloud NAT o NAT basato su istanze.
- I bilanciatori del carico di rete passthrough interno sono basati sullo stack di virtualizzazione di rete Andromeda. Un bilanciatore del carico di rete passthrough interno consente di bilanciare il carico del traffico TCP/UDP dietro un indirizzo IP di bilanciamento del carico interno che è accessibile solo ai sistemi nella stessa rete VPC o negli stessi sistemi connessi alla tua rete VPC. Questo bilanciatore del carico può essere configurato solo nel livello Premium.
Il seguente diagramma mostra un esempio di architettura del bilanciatore del carico di rete passthrough.
Scelta di un bilanciatore del carico
Per determinare quale prodotto Cloud Load Balancing utilizzare, devi prima determinare quale tipo di traffico devono essere gestiti dai bilanciatori del carico. Come regola generale, dovresti scegliere un Application Load Balancer quando hai bisogno di un set di funzionalità flessibile per le tue applicazioni con traffico HTTP(S). Inoltre, scegli un bilanciatore del carico di rete quando è necessario eseguire l'offload di TLS su larga scala o il supporto per UDP oppure devi esporre gli indirizzi IP client alle tue applicazioni.
Puoi restringere ulteriormente le tue scelte a seconda dei requisiti della tua applicazione, che sia esterna (per Internet) o interna e che sia necessario eseguire il deployment di backend a livello globale o regionale.
Il seguente diagramma mostra tutte le modalità di deployment disponibili per Cloud Load Balancing.
1 Gli Application Load Balancer esterni globali supportano due modalità di funzionamento: globale e classico.
2 I bilanciatori del carico di rete con proxy esterno globale supportano due modalità di funzionamento: globale (anteprima) e classico.
3 I bilanciatori del carico di rete passthrough conservano gli indirizzi IP di origine client. I bilanciatori del carico di rete passthrough supportano anche protocolli aggiuntivi come UDP, ESP e ICMP.
Riepilogo dei tipi di bilanciatori del carico Google Cloud
La tabella seguente fornisce informazioni più specifiche su ciascun bilanciatore del carico.
Bilanciatore del carico | Modalità di deployment | Tipo di traffico | Livello di servizio di rete | Schema di bilanciamento del carico † |
---|---|---|---|---|
Application Load Balancer | Esterno globale | HTTP o HTTPS | Premium | EXTERNAL_MANAGED |
Esterno a livello di regione | HTTP o HTTPS | Standard | EXTERNAL_MANAGED | |
Classica | HTTP o HTTPS | Globale nel livello Premium A livello di regione nel livello Standard |
EXTERNAL | |
Interno a livello di regione |
HTTP o HTTPS | Premium | INTERNAL_MANAGED | |
Interno tra regioni |
HTTP o HTTPS | Premium | INTERNAL_MANAGED | |
Bilanciatori del carico di rete proxy | Esterno globale | TCP con offload SSL facoltativo | Livello Premium |
EXTERNAL_MANAGED |
Classica | TCP con offload SSL facoltativo | Globale nel livello Premium A livello di regione nel livello Standard |
EXTERNAL | |
Esterno a livello di regione | TCP | Solo standard | EXTERNAL_MANAGED | |
Interno a livello di regione Sempre regionale |
TCP senza offload SSL | Solo Premium | INTERNAL_MANAGED | |
Interno tra regioni multiregionale |
TCP senza offload SSL | Solo Premium | INTERNAL_MANAGED | |
Bilanciatori del carico di rete passthrough | Esterno Sempre regionale |
TCP, UDP, ESP, GRE, ICMP, e ICMPv6 | Premium o Standard | EXTERNAL |
Interna Sempre regionale |
TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH e GRE | Solo Premium | INTERNAL |
† 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 il bilanciatore del carico può essere utilizzato per il traffico interno o esterno.
Il termine *_MANAGED
nello schema di bilanciamento del carico indica che il bilanciatore del carico è implementato come servizio gestito su Google Front End (GFE) o sul proxy Envoy open source. In uno schema di bilanciamento del carico *_MANAGED
, le richieste vengono instradate al 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 chiama spesso questo strumento per svolgere attività. Per una panoramica completa dello strumento, consulta la guida dell'interfaccia a riga di comando gcloud. Puoi trovare i comandi relativi al bilanciamento del carico nel gruppo di comandi
gcloud compute
.Puoi anche ottenere assistenza dettagliata per qualsiasi comando
gcloud
utilizzando il flag--help
.gcloud compute http-health-checks create --help
Console Google 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. I documenti di riferimento delle API descrivono le risorse e i metodi disponibili.
Terraform: puoi eseguire il provisioning, aggiornare ed eliminare l'infrastruttura di bilanciamento del carico di Google Cloud utilizzando uno strumento Infrastructure as Code open source come Terraform.
Passaggi successivi
- Per determinare quale bilanciatore del carico Google Cloud soddisfa meglio le tue esigenze, vedi Scegliere un bilanciatore del carico.
- Per una panoramica comparativo delle funzionalità di bilanciamento del carico offerte da Cloud Load Balancing, vedi Confronto delle funzionalità del bilanciatore del carico.