Panoramica di Cloud Load Balancing

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 le applicazioni presentino problemi di prestazioni. 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 delle applicazioni. Utilizza i nostri bilanciatori del carico proxy globali per distribuire milioni di richieste al secondo tra i backend in più regioni con la nostra flotta Google Front End (GFE) in oltre 80 località distinte in tutto il mondo, il tutto con un unico indirizzo IP anycast. Implementa un controllo giurisdizionale rigoroso con i nostri bilanciatori del carico proxy regionali, mantenendo i backend e i proxy in una regione a tua scelta senza preoccuparti dell'offload TLS/SSL. Utilizza i nostri bilanciatori del carico passthrough per instradare rapidamente più protocolli ai backend con le prestazioni elevate del ritorno diretto del server (DSR).

Panoramica di Cloud Load Balancing.
Panoramica di Cloud Load Balancing (fai clic per ingrandire).

Funzionalità chiave di Cloud Load Balancing

Cloud Load Balancing offre le seguenti funzionalità del bilanciatore del carico:

  • Un singolo indirizzo IP anycast. Con Cloud Load Balancing, un singolo indirizzo IP anycast è il frontend per tutte le tue istanze di backend nelle regioni di tutto il mondo. Fornisce il bilanciamento del carico tra diverse regioni, compreso il failover automatico multiregione, che trasferisce il traffico ai backend di failover se i backend principali sono in stato non integro. Cloud Load Balancing reagisce istantaneamente alle variazioni di utenti, traffico, rete, stato dei backend e altre condizioni correlate.

  • 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 altre aree geografiche nel mondo 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.

  • Bilanciamento del carico software-defined. Cloud Load Balancing è un servizio completamente gestito, 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 a disponibilità elevata, scalabilità e gestione tipiche delle soluzioni di bilanciamento del carico basate 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 di trasporto, ad esempio 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'identificatore di risorse uniforme.

  • 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 client si trovano all'interno di Google Cloud. Per saperne di più, consulta Bilanciamento del carico esterno e interno.

  • Bilanciamento del carico globale e regionale. Definisce l'ambito del bilanciatore del carico. Un bilanciatore del carico globale supporta i backend in più regioni, mentre un bilanciatore del carico regionale supporta i backend in una sola regione. Anche se l'indirizzo IP di un bilanciatore del carico regionale si trova in una regione, un bilanciatore del carico regionale è accessibile a livello globale. Puoi distribuire i backend in una o più regioni per terminare le connessioni in prossimità degli utenti e soddisfare i requisiti di alta disponibilità. Per saperne di più, consulta Bilanciamento del carico globale e a livello di regione.

  • Routing del traffico nei livelli Premium e Standard. I servizi di bilanciamento del carico in Google Cloud sono disponibili in diverse versioni a seconda del livello di rete scelto, ovvero Premium o Standard, con il primo più costoso del secondo. Il livello Premium sfrutta il backbone globale di alta qualità di Google, mentre il livello Standard utilizza la rete internet pubblica per instradare il traffico nella rete. Il livello di rete che scegli dipende dal fatto che tu dia la priorità al costo o alle prestazioni del tuo carico di lavoro aziendale. Alcuni servizi di bilanciamento del carico sono disponibili solo nel livello Premium e non nel livello Standard. Per saperne di più, consulta Livelli di servizio di rete Premium e Standard.

  • Supporto di funzionalità avanzate. Cloud Load Balancing supporta funzionalità come il bilanciamento del carico IPv6, lo steering del traffico basato sull'IP di origine, il bilanciamento del carico ponderato, WebSockets, intestazioni delle richieste definite dall'utente e forwarding del protocollo per indirizzi IP virtuali (VIP) privati.

    Include anche le seguenti integrazioni:

    • Integrazione con Cloud CDN per la distribuzione dei contenuti memorizzati nella cache. Cloud CDN è supportato con il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico delle applicazioni 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 il bilanciatore del carico delle applicazioni esterno globale, il bilanciatore del carico delle applicazioni classico, il bilanciatore del carico di rete proxy esterno e il bilanciatore del carico di rete passthrough esterno. Inoltre, Google Cloud Armor supporta la protezione DDoS avanzata della rete solo per i bilanciatori del carico di rete passthrough esterni. Per ulteriori informazioni, vedi Configurare la protezione DDoS di rete avanzata.

Tipi di Google Cloud bilanciatori del carico

Cloud Load Balancing offre due tipi di bilanciatori del carico: bilanciatori del carico delle applicazioni e 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 quando 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 del supporto per protocolli IP come UDP, ESP e ICMP (con un bilanciatore del carico passthrough).

La tabella seguente fornisce una panoramica di alto livello dei diversi tipi di bilanciatori del caricoGoogle Cloud classificati in base al livello OSI su cui operano e se vengono utilizzati per l'accesso esterno o interno.

lan Cloud Load Balancing Esterno
(accetta il traffico internet)
Interno
(accetta il traffico Google Cloud interno)
Bilanciatori del carico delle applicazioni

HTTPS
Bilanciamento del carico di livello 7
  • esterno globale
  • esterno regionale
  • classica
  • interno tra regioni
  • interno regionale
Bilanciatori del carico di rete

TCP/SSL/Altro
Bilanciamento del carico di livello 4
Bilanciatori del carico di rete proxy
  • esterno globale
  • esterno regionale
  • classica
  • interno tra regioni
  • interno regionale
Bilanciatori del carico di rete passthrough
  • esterno regionale
  • interno regionale

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 serie di piattaforme, come Compute Engine e Google Kubernetes Engine (GKE), nonché ai backend esterni al di fuori diGoogle Cloud. Google Cloud

Il seguente diagramma fornisce una panoramica di alto livello dei diversi tipi di bilanciatori del carico delle applicazioni che possono essere implementati esternamente o internamente a seconda che la tua applicazione sia rivolta a internet o interna.

Diversi tipi di bilanciatori del carico delle applicazioni
Diversi tipi di bilanciatori del carico delle applicazioni.

I bilanciatori del carico delle applicazioni esterni sono implementati come servizi gestiti su Google Front End (GFE) o su proxy Envoy. I client possono connettersi a questi bilanciatori del carico da qualsiasi punto di internet. Nota quanto segue:

  • Questi bilanciatori del carico possono essere implementati nelle seguenti modalità: globale, regionale o classica.
  • I bilanciatori del carico delle applicazioni esterni globali supportano i backend in più regioni.
  • I bilanciatori del carico delle applicazioni esterni regionali supportano i backend solo in una singola regione.
  • I bilanciatori del carico delle applicazioni classici sono globali nel livello Premium. Nel livello Standard, possono distribuire il traffico ai backend in una sola regione.
  • I bilanciatori del carico delle applicazioni utilizzano il proxy open source Envoy per abilitare le funzionalità di gestione avanzata del traffico.

I bilanciatori del carico delle applicazioni 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. 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. Tieni presente quanto segue:

  • Questi bilanciatori del carico possono essere implementati nelle seguenti modalità: regionale o interregionale.
  • I bilanciatori del carico delle applicazioni interni regionali supportano i backend solo in una singola regione.
  • I bilanciatori del carico delle applicazioni interni tra regioni supportano i backend in più regioni e sono sempre accessibili a livello globale. I client di qualsiasi regioneGoogle Cloud possono inviare traffico al bilanciatore del carico.

Per saperne di più sui bilanciatori del carico delle applicazioni, consulta la Panoramica del bilanciatore del carico delle applicazioni.

Bilanciatori del carico di rete

I bilanciatori del carico di rete sono bilanciatori del carico di livello 4 che possono 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 proxy inverso con supporto per controlli avanzati del traffico e backend on-premise e in altri ambienti cloud. Scegli un bilanciatore del carico di rete passthrough se vuoi preservare l'indirizzo IP di origine dei pacchetti client, preferisci il ritorno diretto del server per le risposte o 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 proxy inverso di livello 4 che distribuiscono il traffico TCP alle istanze di macchine virtuali (VM) nella tua rete VPC. Google CloudIl traffico viene terminato al livello di bilanciamento del carico e poi inoltrato al backend disponibile più vicino utilizzando TCP.

Il seguente diagramma fornisce una panoramica di alto livello dei diversi tipi di bilanciatori del carico di rete proxy che possono essere implementati esternamente o internamente a seconda che la tua applicazione sia rivolta a internet o interna.

Diversi tipi di bilanciatori del carico di rete proxy
Diversi tipi di bilanciatori del carico di rete proxy.

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 Google Cloud , on-premise o in altri ambienti cloud. Questi bilanciatori del carico sono basati su Google Front End (GFE) o su proxy Envoy.

Questi bilanciatori del carico possono essere implementati nelle seguenti modalità: globale, regionale o classica.

  • I bilanciatori del carico di rete proxy esterni globali supportano i backend in più regioni.
  • I bilanciatori del carico di rete proxy esterni regionali supportano i backend in una singola regione.
  • I bilanciatori del carico di rete proxy classici sono globali nel livello Premium. Nel livello Standard, possono distribuire il traffico ai backend in una sola regione.

I bilanciatori del carico di rete proxy interni sono bilanciatori del carico di livello 4 regionali basati su proxy Envoy che ti consentono di eseguire e scalare il traffico di servizio TCP utilizzando un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o ai client connessi alla tua rete VPC.

Questi bilanciatori del carico possono essere implementati in una delle seguenti modalità: regionale o cross-region.

  • I bilanciatori del carico di rete proxy interni regionali supportano i backend solo in una singola regione.
  • I bilanciatori del carico di rete proxy interni tra regioni supportano i backend in più regioni e sono sempre accessibili a livello globale. I client di qualsiasi regioneGoogle Cloud possono inviare traffico al bilanciatore del carico.

Per saperne di più sui bilanciatori del carico di rete proxy, consulta la panoramica 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. Sono implementati utilizzando il networking virtuale Andromeda e Google Maglev.

Come suggerisce il nome, questi bilanciatori del carico non sono proxy. I pacchetti bilanciati vengono ricevuti dalle VM di backend con gli indirizzi IP di origine e destinazione, il protocollo e, se il protocollo è basato su porta, le porte di origine e destinazione invariati. Le connessioni con bilanciamento del carico terminano sui backend. Le risposte delle VM di backend vanno direttamente ai client, non di nuovo attraverso il bilanciatore del carico. Il termine del settore per questa operazione è ritorno diretto al server (DSR).

Questi bilanciatori del carico, come illustrato nell'immagine seguente, vengono implementati in due modalità, a seconda che il bilanciatore del carico sia rivolto a internet o interno.

Diversi tipi di bilanciatori del carico di rete passthrough
Diversi tipi di bilanciatori del carico di rete passthrough.
  • I bilanciatori del carico di rete passthrough esterni sono basati su Maglev. I client possono connettersi a questi bilanciatori del carico da qualsiasi luogo su internet, indipendentemente dai loro Network Service Tiers. Il bilanciatore del carico può ricevere traffico anche da VM con indirizzi IP esterni o da VM che hanno accesso a internet tramite Cloud NAT o NAT basata su istanza. Google Cloud Google Cloud

    I backend per i bilanciatori del carico di rete passthrough esterni possono essere implementati utilizzando un servizio di backend o un pool di destinazione. Per i nuovi deployment, ti consigliamo di utilizzare i servizi di backend.

  • I bilanciatori del carico di rete passthrough interni sono basati sullo stack di virtualizzazione di rete Andromeda. Un bilanciatore del carico di rete passthrough interno ti consente di bilanciare il carico del traffico TCP/UDP con un indirizzo IP di bilanciamento del carico interno accessibile solo ai sistemi nella stessa rete VPC o ai sistemi connessi alla tua rete VPC. Questo bilanciatore del carico può essere configurato solo nel livello Premium.

Per saperne di più sui bilanciatori del carico di rete passthrough, consulta Bilanciatore del carico di rete passthrough.

Tecnologie sottostanti dei Google Cloud bilanciatori del carico

La tabella seguente elenca la tecnologia sottostante su cui è basato ogni bilanciatore del caricoGoogle Cloud .

  • I Google Front End (GFE) sono sistemi distribuiti e software-defined che si trovano nei punti di presenza (POP) di Google ed eseguono il bilanciamento del carico globale in combinazione con 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 di servizio e perimetrale open source, progettato per applicazioni cloud-native.
Bilanciatore del carico Tecnologia
Bilanciatore del carico delle applicazioni esterno globale Google Front End (GFE) basato su Envoy
Bilanciatore del carico delle applicazioni classico GFE
Bilanciatore del carico delle applicazioni esterno regionale Envoy
Bilanciatore del carico delle applicazioni interno tra regioni Envoy
Bilanciatore del carico delle applicazioni interno regionale Envoy
Bilanciatore del carico di rete proxy esterno globale GFE basato su Envoy
Bilanciatore del carico di rete proxy classico GFE
Bilanciatore del carico di rete proxy esterno regionale Envoy
Bilanciatore del carico di rete proxy interno regionale Envoy
Bilanciatore del carico di rete proxy interno tra regioni Envoy
Bilanciatore del carico di rete passthrough esterno Maglev
Bilanciatore del carico di rete passthrough interno Andromeda

Scelta di un bilanciatore del carico

Per determinare quale prodotto Cloud Load Balancing utilizzare, devi innanzitutto determinare il tipo di traffico che i bilanciatori del carico devono gestire. Come regola generale, sceglierai un bilanciatore del carico delle applicazioni quando hai bisogno di un set di funzionalità flessibili per le tue 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 ai requisiti dell'applicazione: se la tua applicazione è esterna (per internet) o interna, se hai bisogno di backend su cui è stato eseguito il deployment a livello globale o regionale e se hai bisogno del livello Premium o Standard di Network Service Tiers.

Il seguente diagramma mostra tutte le modalità di deployment disponibili per Cloud Load Balancing. Per maggiori dettagli, consulta la guida Scegliere un bilanciatore del carico.

Scegli un bilanciatore del carico.
Scegli un bilanciatore del carico (fai clic per ingrandire).

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.

Riepilogo dei tipi di bilanciatori del carico Google Cloud

La tabella seguente fornisce dettagli, ad esempio il livello del 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 Globale esterno 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

ESTERNO2
Interno a livello di regione3 HTTP o HTTPS Livello Premium INTERNAL_MANAGED
Interno tra regioni HTTP o HTTPS Livello Premium INTERNAL_MANAGED
Bilanciatori del carico di rete proxy Globale esterno 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 a livello di regione3 TCP senza offload SSL Livello Premium INTERNAL_MANAGED
Interno tra regioni 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

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 utilizzato 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 un Google Front End (GFE) o sul proxy Envoy open source. In uno schema di bilanciamento del carico di tipo gestito, le richieste vengono indirizzate a GFE o al proxy Envoy.

2 È possibile collegare EXTERNAL_MANAGED servizi di backend a EXTERNAL regole di forwarding. 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 da client nella stessa regione del bilanciatore del carico. Tuttavia, puoi consentire il traffico dai client di altre regioni abilitando l'accesso globale nella regola di forwarding.

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 fa spesso riferimento a questo strumento per svolgere 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 assistenza dettagliata per qualsiasi comando gcloud utilizzando il flag --help.

    gcloud compute http-health-checks create --help
    
  • La Google Cloud console: le attività di bilanciamento del carico possono essere eseguite utilizzando la Google Cloud console.

  • L'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 Infrastructure as Code open source come Terraform.

Passaggi successivi