Panoramica del bilanciatore del carico di rete proxy esterno

Questo documento introduce i concetti che devi comprendere per configurare un bilanciatore del carico di rete proxy esterno di Google Cloud.

Il bilanciatore del carico di rete proxy esterno è un bilanciatore del carico proxy inverso che distribuisce il traffico TCP proveniente da internet alle istanze di macchine virtuali (VM) nella rete VPC (Virtual Private Cloud) di Google Cloud. Quando si utilizza un bilanciatore del carico di rete proxy esterno, il traffico utente TCP o SSL in entrata viene terminato presso il bilanciatore del carico. Una nuova connessione inoltra quindi il traffico al backend più vicino disponibile utilizzando TCP o SSL (opzione consigliata). Per altri casi d'uso, consulta la panoramica del bilanciatore del carico di rete proxy.

I bilanciatori del carico di rete proxy esterni consentono di utilizzare un singolo indirizzo IP per tutti gli utenti in tutto il mondo. Il bilanciatore del carico instrada automaticamente il traffico ai backend più vicini all'utente.

In questo esempio, il traffico SSL proveniente dagli utenti in Iowa e Boston viene terminato al livello di bilanciamento del carico e viene stabilita una connessione separata con il backend selezionato.

Cloud Load Balancing con terminazione SSL.
Cloud Load Balancing con terminazione SSL (fai clic per ingrandire).

Modalità di funzionamento

Puoi configurare un bilanciatore del carico di rete proxy esterno nelle seguenti modalità:

  • Un bilanciatore del carico di rete proxy classico è implementato in Google Front End (GFE) distribuiti a livello globale. Questo bilanciatore del carico può essere configurato per gestire il traffico TCP o SSL utilizzando rispettivamente un proxy TCP o un proxy SSL di destinazione. Con il livello Premium, il bilanciatore del carico può essere configurato come servizio di bilanciamento del carico globale. Con il livello Standard, questo bilanciatore del carico è configurato come servizio di bilanciamento del carico a livello di regione. I bilanciatori del carico di rete proxy classici possono essere utilizzati anche per altri protocolli che utilizzano SSL, come WebSocket e IMAP su SSL.
  • Un bilanciatore del carico di rete proxy esterno globale è implementato su GFE distribuiti a livello globale e supporta funzionalità di gestione avanzata del traffico. Questo bilanciatore del carico può essere configurato per gestire il traffico TCP o SSL utilizzando rispettivamente un proxy TCP di destinazione o un proxy SSL di destinazione. Questo bilanciatore del carico è configurato come servizio di bilanciamento del carico globale con il livello Premium. I bilanciatori del carico di rete proxy esterni globali possono essere utilizzati anche per altri protocolli che utilizzano SSL, come WebSocket e IMAP su SSL.
  • Nello stack software open source proxy Envoy, è implementato un bilanciatore del carico di rete proxy esterno regionale. Può gestire solo il traffico TCP. È configurato come servizio di bilanciamento del carico a livello di regione e può utilizzare il livello Premium o Standard.

Identifica la modalità

Per determinare la modalità di un bilanciatore del carico, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Nella scheda Bilanciatori del carico sono visualizzati il tipo, il protocollo e la regione del bilanciatore del carico. Se la regione è vuota, il bilanciatore del carico è globale.

    La tabella seguente riassume come identificare la modalità del bilanciatore del carico.

    Modalità bilanciatore del carico Tipo di bilanciatore del carico Tipo di accesso Regione
    Bilanciatore del carico di rete proxy classico Rete (versione classica del proxy) Esterna
    Bilanciatore del carico di rete proxy esterno globale Rete (proxy) Esterna
    Bilanciatore del carico di rete proxy esterno regionale Rete (proxy) Esterna Specifica una regione

gcloud

  1. Usa il comando gcloud compute forwarding-rules describe:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME
    
  2. Nell'output comando, controlla lo schema di bilanciamento del carico, la regione e il livello di rete. La tabella seguente riassume come identificare la modalità del bilanciatore del carico.

    Modalità bilanciatore del carico Schema di bilanciamento del carico Regola di forwarding Livello di rete
    Bilanciatore del carico di rete proxy classico EXTERNAL Globale Standard o Premium
    Bilanciatore del carico di rete proxy esterno globale EXTERNAL_MANAGED Globale Premium
    Bilanciatore del carico di rete proxy esterno regionale EXTERNAL_MANAGED Regionale Standard o Premium

Architettura

I seguenti diagrammi mostrano i componenti dei bilanciatori del carico di rete proxy esterni globali e regionali.

Globale

Questo diagramma mostra i componenti di un deployment del bilanciatore del carico di rete proxy esterno globale. Questa architettura si applica sia al bilanciatore del carico di rete proxy esterno globale sia al bilanciatore del carico di rete proxy classico nel livello Premium.

Componenti del bilanciatore del carico di rete proxy esterno globale.
Componenti del bilanciatore del carico di rete proxy esterno globale (fai clic per ingrandire).

Regionale

Questo diagramma mostra i componenti di un deployment del bilanciatore del carico di rete proxy esterno regionale.

Componenti del bilanciatore del carico di rete proxy esterno regionale.
Componenti del bilanciatore del carico di rete proxy esterno regionale (fai clic per ingrandire).

Di seguito sono riportati i componenti dei bilanciatori del carico di rete proxy esterni.

Subnet solo proxy

La subnet solo proxy fornisce un insieme di indirizzi IP che Google utilizza per eseguire proxy Envoy per tuo conto. Devi creare una subnet solo proxy in ogni regione di una rete VPC in cui utilizzi i bilanciatori del carico. Il flag --purpose per questa subnet solo proxy è impostato su REGIONAL_MANAGED_PROXY. Tutti i bilanciatori del carico basati su Envoy a livello di regione nella stessa regione e nella stessa rete VPC condividono un pool di proxy Envoy dalla stessa subnet solo proxy.

Le VM o gli endpoint di backend di tutti i bilanciatori del carico in una regione e in una rete VPC ricevono connessioni dalla subnet solo proxy.

Punti da ricordare:

  • Le subnet solo proxy vengono utilizzate solo per i proxy Envoy, non per i tuoi backend.
  • L'indirizzo IP del bilanciatore del carico non si trova nella subnet solo proxy. L'indirizzo IP del bilanciatore del carico è definito dalla regola di forwarding gestito esterna.

Regole di forwarding e indirizzi IP

Le regole di forwarding instradano il traffico per indirizzo IP, porta e protocollo a una configurazione di bilanciamento del carico che consiste in un proxy di destinazione e un servizio di backend.

Ogni regola di forwarding fa riferimento a un singolo indirizzo IP che puoi utilizzare nei record DNS per la tua applicazione. Puoi prenotare un indirizzo IP statico da utilizzare o lasciare che Cloud Load Balancing ne assegni uno. Ti consigliamo di prenotare un indirizzo IP statico. In caso contrario, devi aggiornare il record DNS con l'indirizzo IP temporaneo appena assegnato ogni volta che elimini una regola di forwarding e ne crei una nuova.

Le regole di forwarding esterno utilizzate nella definizione di questo bilanciatore del carico possono fare riferimento esattamente a una porta tra 1-65535. Per supportare più porte consecutive, devi configurare più regole di forwarding. È possibile configurare più regole di forwarding con lo stesso indirizzo IP virtuale e porte diverse; pertanto, puoi eseguire il proxy di più applicazioni con porte personalizzate separate allo stesso indirizzo IP virtuale del proxy TCP. Per ulteriori dettagli, vedi Specifiche delle porte per le regole di forwarding.

Per supportare più porte consecutive, devi configurare più regole di forwarding. È possibile configurare più regole di forwarding con lo stesso indirizzo IP virtuale e porte diverse. Puoi quindi eseguire il proxy di più applicazioni con porte personalizzate separate allo stesso indirizzo IP virtuale TCP.

La tabella seguente mette a confronto i diversi tipi di bilanciatori del carico.

Modalità bilanciatore del carico Livello di servizio di rete Regola di forwarding, indirizzo IP e schema di bilanciamento del carico Routing da internet al frontend del bilanciatore del carico
Bilanciatore del carico di rete proxy classico Livello Premium

Regola di forwarding esterno globale

Indirizzo IP esterno globale

Schema di bilanciamento del carico: EXTERNAL

Richieste indirizzate ai GFE più vicini al client su internet.
Livello Standard

Regola di forwarding esterno a livello di regione

Indirizzo IP esterno a livello di regione

Schema di bilanciamento del carico: EXTERNAL

Richieste instradate a un GFE nella regione del bilanciatore del carico.
Bilanciatore del carico di rete proxy esterno globale Livello Premium

Regola di forwarding esterno globale

Indirizzo IP esterno globale

Schema di bilanciamento del carico: EXTERNAL_MANAGED

Richieste indirizzate ai GFE più vicini al client su internet.
Bilanciatore del carico di rete proxy esterno regionale Livello Premium e Standard*

Regola di forwarding esterno a livello di regione

Indirizzo IP esterno a livello di regione

Schema di bilanciamento del carico: EXTERNAL_MANAGED

Richieste indirizzate ai proxy Envoy nella stessa regione del bilanciatore del carico.
* Non puoi utilizzare la console Google Cloud per creare un bilanciatore del carico di rete proxy esterno regionale nel livello Premium. Inoltre, per questi bilanciatori del carico nella console Google Cloud sono disponibili solo le regioni che supportano il livello Standard. Utilizza gcloud o l'API.

Proxy di destinazione

I bilanciatori del carico di rete proxy esterni terminano le connessioni dal client e creano nuove connessioni ai backend. Il proxy di destinazione instrada queste nuove connessioni al servizio di backend.

A seconda del tipo di traffico che l'applicazione deve gestire, puoi configurare un bilanciatore del carico di rete proxy esterno con un proxy TCP o SSL di destinazione.

  • Proxy TCP di destinazione: configura il bilanciatore del carico con un proxy TCP di destinazione se ti aspetti traffico TCP.
  • Proxy SSL di destinazione: configura il bilanciatore del carico con un proxy SSL di destinazione se prevedi traffico client criptato. Questo tipo di bilanciatore del carico è destinato solo al traffico non HTTP(S). Per il traffico HTTP(S), ti consigliamo di utilizzare un bilanciatore del carico delle applicazioni esterno.

Per impostazione predefinita, il proxy di destinazione non conserva le informazioni sull'indirizzo IP e sulla porta del client originali. Puoi conservare queste informazioni abilitando il protocollo PROXY sul proxy di destinazione.

Modalità bilanciatore del carico Livello di servizio di rete Proxy di destinazione
Bilanciatore del carico di rete proxy classico Livello Premium targetTcpProxies o targetSslProxies
Livello Standard targetTcpProxies o targetSslProxies
Bilanciatore del carico di rete proxy esterno globale Livello Premium targetTcpProxies o targetSslProxies
Bilanciatore del carico di rete proxy esterno regionale Livello Premium e Standard regionTargetTcpProxies

Certificati SSL

I certificati SSL sono richiesti solo se esegui il deployment di un bilanciatore del carico di rete proxy esterno globale e di un bilanciatore del carico di rete proxy classico con un proxy SSL di destinazione.

I bilanciatori del carico di rete proxy esterni che utilizzano proxy SSL di destinazione richiedono chiavi private e certificati SSL come parte della configurazione del bilanciatore del carico:

  • Google Cloud offre due metodi di configurazione per l'assegnazione di chiavi private e certificati SSL ai proxy SSL di destinazione: i certificati SSL di Compute Engine e Gestione certificati. Per una descrizione di ciascuna configurazione, vedi Metodi di configurazione dei certificati nella panoramica dei certificati SSL.

  • Google Cloud offre due tipi di certificati: autogestito e gestito da Google. Per una descrizione di ciascun tipo, consulta Tipi di certificati nella panoramica dei certificati SSL.

Servizi di backend

I servizi di backend indirizzano il traffico in entrata a uno o più backend collegati. Ciascun backend è composto da un gruppo di istanze o da un gruppo di endpoint di rete e da informazioni sulla capacità di servizio del backend. La capacità di servizio backend può essere basata sulla CPU o sulle richieste al secondo (RPS).

Ogni bilanciatore del carico ha una singola risorsa del servizio di backend che specifica il controllo di integrità da eseguire per i backend disponibili.

Le modifiche apportate al servizio di backend non sono istantanee. La propagazione delle modifiche ai GFE potrebbe richiedere diversi minuti. Per garantire interruzioni minime ai tuoi utenti, puoi abilitare il svuotamento della connessione sui servizi di backend. Le interruzioni possono verificarsi quando un backend viene terminato, rimosso manualmente o rimosso da un gestore della scalabilità automatica. Per scoprire di più sull'utilizzo dello svuotamento della connessione per ridurre al minimo le interruzioni del servizio, consulta Attivare lo svuotamento della connessione.

Per ulteriori informazioni sulla risorsa del servizio di backend, consulta Panoramica dei servizi di backend.

La tabella seguente specifica le funzionalità di backend supportate.

Modalità bilanciatore del carico Backend supportati su un servizio di backend
Gruppi di istanze NEG a livello di zona NEG internet NEG serverless NEG ibridi NEG Private Service Connect GKE
Bilanciatore del carico di rete proxy classico Usa NEG autonomi a livello di zona
Bilanciatore del carico di rete proxy esterno globale * Endpoint di tipo GCE_VM_IP_PORT*
Bilanciatore del carico di rete proxy esterno regionale Endpoint di tipo GCE_VM_IP_PORT Solo NEG a livello di regione Aggiungi un NEG Private Service Connect

* I bilanciatori del carico di rete proxy esterno globali supportano i gruppi di istanze IPv4 e IPv6 (doppio stack) e i backend NEG a livello di zona. Solo gli endpoint di tipo GCE_VM_IP_PORT supportano il doppio stack con NEG a livello di zona.

Backend e reti VPC

Tutti i backend devono trovarsi nello stesso progetto, ma possono trovarsi in reti VPC diverse. Non è necessario connettere le diverse reti VPC utilizzando il peering di rete VPC, perché i sistemi proxy GFE comunicano direttamente con i backend nelle rispettive reti VPC.

Protocollo per la comunicazione con i backend

Quando configuri un servizio di backend per un bilanciatore del carico di rete proxy esterno, imposti il protocollo che il servizio di backend utilizza per comunicare con i backend.

  • Per i bilanciatori del carico di rete proxy classici, puoi scegliere TCP o SSL.
  • Per i bilanciatori del carico di rete proxy esterni globali, puoi scegliere TCP o SSL.
  • Per i bilanciatori del carico di rete proxy esterni regionali, puoi utilizzare TCP.

Il bilanciatore del carico utilizza solo il protocollo da te specificato e non tenta di negoziare una connessione con l'altro protocollo.

Regole firewall

Le seguenti regole firewall sono obbligatorie:

  • Per i bilanciatori del carico di rete proxy classici, una regola firewall allow in entrata per consentire al traffico dai GFE di raggiungere i backend.
  • Per i bilanciatori del carico di rete proxy esterni globali, una regola firewall allow in entrata per consentire al traffico dai GFE di raggiungere i backend.
  • Per i bilanciatori del carico di rete proxy esterni regionali, una regola firewall in entrata per consentire al traffico dalla subnet solo proxy di raggiungere i backend.
  • Una regola firewall allow in entrata per consentire al traffico proveniente dagli intervalli dei probe del controllo di integrità di raggiungere i tuoi backend. Per saperne di più sui probe del controllo di integrità e sul motivo per cui è necessario consentire il traffico proveniente da questi probe, consulta Intervalli IP e regole firewall dei probe.

Le regole firewall vengono implementate a livello di istanza VM, non a livello di proxy GFE. Non puoi utilizzare regole firewall per impedire al traffico di raggiungere il bilanciatore del carico.

Le porte per queste regole firewall devono essere configurate come segue:

  • Consenti il traffico verso la porta di destinazione per il controllo di integrità di ciascun servizio di backend.
  • Per i backend di gruppi di istanze: determina le porte da configurare mediante la mappatura tra la porta denominata del servizio di backend e i numeri di porta associati a quella porta denominata su ciascun gruppo di istanze. I numeri di porta possono variare tra i gruppi di istanze assegnati allo stesso servizio di backend.
  • Per i backend NEG a livello di zona GCE_VM_IP_PORT NEG: consenti il traffico ai numeri di porta degli endpoint.

La tabella seguente riassume gli intervalli di indirizzi IP di origine richiesti per le regole firewall.

Modalità bilanciatore del carico Intervalli di fonti dei controlli di integrità Intervalli di origine delle richieste
Bilanciatore del carico di rete proxy esterno globale
  • 35.191.0.0/16
  • 130.211.0.0/22

Per il traffico IPv6 verso i backend:

  • 2600:2d00:1:b029::/64
L'origine del traffico GFE dipende dal tipo di backend:
  • Gruppi di istanze e NEG a livello di zona (GCE_VM_IP_PORT):
    • 130.211.0.0/22
    • 35.191.0.0/16

    Per il traffico IPv6 verso i backend:

    • 2600:2d00:1:1::/64
Bilanciatore del carico di rete proxy classico
  • 35.191.0.0/16
  • 130.211.0.0/22
Questi intervalli si applicano ai probe del controllo di integrità e alle richieste dal GFE.
Bilanciatore del carico di rete proxy esterno regionale1, 2
  • 35.191.0.0/16
  • 130.211.0.0/22
Questi intervalli si applicano ai probe dei controlli di integrità.

* Non è necessario aggiungere gli intervalli di probe del controllo di integrità di Google a una lista consentita per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e a livello di zona in un singolo servizio di backend, devi aggiungere gli intervalli di probe del controllo di integrità di Google a una lista consentita per i NEG a livello di zona.

Per i NEG internet a livello di regione, i controlli di integrità sono facoltativi. Il traffico proveniente dai bilanciatori del carico che utilizzano NEG internet a livello di regione proviene dalla subnet solo proxy e viene quindi tradotto (utilizzando Cloud NAT) in indirizzi IP NAT manuali o allocati automaticamente. Questo traffico include sia i probe del controllo di integrità sia le richieste degli utenti dal bilanciatore del carico ai backend. Per maggiori dettagli, consulta NEG a livello di regione: utilizzo di Cloud NAT per il traffico in uscita.

Indirizzi IP di origine

L'indirizzo IP di origine dei pacchetti, come visto dai backend, non è l'indirizzo IP esterno di Google Cloud del bilanciatore del carico. In altre parole, ci sono due connessioni TCP.

Per i bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete proxy esterni globali:
  • Connessione 1, dal client originale al bilanciatore del carico (GFE):

    • Indirizzo IP di origine: il client originale (o l'indirizzo IP esterno se il client si trova dietro a NAT o a un proxy di inoltro).
    • Indirizzo IP di destinazione: l'indirizzo IP del bilanciatore del carico.
  • Connessione 2, dal bilanciatore del carico (GFE) all'endpoint o alla VM di backend:

    • Indirizzo IP di origine: un indirizzo IP in uno degli intervalli specificati in Regole firewall.

    • Indirizzo IP di destinazione: l'indirizzo IP interno della VM o del container di backend nella rete VPC.

Per i bilanciatori del carico di rete proxy esterni regionali:
  • Connessione 1, dal client originale al bilanciatore del carico (subnet solo proxy):

    • Indirizzo IP di origine: il client originale (o l'indirizzo IP esterno se il client si trova dietro a NAT o a un proxy di inoltro).
    • Indirizzo IP di destinazione: l'indirizzo IP del bilanciatore del carico.
  • Connessione 2, dal bilanciatore del carico (subnet solo proxy) alla VM o all'endpoint di backend:

    • Indirizzo IP di origine:un indirizzo IP nella subnet solo proxy condiviso tra tutti i bilanciatori del carico basati su Envoy di cui è stato eseguito il deployment nella stessa regione e nella stessa rete del bilanciatore del carico.

    • Indirizzo IP di destinazione: l'indirizzo IP interno della VM o del container di backend nella rete VPC.

Porte aperte

I bilanciatori del carico di rete proxy esterni sono bilanciatori del carico proxy inversi. Il bilanciatore del carico termina le connessioni in entrata, quindi apre nuove connessioni dal bilanciatore del carico ai backend. I bilanciatori del carico vengono implementati usando proxy Google Front End (GFE).

I GFE hanno diverse porte aperte per supportare altri servizi Google che vengono eseguiti sulla stessa architettura. Quando esegui una scansione delle porte, potresti vedere altre porte aperte per altri servizi Google in esecuzione su GFE.

Eseguire una scansione delle porte sull'indirizzo IP di un bilanciatore del carico basato su GFE non è utile dal punto di vista del controllo per i seguenti motivi:

  • Una scansione delle porte (ad esempio, con nmap) di solito non prevede alcun pacchetto di risposta o un pacchetto RST TCP quando si esegue il probe SYN TCP. I GFE invieranno pacchetti SYN-ACK in risposta ai probe SYN solo per le porte su cui è stata configurata una regola di forwarding. I GFE inviano pacchetti ai tuoi backend solo in risposta ai pacchetti inviati all'indirizzo IP del tuo bilanciatore del carico e alla porta di destinazione configurata nella relativa regola di forwarding. I pacchetti inviati a una porta o un indirizzo IP diversi non vengono inviati ai backend.

    I GFE implementano funzionalità di sicurezza come Google Cloud Armor. Con Google Cloud Armor Standard, i GFE offrono protezione sempre attiva dagli attacchi DDoS volumetrici e basati su protocollo e dai flood SYN. Questa protezione è disponibile anche se non hai configurato esplicitamente Google Cloud Armor. Ti verranno addebitati dei costi solo se configuri i criteri di sicurezza o se ti registri a Managed Protection Plus.

  • I pacchetti inviati all'indirizzo IP del bilanciatore del carico possono ricevere risposta da qualsiasi GFE nel parco risorse di Google. Tuttavia, la scansione della combinazione di indirizzo IP e porta di destinazione di un bilanciatore del carico interroga solo un singolo GFE per connessione TCP. L'indirizzo IP del bilanciatore del carico non è assegnato a un singolo dispositivo o sistema. Pertanto, l'analisi dell'indirizzo IP di un bilanciatore del carico basato su GFE non esegue l'analisi di tutti i GFE nel parco risorse Google.

Tenendo conto di ciò, di seguito sono riportati alcuni modi più efficaci per verificare la sicurezza delle istanze di backend:

  • Un revisore di sicurezza deve controllare la configurazione delle regole di forwarding per verificare la configurazione del bilanciatore del carico. Le regole di forwarding definiscono la porta di destinazione per cui il bilanciatore del carico accetta i pacchetti e li inoltra ai backend. Per i bilanciatori del carico basati su GFE, ogni regola di forwarding esterno può fare riferimento solo a una singola porta TCP di destinazione.

  • Un revisore di sicurezza deve esaminare la configurazione della regola firewall applicabile alle VM di backend. Le regole firewall che imposti bloccano il traffico dai GFE alle VM di backend, ma non bloccano il traffico in entrata verso i GFE. Per le best practice, consulta la sezione delle regole firewall.

Architettura VPC condiviso

I bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete proxy esterni regionali supportano i deployment che utilizzano reti VPC condiviso. Un VPC condiviso consente di mantenere una chiara separazione delle responsabilità tra amministratori di rete e sviluppatori di servizi. I team di sviluppo possono concentrarsi sulla creazione di servizi nei progetti di servizio, mentre i team dell'infrastruttura di rete possono eseguire il provisioning e amministrare il bilanciamento del carico. Se non hai già familiarità con il VPC condiviso, leggi la documentazione di panoramica sul VPC condiviso.

Indirizzo IP Regola di forwarding Proxy di destinazione Componenti di backend
Un indirizzo IP esterno deve essere definito nello stesso progetto del bilanciatore del carico. La regola di forwarding esterno deve essere definita nello stesso progetto delle istanze di backend (il progetto di servizio). Il proxy TCP o SSL di destinazione deve essere definito nello stesso progetto delle istanze di backend.

Per i bilanciatori del carico di rete proxy classici, è necessario definire un servizio di backend globale nello stesso progetto delle istanze di backend. Queste istanze devono trovarsi in gruppi di istanze collegati al servizio di backend come backend. I controlli di integrità associati ai servizi di backend devono essere definiti nello stesso progetto del servizio di backend.

Per i bilanciatori del carico di rete proxy esterni regionali, le VM backend in genere si trovano in un progetto di servizio. Nel progetto di servizio devono essere definiti un servizio di backend a livello di regione e il controllo di integrità.

Distribuzione del traffico

Quando aggiungi un gruppo di istanza di backend o un NEG a un servizio di backend, specifichi una modalità di bilanciamento del carico, che definisce un metodo che misura il carico e la capacità target del backend.

Per i bilanciatori del carico di rete proxy esterni, la modalità di bilanciamento può essere CONNECTION o UTILIZATION:

  • Se la modalità di bilanciamento del carico è CONNECTION, il carico viene distribuito in base al numero totale di connessioni che il backend è in grado di gestire.
  • Se la modalità di bilanciamento del carico è UTILIZATION, il carico viene distribuito in base all'utilizzo delle istanze in un gruppo di istanze. Questa modalità di bilanciamento si applica solo ai backend di gruppi di istanze VM.

La modalità di distribuzione del traffico tra i backend dipende dalla modalità del bilanciatore del carico.

Bilanciatore del carico di rete proxy classico

Per il bilanciatore del carico di rete proxy classico, la modalità di bilanciamento viene utilizzata per selezionare il backend più vantaggioso (gruppo di istanze o NEG). Il traffico viene quindi distribuito in modalità "round robin" tra le istanze o gli endpoint all'interno del backend.

Come vengono distribuite le connessioni

Un bilanciatore del carico di rete proxy classico può essere configurato come servizio di bilanciamento del carico globale con il livello Premium e come servizio regionale nel livello Standard.

La modalità di bilanciamento e la scelta della destinazione determinano la pienezza del backend dal punto di vista di ogni NEG GCE_VM_IP_PORT a livello di zona, gruppo di istanze a livello di zona o zona di un gruppo di istanze a livello di regione. Il traffico viene quindi distribuito all'interno di una zona mediante hashing coerente.

Per il livello Premium:

  • Puoi avere un solo servizio di backend e quest'ultimo può avere backend in più regioni. Per il bilanciamento del carico globale, esegui il deployment dei backend in più regioni e il bilanciatore del carico indirizza automaticamente il traffico alla regione più vicina all'utente. Se una regione ha raggiunto la capacità massima, il bilanciatore del carico indirizza automaticamente le nuove connessioni a un'altra regione con capacità disponibile. Le connessioni utente esistenti rimangono nella regione attuale.

  • Google pubblicizza l'indirizzo IP del bilanciatore del carico da tutti i punti di presenza, in tutto il mondo. Ogni indirizzo IP del bilanciatore del carico è anycast globale.

  • Se configuri un servizio di backend con backend in più regioni, i Google Front End (GFE) tentano di indirizzare le richieste a gruppi di istanza di backend o NEG integri nella regione più vicina all'utente.

Per il livello Standard:

  • Google pubblicizza l'indirizzo IP del bilanciatore del carico dai punti di presenza associati alla regione della regola di forwarding. Il bilanciatore del carico utilizza un indirizzo IP esterno a livello di regione.

  • Puoi configurare solo i backend nella stessa regione della regola di forwarding. Il bilanciatore del carico indirizza le richieste solo ai backend integri in quell'unica regione.

Bilanciatore del carico di rete proxy esterno globale

Per il bilanciatore del carico di rete proxy esterno globale, la distribuzione del traffico si basa sulla modalità di bilanciamento del carico e sul criterio per le località di bilanciamento del carico.

La modalità di bilanciamento determina la ponderazione e la frazione del traffico da inviare a ciascun gruppo (gruppo di istanze o NEG). Il criterio per le località di bilanciamento del carico (LocalityLbPolicy) determina il modo in cui viene bilanciato il carico dei backend all'interno del gruppo.

Quando un servizio di backend riceve traffico, indirizza innanzitutto il traffico a un backend (gruppo di istanze o NEG) in base alla modalità di bilanciamento del backend. Dopo aver selezionato un backend, il traffico viene distribuito tra le istanze o gli endpoint in quel gruppo di backend in base al criterio della località di bilanciamento del carico.

Per ulteriori informazioni, consulta le seguenti risorse:

Come vengono distribuite le connessioni

Un bilanciatore del carico di rete proxy esterno globale può essere configurato come servizio di bilanciamento del carico globale con il livello Premium

La modalità di bilanciamento e la scelta della destinazione determinano la pienezza del backend dal punto di vista di ogni NEG GCE_VM_IP_PORT o gruppo di istanze a livello di zona. Il traffico viene quindi distribuito all'interno di una zona mediante hashing coerente.

  • Puoi avere un solo servizio di backend e quest'ultimo può avere backend in più regioni. Per il bilanciamento del carico globale, esegui il deployment dei backend in più regioni e il bilanciatore del carico indirizza automaticamente il traffico alla regione più vicina all'utente. Se una regione ha raggiunto la capacità massima, il bilanciatore del carico indirizza automaticamente le nuove connessioni a un'altra regione con capacità disponibile. Le connessioni utente esistenti rimangono nella regione attuale.

  • Google pubblicizza l'indirizzo IP del bilanciatore del carico da tutti i punti di presenza, in tutto il mondo. Ogni indirizzo IP del bilanciatore del carico è anycast globale.

  • Se configuri un servizio di backend con backend in più regioni, i Google Front End (GFE) tentano di indirizzare le richieste a gruppi di istanza di backend o NEG integri nella regione più vicina all'utente.

Bilanciatore del carico di rete proxy esterno regionale

Per i bilanciatori del carico di rete proxy esterni regionali, la distribuzione del traffico si basa sulla modalità di bilanciamento del carico e sul criterio per le località di bilanciamento del carico.

La modalità di bilanciamento determina la ponderazione e la frazione di traffico che deve essere inviata a ciascun gruppo (gruppo di istanze o NEG). Il criterio per le località di bilanciamento del carico (LocalityLbPolicy) determina il modo in cui viene bilanciato il carico dei backend all'interno del gruppo.

Quando un servizio di backend riceve traffico, indirizza innanzitutto il traffico a un backend (gruppo di istanze o NEG) in base alla modalità di bilanciamento del backend. Dopo aver selezionato un backend, il traffico viene distribuito tra le istanze o gli endpoint in quel gruppo di backend in base al criterio della località di bilanciamento del carico.

Per ulteriori informazioni, consulta le seguenti risorse:

Affinità sessione

Affinità sessione invia tutte le richieste dallo stesso client allo stesso backend se il backend è integro e ha capacità.

I bilanciatori del carico di rete proxy esterni (globali e a livello di regione) offrono i seguenti tipi di affinità sessione:

  • NONE. L'affinità sessione non è impostata per il bilanciatore del carico.
  • Affinità IP client, che inoltra tutte le richieste dallo stesso indirizzo IP client allo stesso backend.

Failover

Se un backend non è integro, il traffico viene reindirizzato automaticamente ai backend integro all'interno della stessa regione. Se tutti i backend all'interno di una regione non sono integri, il traffico viene distribuito su backend integri in altre regioni (solo in modalità globale e classica). Se tutti i backend sono in stato non integro, il bilanciatore del carico elimina il traffico.

Bilanciamento del carico per le applicazioni GKE

Se stai creando applicazioni in Google Kubernetes Engine, puoi utilizzare i NEG autonomi per bilanciare il carico del traffico direttamente nei container. Con i NEG autonomi, sei responsabile della creazione dell'oggetto Service che crea il NEG, quindi di associare il NEG al servizio di backend in modo che il bilanciatore del carico possa connettersi ai pod.

Per la documentazione correlata, consulta Bilanciamento del carico nativo del container tramite NEG autonomi a livello di zona.

Limitazioni

  • Non puoi creare un bilanciatore del carico di rete proxy esterno regionale nel livello Premium utilizzando la console Google Cloud. Inoltre, per questi bilanciatori del carico nella console Google Cloud sono disponibili solo le regioni che supportano il livello Standard. Utilizza invece gcloud CLI o l'API.

  • Il bilanciatore del carico di rete proxy esterno globale non crea una connessione TCP al backend fino a quando il client non invia i dati al bilanciatore del carico. Ciò significa che le applicazioni che dipendono dal server (o dal backend) per inviare il primo pacchetto di dati non funzioneranno.

  • Le seguenti limitazioni si applicano solo ai bilanciatori del carico di rete del proxy classico e al bilanciatore del carico di rete del proxy esterno globale il cui deployment è stato eseguito con un proxy di destinazione SSL:

    • I bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete con proxy esterno globale non supportano l'autenticazione basata su certificati client, nota anche come autenticazione TLS reciproca.

    • I bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete con proxy esterno globale supportano solo caratteri minuscoli nei domini in un attributo nome comune (CN) o in un attributo nome alternativo del soggetto (SAN) del certificato. I certificati con caratteri maiuscoli nei domini vengono restituiti solo se impostati come certificato principale nel proxy di destinazione.

Passaggi successivi