Panoramica di Cloud Load Balancing

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 abbiano 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 il nostro parco dispositivi Google Front End (GFE) in più di 80 diverse località in tutto il mondo, tutte con un unico indirizzo IP anycast. Implementa un rigoroso controllo giurisdizionale con i nostri bilanciatori del carico proxy regionali, mantenendo i backend e i proxy in un'area geografica 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 elevate prestazioni del ritorno diretto del server (DSR).

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

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

  • 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 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 man mano che gli utenti e il traffico crescono, compresa la gestione semplificata di enormi picchi istantanei imprevisti e istantanei deviando il traffico ad altre regioni nel mondo che possono supportarlo. La scalabilità automatica non richiede tempi di preparazione: puoi scalare da zero all'intero traffico in pochi secondi.

  • Bilanciamento del carico software-defined. Cloud Load Balancing è un servizio gestito completamente distribuito e software-defined, progettato per amministrare tutto il tuo traffico. Non è una soluzione basata su istanze o dispositivi, quindi non si è vincolati a un'infrastruttura di bilanciamento del carico fisica e non si è costretti ad affrontare le sfide di alta disponibilità, scalabilità e gestione tipiche dei bilanciatori del carico basati sulle istanze.

  • 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 da 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'Uniform Resource Identifier.

  • Bilanciamento del carico esterno ed interno. Puoi usare 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 nelle vicinanze degli utenti e soddisfare i requisiti di alta disponibilità.

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

    Include inoltre le seguenti integrazioni:

    • Integrazione con Cloud CDN per la distribuzione 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 il bilanciatore del carico delle applicazioni esterno globale, per l'Application Load Balancer classico, per il bilanciatore del carico di rete proxy esterno e per il bilanciatore del carico di rete 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 pagina Configurare la protezione DDoS avanzata della rete.

Tipi di bilanciatori del carico

Cloud Load Balancing offre due tipi di bilanciatori del carico: Application Load Balancers e Network Load Balancer. Sceglierai un bilanciatore del carico delle applicazioni quando hai bisogno di un bilanciatore del carico di livello 7 per le applicazioni con traffico HTTP(S). Sceglierai un bilanciatore del carico di rete se ti serve 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

Gli Application Load Balancer sono bilanciatori del carico di livello 7 basati su proxy che consentono di eseguire e scalare i servizi dietro un indirizzo IP anycast. Il bilanciatore del carico delle applicazioni distribuisce il traffico HTTP e HTTPS a backend ospitati su diverse piattaforme Google Cloud, come Compute Engine e Google Kubernetes Engine (GKE), nonché a backend esterni a Google Cloud.

È possibile eseguire il deployment dei bilanciatori del carico delle applicazioni esternamente o internamente a seconda che l'applicazione sia per internet o interna:

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

    • Il deployment di questi bilanciatori del carico può essere eseguito nelle seguenti modalità: globale, a livello di regione o classico.
      • 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 un'unica regione.
      • I bilanciatori del carico delle applicazioni classici sono globali nel livello Premium, ma possono essere configurati per essere effettivamente regionali nel livello Standard.
    • I bilanciatori del carico delle applicazioni utilizzano il proxy Envoy open source per abilitare funzionalità avanzate di gestione del traffico.
  • I bilanciatori del carico delle applicazioni interni 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 dell'applicazione di livello 7. Il bilanciatore del carico utilizza un indirizzo IP interno accessibile solo ai client nella stessa rete VPC o nei client connessi alla rete VPC. Tieni presente quanto segue:

    • Il deployment di questi bilanciatori del carico può essere eseguito nelle seguenti modalità: a livello di una o più regioni.
    • 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 backend in più regioni 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 delle applicazioni.

Architettura del bilanciatore del carico delle applicazioni.
Architettura del bilanciatore del carico delle applicazioni (fai clic per ingrandire).

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 dei protocolli 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 supporto per controlli del traffico e backend avanzati 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 il ritorno diretto del server per le risposte o vuoi gestire vari 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 termina al livello del bilanciamento del carico e viene inoltrato al backend più vicino disponibile tramite TCP. Questi bilanciatori del carico sono implementati come servizi gestiti sui GFE.

È possibile eseguire il deployment dei bilanciatori del carico di rete proxy esternamente o internamente, 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 Google Cloud, on-premise o in altri ambienti cloud.

    Il deployment di questi bilanciatori del carico può essere eseguito nelle seguenti modalità: globale, a livello di regione o classico.

    • 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 un'unica regione.
    • I bilanciatori del carico di rete proxy classici sono globali nel livello Premium, ma possono essere configurati per essere effettivamente regionali nel livello Standard.
  • I bilanciatori del carico di rete proxy interni sono bilanciatori del carico regionali di Livello 4 basati su proxy di Envoy che ti consentono di eseguire e scalare il traffico di servizio TCP dietro 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 interni regionali supportano i backend solo in un'unica regione.
    • I bilanciatori del carico di rete proxy interni tra regioni supportano backend in più regioni 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.

Architettura del bilanciatore del carico di rete proxy.
Architettura del bilanciatore del carico di rete proxy (fai clic per ingrandire).

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 backend nella stessa regione del bilanciatore del carico. Sono implementate 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 del pacchetto, il protocollo e, se il protocollo è basato sulle porte, le porte di origine e di destinazione invariate. Le connessioni con bilanciamento del carico terminano in corrispondenza dei backend. Le risposte delle VM di backend passano direttamente ai client, non tramite il bilanciatore del carico. Il termine del settore è Direct Server Return (DSR).

Il deployment di questi bilanciatori del carico viene eseguito in due modalità, a seconda che il bilanciatore del carico sia per 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 dai livelli di Network Service Tiers. 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.

    Il deployment dei backend per bilanciatori del carico di rete passthrough esterni 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 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 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.

Architettura del bilanciatore del carico di rete passthrough.
Architettura del bilanciatore del carico di rete passthrough (fai clic per ingrandire).

Scelta di un bilanciatore del carico

Per determinare quale prodotto di Cloud Load Balancing utilizzare, devi prima 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). Inoltre, sceglierai un bilanciatore del carico di rete se hai bisogno di utilizzare l'offload TLS su larga scala o il supporto per UDP o se devi esporre gli indirizzi IP dei client alle tue 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 con 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 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 con proxy esterno globale 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 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
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
Versione classica HTTP o HTTPS

Globale nel livello Premium

Regionale nel livello Standard

EXTERNAL
Interno a livello di regione HTTP o HTTPS Livello Premium INTERNAL_MANAGED
Interno tra regioni 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
Versione classica TCP con offload SSL facoltativo

Globale nel livello Premium

Regionale nel livello Standard

EXTERNAL
Interno a livello di regione 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

Interna

Sempre regionale

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH e GRE Livello 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 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 chiama di frequente questo strumento per svolgere le 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 una guida 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. La documentazione di riferimento delle API descrive 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