Questo documento illustra i concetti che devi comprendere per configurare un bilanciatore del carico di rete proxy esterno Google Cloud.
Il bilanciatore del carico di rete proxy esterno è un bilanciatore del carico di 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 utilizzi un bilanciatore del carico di rete proxy esterno, il traffico TCPo SSL in entrata viene terminato al bilanciatore del carico. Una nuova connessione inoltra quindi il traffico al backenddisponibile più vicino 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 con proxy esterno ti consentono di utilizzare un unico indirizzo IP per tutti gli utenti di tutto il mondo. Il bilanciatore del carico indirizza automaticamente il traffico ai backend più vicini all'utente.
In questo esempio, il traffico SSL proveniente dagli utenti delle città A e B termina al livello del bilanciamento del carico e viene stabilita una connessione separata al backend selezionato.
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 su 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 di destinazione o un proxy SSL di destinazione. Con il livello Premium, questo bilanciatore del carico può essere configurato come servizio di bilanciamento del carico globale. Con il livello Standard, questo bilanciatore del carico viene 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 puoi essere configurato per gestire il traffico TCP o SSL utilizzando rispettivamente un proxy TCP target o un proxy SSL target. Questo bilanciatore del carico è configurato come servizio di bilanciamento del carico globale con il livello Premium. I bilanciatori del carico di rete con proxy esterno globale possono essere utilizzati anche per altri protocolli che utilizzano SSL, come WebSocket e IMAP su SSL.
- Un bilanciatore del carico di rete proxy esterno regionale è implementato nello stack software open source proxy Envoy. Può gestire solo il traffico TCP. Questo bilanciatore del carico è configurato come servizio di bilanciamento del carico a livello di regione che può utilizzare il livello Premium o Standard.
Identifica la modalità
Per determinare la modalità di un bilanciatore del carico, completa i seguenti passaggi.
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Nella scheda Bilanciatori del carico vengono visualizzati il tipo di bilanciatore del carico, il protocollo e la regione. Se la regione è vuota, il bilanciatore del carico è globale.
La tabella seguente riassume come identificare la modalità del bilanciatore del carico.
Modalità del bilanciatore del carico Tipo di bilanciatore del carico Tipo di accesso Regione Bilanciatore del carico di rete proxy classico Rete (versione classica del proxy) Esterno Bilanciatore del carico di rete proxy esterno globale Rete (proxy) Esterno Bilanciatore del carico di rete proxy esterno regionale Rete (proxy) Esterno Specifica una regione
gcloud
Utilizza il comando
gcloud compute forwarding-rules describe
:gcloud compute forwarding-rules describe FORWARDING_RULE_NAME
Nell'output del 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à del 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.
Globale
Questo diagramma mostra i componenti di un deployment di un 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.
Regionale
Questo diagramma mostra i componenti di un deployment di un bilanciatore del carico di rete proxy esterno regionale.
Di seguito sono riportati i componenti dei bilanciatori del carico di rete proxy esterni.
Subnet solo proxy
Nota: le subnet solo proxy sono necessarie solo per i bilanciatori del carico di rete proxy esterni regionali.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 della stessa subnet solo proxy.
Le VM di backend o gli endpoint di tutti i bilanciatori del carico in una regione e in una rete VPC ricevono connessioni dalla subnet solo proxy.
Aspetti da ricordare:
- Le subnet solo proxy vengono utilizzate solo per i proxy Envoy, non per i backend.
- L'indirizzo IP del bilanciatore del carico non si trova nella subnet solo proxy. L'indirizzo IP del bilanciatore del carico è definito dalla sua regola di forwarding gestita esterna.
Regole di forwarding e indirizzi IP
Le regole di forwarding instradano il traffico in base a indirizzo IP, porta e protocollo a una configurazione di bilanciamento del carico costituita da un proxy di destinazione e un servizio di backend.
Specifica dell'indirizzo IP. Ogni regola di forwarding fa riferimento a un singolo indirizzo IP che puoi utilizzare nei record DNS per la tua applicazione. Puoi scegliere di prenotare un indirizzo IP statico da utilizzare o lasciare che sia Cloud Load Balancing ad assegnarne 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.
Specifica della porta. Le regole di inoltro esterno utilizzate nella definizione di questo bilanciatore del carico possono fare riferimento a esattamente una porta compresa tra 1 e 65535. Se vuoi supportare più porte consecutive, devi configurare più regole di inoltro. È possibile configurare più regole di inoltro 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 maggiori dettagli, consulta le specifiche delle porte per le regole di inoltro.
Per supportare più porte consecutive, devi configurare più regole di inoltro. È possibile configurare più regole di inoltro con lo stesso indirizzo IP virtuale e porte diverse. Di conseguenza, puoi eseguire il proxy di più applicazioni con porte personalizzate separate allo stesso indirizzo IP virtuale del proxy TCP.
La tabella seguente mostra i requisiti regola di forwarding per i bilanciatori del carico di rete proxy esterni.
Modalità del bilanciatore del carico | Livello di servizio di rete | Regola di inoltro, indirizzo IP e schema di bilanciamento del carico | Instradamento da internet al frontend del bilanciatore del carico |
---|---|---|---|
Bilanciatore del carico di rete proxy classico | Livello Premium | Regola di forwarding external globale Schema di bilanciamento del carico: |
Le richieste instradate ai GFE più vicini al client su internet. |
Livello Standard | Regola di inoltro esterno regionale Indirizzo IP esterno regionale Schema di bilanciamento del carico: |
Richieste instradate a un GFE nella regione del bilanciatore del carico. | |
Bilanciatore del carico di rete proxy esterno globale | Livello Premium | Regola di forwarding external globale Schema di bilanciamento del carico: |
Le richieste instradate ai GFE più vicini al client su internet. |
Bilanciatore del carico di rete proxy esterno regionale | Livello Premiume Standard | Regola di inoltro esterno regionale Indirizzo IP esterno regionale Schema di bilanciamento del carico: |
Richieste inoltrate ai proxy Envoy nella stessa regione del bilanciatore del carico. |
Regole di inoltro e reti VPC
Questa sezione descrive come le regole di inoltro utilizzate dai bilanciatori del carico delle applicazioni esterni vengono associate alle reti VPC.
Modalità del bilanciatore del carico | Associazione della rete VPC |
---|---|
Bilanciatore del carico di rete proxy esterno globale Bilanciatore del carico di rete proxy classico |
Nessuna rete VPC associata. La regola di forwarding utilizza sempre un indirizzo IP che si trova al di fuori della rete VPC. Pertanto, la regola di forwarding non ha una rete VPC associata. |
Bilanciatore del carico di rete proxy esterno regionale | La rete VPC della regola di forwarding è la rete in cui è stata creata la subnet solo proxy. Puoi specificare la rete quando crei la regola di forwarding. |
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 la tua applicazione deve gestire, puoi configurare un bilanciatore del carico di rete proxy esterno con un proxy TCP target o un proxy SSL target.
- Proxy TCP di destinazione: configura il bilanciatore del carico con un proxy TCP di destinazione se prevedi 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 è pensato solo per il 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 originale. Puoi conservare queste informazioni attivando il protocollo PROXY sul proxy di destinazione.
La tabella seguente mostra i requisiti del proxy di destinazione per i bilanciatori del carico di rete proxy esterni.
Modalità del 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 obbligatori solo se esegui il deployment di un bilanciatore del carico di rete del proxy esterno globale e di un bilanciatore del carico di rete del 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 assegnare chiavi private e certificati SSL ai proxy SSL di destinazione: i certificati SSL di Compute Engine e Certificate Manager. Per una descrizione di ciascuna configurazione, consulta Metodi di configurazione dei certificati nella panoramica dei certificati SSL.
Google Cloud offre due tipi di certificati: autogestiti e gestiti 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 ingresso a uno o più backend collegati. Ogni backend è composto da un gruppo di istanze o da un gruppo di endpoint di rete e da informazioni sulla capacità di distribuzione del backend. La capacità di gestione del backend può essere basata sulla CPU o sulle richieste al secondo (RPS).
Ogni bilanciatore del carico ha una singola risorsa di 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 GFEs può richiedere diversi minuti. Per garantire interruzioni minime per gli utenti, puoi attivare il riassorbimento delle connessioni sui servizi di backend. Queste interruzioni possono verificarsi quando un backend viene terminato, rimosso manualmente o da un'autoscalabilità. 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 i diversi backend supportati nel servizio di backend dei bilanciatori del carico di rete proxy esterni.
Modalità del bilanciatore del carico | Backend supportati in 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 | Utilizzare NEG autonomi a livello di zona | ||||||
Bilanciatore del carico di rete proxy esterno globale | * | GCE_VM_IP_PORT type
endpoints * |
|||||
Bilanciatore del carico di rete proxy esterno regionale | Endpoint di tipo GCE_VM_IP_PORT |
Solo NEG regionali | Aggiungere un NEG Private Service Connect |
* I bilanciatori del carico di rete proxy esterni globali supportano gruppi di istanze IPv4 e IPv6 (a doppio stack) e backend NEG di zona con endpoint GCE_VM_IP_PORT
.
Backend e reti VPC
Per il bilanciatore del carico di rete proxy esterno globale e il bilanciatore del carico di rete proxy classico, tutte le istanze di backend dei backend del gruppo di istanze e tutti gli endpoint di backend dei backend del gruppo di istanze devono trovarsi nello stesso progetto. Tuttavia, un backend del gruppo di istanze o un gruppo di negazioni può utilizzare una rete VPC diversa in quel progetto. Le diverse reti VPC non devono essere connesse utilizzando il peering di rete VPC perché le istanze GFE comunicano direttamente con i backend nelle rispettive reti VPC.
Per il bilanciatore del carico di rete proxy esterno regionale, dipende dal tipo di backend.
Per i gruppi di istanze, i NEG a livello di zona e i NEG connettività ibrida, tutti i backend devono trovarsi nello stesso progetto e nella stessa regione del servizio di backend. Tuttavia, un bilanciatore del carico può fare riferimento a un backend che utilizza una rete VPC diversa nello stesso progetto del servizio di backend (questa funzionalità è in anteprima). La connettività tra la rete VPC del bilanciatore del carico e la rete VPC di backend può essere configurata utilizzando il peering di rete VPC, i tunnel Cloud VPN, i collegamenti VLAN Cloud Interconnect o un framework Network Connectivity Center.
Definizione della rete di backend
- Per i NEG zonali e i NEG ibridi, devi specificare esplicitamente la rete VPC quando crei il NEG.
- Per i gruppi di istanze gestite, la rete VPC è definita nel modello di istanza.
- Per i gruppi di istanze non gestiti, la rete VPC del gruppo di istanze è impostata in modo da corrispondere alla rete VPC dell'interfaccia
nic0
per la prima VM aggiunta al gruppo di istanze.
Requisiti di rete di backend
La rete del tuo backend deve soddisfare uno dei seguenti requisiti:
La rete VPC del backend deve corrispondere esattamente alla rete VPC della regola di forwarding.
La rete VPC del backend deve essere connessa alla rete VPC della regola di forwarding tramite il peering di rete VPC. Devi configurare gli scambi di route di subnet per consentire la comunicazione tra la subnet solo proxy nella rete VPC della regola di forwarding e le subnet utilizzate dalle istanze o dagli endpoint di backend.
- Sia la rete VPC del backend sia la rete VPC della regola di forwarding devono essere spoke VPC sullo stesso hub Network Connectivity Center. I filtri di importazione ed esportazione devono consentire la comunicazione tra la subnet solo proxy nella rete VPC della regola di forwarding e le subnet utilizzate dagli endpoint o dalle istanze di backend.
- Per tutti gli altri tipi di backend, tutti i backend devono trovarsi nella stessa rete e nella stessa regione VPC.
Backend e interfacce di rete
Se utilizzi backend di gruppi di istanze, i pacchetti vengono sempre inviati a nic0
. Se
vuoi inviare pacchetti a NIC diverse, utilizza i backend NEG.
Se utilizzi backend NEG a livello di zona, i pacchetti vengono inviati a qualsiasi interfaccia di rete rappresentata dall'endpoint nel NEG. Gli endpoint NEG devono trovarsi nella stessa rete VPC della rete VPC definita esplicitamente del NEG.
Protocollo per la comunicazione con i backend
Quando configuri un servizio di backend per un bilanciatore del carico di rete del proxy esterno, imposti il protocollo utilizzato dal servizio di backend 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 con proxy esterno globale, 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 specificato e non tenta di negoziare una connessione con l'altro protocollo.
Regole firewall
Sono richieste le seguenti regole firewall:
Per i bilanciatori del carico di rete proxy classici, una regola firewall
allow
in entrata per consentire al traffico proveniente dai GFE di raggiungere i backend.Per i bilanciatori del carico di rete proxy esterno globale, una regola firewall
allow
in entrata per consentire al traffico proveniente dai GFE di raggiungere i backend.
Per i bilanciatori del carico di rete proxy esterni regionali, una regola firewall di autorizzazione in entrata per consentire al traffico proveniente dalla subnet solo proxy di raggiungere i tuoi backend.
Una regola firewall
allow
in entrata per consentire al traffico proveniente dagli intervalli di probe del controllo di integrità di raggiungere i tuoi backend. Per ulteriori informazioni sui probe del controllo di integrità e sul motivo per cui è necessario consentire il traffico da questi probe, consulta Intervalli IP dei probe e regole firewall.
Le regole firewall vengono implementate a livello di istanza VM, non a livello di proxy GFE. Non puoi utilizzare le regole del 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 alla porta di destinazione per il controllo di integrità di ciascun servizio di backend.
- Per i backend del gruppo di istanze: determina le porte da configurare in base alla mappatura tra la porta denominata del servizio di backend e i numeri di porta associati a quella porta denominata in ogni gruppo di istanze. I numeri di porta possono variare tra i gruppi di istanze assegnati allo stesso servizio di backend.
- Per i backend di 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à del bilanciatore del carico | Intervalli di origine del controllo di integrità | Intervalli di origine della richiesta |
---|---|---|
Bilanciatore del carico di rete proxy esterno globale |
Per il traffico IPv6 verso i backend:
|
La sorgente del traffico GFE dipende dal tipo di backend:
|
Bilanciatore del carico di rete proxy classico |
|
Questi intervalli si applicano ai probe e alle richieste di controllo di integrità da GFE. |
Bilanciatore del carico di rete proxy esterno regionale *, † |
Per il traffico IPv6 verso i backend:
|
Questi intervalli si applicano ai probe dei controlli di integrità. |
* L'inserimento nella lista consentita degli intervalli di probe di controllo di integrità di Google non è obbligatorio per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e zonali in un singolo servizio di backend, devi inserire nella lista consentita gli intervalli di sonde di controllo di integrità di Google per i NEG zonali.
† Per i NEG di internet regionali, i controlli di integrità sono facoltativi. Il traffico proveniente dai bilanciatori del carico che utilizzano NEG internet regionali ha origine dalla subnet solo proxy e viene poi sottoposto a traduzione NAT (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 regionali: utilizzare Cloud NAT per l'egress.
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, esistono 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 indirizzo IP esterno se il client si trova dietro NAT o un proxy in avanti).
- 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 contenitore di backend nella rete VPC.
Connessione 1, dal client originale al bilanciatore del carico (subnet solo proxy):
- Indirizzo IP di origine: il client originale (o indirizzo IP esterno se il client si trova dietro NAT o un proxy in avanti).
- 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 contenitore di backend nella rete VPC.
Porte aperte
I bilanciatori del carico di rete proxy esterni sono bilanciatori del carico di reverse proxy. Il bilanciatore del carico termina le connessioni in entrata e poi apre nuove connessioni dal bilanciatore del carico ai backend. Questi bilanciatori del carico vengono implementati utilizzando proxy Google Front End (GFE) in tutto il mondo.
I GFE hanno diverse porte aperte per supportare altri servizi Google che funzionano sulla stessa architettura. Quando esegui una scansione delle porte, potresti vedere altre porte aperte per altri servizi Google in esecuzione su GFEs.
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
) in genere non prevede alcun pacchetto di risposta o un pacchetto TCP RST durante l'esecuzione del probing SYN TCP. I GFE inviano pacchetti SYN-ACK in risposta a sondaggi SYN solo per le porte su cui hai configurato una regola di forwarding. I GFE inviano pacchetti ai tuoi backend solo in risposta ai pacchetti inviati all'indirizzo IP e alla porta di destinazione del bilanciatore del carico configurati nella regola di forwarding. I pacchetti inviati a un indirizzo IP o a una porta diversa non vengono inviati ai tuoi backend.I GFE implementano funzionalità di sicurezza come Google Cloud Armor. Con Google Cloud Armor Standard, gli GFEs offrono protezione continua 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 verrà addebitato 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 essere gestiti da qualsiasi GFE nel parco di Google. Tuttavia, la scansione di un indirizzo IP del bilanciatore del carico e di una combinazione di porta di destinazione 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 la scansione di tutti i GFE nel parco risorse di Google.
Tenendo presente questo, di seguito sono riportati alcuni modi più efficaci per eseguire la verifica della sicurezza delle istanze di backend:
Un revisore della sicurezza deve ispezionare la configurazione delle regole di inoltro per la configurazione del bilanciatore del carico. Le regole di inoltro definiscono la porta di destinazione per la quale il bilanciatore del carico accetta i pacchetti e li inoltra ai backend. Per i bilanciatori del carico basati su GFE, ogni regola di inoltro esterno può fare riferimento a una sola porta TCP di destinazione.
Un revisore della sicurezza deve ispezionare la configurazione delle regole del firewall applicabile alle VM di backend. Le regole del firewall che imposti bloccano il traffico dalle GFE alle VM di backend, ma non bloccano il traffico in entrata verso le GFE. Per le best practice, consulta la sezione sulle regole del firewall.
Architettura VPC condiviso
I bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy classici supportano i deployment che utilizzano reti VPC condiviso. Un VPC condiviso ti consente di mantenere una chiara separazione delle responsabilità tra gli amministratori di rete e gli sviluppatori di servizi. I team di sviluppo possono concentrarsi sulla creazione di servizi nei progetti di servizi, mentre i team di infrastruttura di rete possono eseguire il provisioning e amministrare il bilanciamento del carico. Se non hai già familiarità con VPC condiviso, consulta la documentazione di panoramica del VPC condiviso.
Indirizzo IP | Regola di forwarding | Proxy di destinazione | Componenti di backend |
---|---|---|---|
Deve essere definito un indirizzo IP esterno 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 di backend si trovano in genere in un progetto di servizio. È necessario definire un servizio di backend regionale e un controllo di integrità nel progetto di servizio. |
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 per misurare il carico del backend e la capacità target.
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 può 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 dei gruppi di istanze VM.
La distribuzione del traffico tra i backend è determinata dalla modalità di bilanciamento 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ù favorevole (gruppo di istanze o NEG). Il traffico viene poi distribuito in modo 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 del target determinano la completezza 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 poi distribuito all'interno di una zona utilizzando la hashing coerente.
Per il livello Premium:
Puoi avere un solo servizio di backend, che 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 degli utenti esistenti rimangono nella regione corrente.
Google pubblicizza l'indirizzo IP del tuo 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 front-end di Google (GFEs) tentano di indirizzare le richieste a gruppi di istanza di backend o NEG sani 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 regionale.
Puoi configurare i backend solo nella stessa regione della regola di forwarding. Il bilanciatore del carico indirizza le richieste solo ai backend integri in quella 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 di bilanciamento del carico per le località.
La modalità di bilanciamento determina il peso e la frazione di traffico da inviare a ciascun gruppo (gruppo di istanze o NEG). Il criterio di località del bilanciamento del carico
(LocalityLbPolicy
) determina in che modo il carico viene bilanciato tra i backend all'interno del gruppo.
Quando un servizio di backend riceve traffico, lo indirizza innanzitutto 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 del gruppo di backend in base al criterio di località del bilanciamento del carico.
Per ulteriori informazioni, consulta le seguenti risorse:
- Modalità di bilanciamento.
- Criterio di località per il bilanciamento del carico (documentazione dell'API del servizio di backend globale).
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 del target determinano la completezza del backend dal punto di vista di ogni NEG GCE_VM_IP_PORT
zonale o gruppo di istanze zonali.
Il traffico viene poi distribuito all'interno di una zona utilizzando l'hashing coerente.
Puoi avere un solo servizio di backend, che 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 degli utenti esistenti rimangono nella regione corrente.
Google pubblicizza l'indirizzo IP del tuo 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 front-end di Google (GFEs) 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 di località del bilanciamento del carico.
La modalità di bilanciamento determina il peso e la frazione di traffico da inviare a ciascun backend (gruppo di istanze o NEG). Il criterio di località del bilanciamento del carico
(LocalityLbPolicy
) determina in che modo il bilanciamento del carico viene applicato ai backend all'interno del gruppo.
Quando un servizio di backend riceve traffico, lo indirizza innanzitutto a un backend (gruppo di istanze o NEG) in base alla modalità di bilanciamento. Dopo aver selezionato un backend, il traffico viene distribuito tra le istanze o gli endpoint del gruppo di backend in base al criterio di località del bilanciamento del carico.
Per ulteriori informazioni, consulta le seguenti risorse:
- Modalità di bilanciamento
- Criterio di bilanciamento del carico per le località (documentazione dell'API del servizio di backend regionale)
Affinità sessione
L'affinità sessione invia tutte le richieste dallo stesso client allo stesso backend se quest'ultimo è integro e dispone di capacità.
I bilanciatori del carico di rete proxy esterni 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
Il failover per i bilanciatori del carico di rete proxy esterni funziona nel seguente modo:
- Se un backend non è più disponibile, il traffico viene reindirizzato automaticamente ai backend disponibili all'interno della stessa regione.
- Se tutti i backend all'interno di una regione non sono integri, il traffico viene distribuito ai backend integri in altre regioni (solo modalità globali e classiche).
- Se tutti i backend non sono integri, il bilanciatore del carico interrompe il traffico.
Bilanciamento del carico per le applicazioni GKE
Se stai creando applicazioni in Google Kubernetes Engine, puoi utilizzare NEG autonomi per bilanciare il carico del traffico direttamente sui container. Con le NEG autonome, è tua responsabilità creare l'oggetto Service che crea la NEG, quindi associarla 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 a livello di zona standalone.
Limitazioni
- Non puoi creare un bilanciatore del carico di rete del proxy esterno regionale nel livello Premium utilizzando la console Google Cloud. Inoltre, solo le regioni che supportano il livello Standard sono disponibili per questi bilanciatori del carico nella console Google Cloud. Utilizza invece la gcloud CLI o l'API.
Le seguenti limitazioni si applicano solo ai bilanciatori del carico di rete proxy classici e ai bilanciatori del carico di rete proxy esterno globale di cui è stato eseguito il deployment con un proxy di destinazione SSL:
I bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete proxy esterno globale non supportano l'autenticazione client basata su certificato, nota anche come autenticazione TLS mutuale.
I bilanciatori del carico di rete proxy classici e i bilanciatori del carico di rete proxy esterno globale supportano solo i caratteri minuscoli nei domini in un attributo nome comune (
CN
) o in un attributo nome alternativo dell'oggetto (SAN
) del certificato. I certificati con caratteri maiuscoli nei domini vengono restituiti solo se impostati come certificato principale nel proxy di destinazione.
Passaggi successivi
- Configura un bilanciatore del carico di rete proxy classico (proxy TCP).
- Configura un bilanciatore del carico di rete proxy classico (proxy SSL).
- Configura un bilanciatore del carico di rete proxy esterno globale (proxy TCP).
- Configura un bilanciatore del carico di rete proxy esterno globale (proxy SSL).
- Configura un bilanciatore del carico di rete proxy esterno regionale (proxy TCP).
- Logging e monitoraggio del bilanciatore del carico di rete proxy.