I bilanciatori del carico di rete passthrough esterni globali sono bilanciatori del carico passthrough di livello 4 che distribuiscono il traffico esterno tra i backend (gruppi di istanze o gruppi di endpoint di rete) che possono risiedere in più regioni. Cloud de Confiance Questi bilanciatori del carico sono basati su Maglev distribuiti a livello globale, che operano insieme utilizzando la rete globale e il control plane di Google.
Un bilanciatore del carico di rete passthrough esterno globale indirizza automaticamente il traffico alla regione di backend più vicina al punto in cui il traffico utente entra nella rete globale diS3NS.
A condizione che i backend idonei siano configurati in due o più regioni:
Se una regione ha raggiunto la capacità massima, il bilanciatore del carico esegue automaticamente lo spillover di alcune delle nuove connessioni utente in eccesso rispetto alla capacità della regione alla regione o alle regioni più vicine in cui è disponibile capacità, mantenendo le connessioni esistenti nella regione attuale.
Se una regione è inattiva, il bilanciatore del carico esegue automaticamente il failover del traffico alla successiva regione più vicina con capacità disponibile.
I bilanciatori del carico di rete passthrough esterni globali possono ricevere traffico da:
- Qualsiasi cliente su internet
- Cloud de Confiance VM con IP esterni
- Cloud de Confiance VM che hanno accesso a internet tramite Cloud NAT o NAT basata su istanza
Utilizza un bilanciatore del carico di rete passthrough esterno globale nelle seguenti circostanze:
Hai bisogno di un bilanciatore del carico passthrough di livello 4 ad alte prestazioni per il traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6. Il bilanciatore del carico può gestire sia il traffico IPv4 sia quello IPv6.
Devi ricevere i pacchetti originali senza proxy. Ad esempio, se devi conservare l'indirizzo IP di origine del client.
Devi erogare traffico ai backend in più Cloud de Confiance regioni con una bassa latenza, utilizzando lo stesso indirizzo IP anycast.
Devi fare in modo che il deployment sia resiliente ai guasti e ai sovraccarichi del backend regionale, reindirizzando automaticamente e senza problemi il traffico alla regione più vicina successiva con capacità disponibile.
Per utilizzare un bilanciatore del carico di rete passthrough esterno globale, il deployment deve soddisfare il seguente requisito:
- Se gestisci il traffico TLS (SSL), i backend devono terminare il traffico SSL. Il bilanciatore del carico di rete passthrough esterno globale non supporta la terminazione SSL.
Funzionalità principali
I bilanciatori del carico di rete passthrough esterni globali supportano le seguenti funzionalità chiave.
Alta affidabilità by design
Il bilanciatore del carico fornisce due indirizzi IP anycast esterni globali, ciascuno gestito da un'infrastruttura di server del piano di controllo e dati di bilanciamento del carico globale disgiunta e isolata (nota anche come gruppo di disponibilità) per garantire l'alta affidabilità. I client possono utilizzare uno dei due indirizzi IP per connettersi al backend integro più vicino con capacità disponibile.
Il bilanciatore del carico ti consente di migliorare la disponibilità del servizio quando crei servizi di backend globali con backend in più regioni. Cloud de Confiance Se i backend in una determinata regione non sono attivi, il traffico esegue il failover alla successiva regione più vicina.
Ti consigliamo di eseguire il deployment dei backend in almeno tre Cloud de Confiance regioni per garantire la resilienza alle interruzioni regionali, anche se ti è consentito configurare tutti i backend in una singola Cloud de Confiance regione.
Bilanciamento in base alla latenza e al carico
Un bilanciatore del carico di rete passthrough esterno globale utilizza esclusivamente il livello Premium. Con il livello Premium, il traffico in entrata da internet entra nella rete a bassa latenza e ad alte prestazioni di S3NSin corrispondenza del punto di presenza (PoP) più vicino all'utente. Allo stesso modo, il traffico in uscita viene inviato tramite la rete di S3NSed esce dal POP più vicino all'utente.
I bilanciatori del carico Maglev distribuiti a livello globale instradano il traffico in entrata alla regioneCloud de Confiance più vicina al POP in cui il traffico entra nella reteS3NS, a condizione che la regione disponga di backend integri con capacità disponibile. In caso contrario, il bilanciatore del carico esegue automaticamente e in modo controllato il failover del traffico alla successiva regione più vicina con backend integri e capacità disponibile.
Determina i posizionamenti e le capacità del backend per una latenza dei pacchetti ottimale e un'efficienza del backend ottimale. Le capacità del backend possono essere basate sulla velocità massima di PPS (pacchetti al secondo) in entrata, sull'utilizzo massimo della CPU o su entrambi. Le capacità del backend configurate in un servizio di backend vengono condivise equamente tra gli indirizzi IP di tutte le regole di forwarding che fanno riferimento al servizio di backend.
Come funzionano i bilanciatori del carico di rete passthrough esterni globali
Un bilanciatore del carico di rete passthrough esterno globale ha un frontend (la regola di forwarding) e un backend
(il servizio di backend e i relativi gruppi di backend). Puoi utilizzare gruppi di istanze o NEG di zona come gruppi di backend.GCE_VM_IP
Architettura
Il seguente diagramma mostra un bilanciatore del carico di rete passthrough esterno globale che distribuisce il traffico ai backend in più regioni Cloud de Confiance . Quando viene creato il bilanciatore del carico, Cloud de Confiance gli assegna due indirizzi IP anycast esterni globali, forniti da un'infrastruttura di control plane e data plane disgiunta e isolata (nota anche come gruppi di disponibilità, AG0 e AG1).
I due piani di controllo e dati forniscono alta affidabilità, tolleranza agli errori e resilienza per ogni bilanciatore del carico di rete passthrough esterno globale. Un errore nel piano di controllo o dei dati di un gruppo di disponibilità non influisce sull'altro gruppo di disponibilità. I client configurati correttamente devono essere in grado di connettersi a entrambi gli indirizzi IP del bilanciatore del carico. Ad esempio, se un client non riesce a connettersi all'indirizzo IP AG0, deve essere configurato per connettersi all'indirizzo IP AG1.
Il bilanciatore del carico è costituito dai seguenti componenti di configurazione.
Due indirizzi IP esterni globali, uno per ogni gruppo di disponibilità (AG0 e AG1). Possono essere statici o temporanei. Per maggiori dettagli, vedi Indirizzi IP.
Una regola di forwarding globale che specifica i due indirizzi IP esterni globali, uno per ogni gruppo di disponibilità (AG0 e AG1). Quando crei questa regola di forwarding, Cloud de Confiance vengono generate due regole di forwarding secondarie di sola lettura, una per ogni gruppo di disponibilità, per garantire l'alta disponibilità. Per maggiori dettagli, vedi Regole di forwarding.
Un servizio di backend globale che definisce come viene distribuito il traffico ai backend in più regioniCloud de Confiance . I gruppi di backend possono essere tutti gruppi di istanze (gruppi di istanze gestite a livello di zona o gruppi di istanze non gestite a livello di zona) o tutti backend NEG a livello di zona (NEG a livello di zona con endpoint
GCE_VM_IP). Per maggiori dettagli, vedi Servizi di backend.Controllo di integrità globale associato al servizio di backend. Per maggiori dettagli, vedi Controlli di integrità.
Regole firewall che consentono al traffico di bilanciamento del carico e ai probe del controllo di integrità di raggiungere le VM di backend. Per maggiori dettagli, consulta Regole firewall.
Restituzione diretta al server
Un bilanciatore del carico di rete passthrough esterno globale, come gli altri bilanciatori del carico di rete passthrough, non è un proxy. Il bilanciatore del carico stesso non termina le connessioni utente. I pacchetti con bilanciamento del carico vengono inviati alle VM di backend con indirizzi IP di origine e di destinazione, protocollo e, se applicabile, porte invariati. Le VM di backend terminano quindi le connessioni utente e inviano i pacchetti di ritorno direttamente ai client. Le risposte non vengono reindirizzate tramite il bilanciamento del carico. Questa procedura è nota come ritorno diretto al server (DSR).
Routing locale per l'indirizzo IP del bilanciatore del carico
Il bilanciatore del carico di rete passthrough esterno globale, come altri bilanciatori del carico di rete passthrough, non esegue la NAT di origine o di destinazione dell'indirizzo IP o delle porte.
L' Cloud de Confiance ambiente guest configura ogni VM di backend con gli indirizzi IP del bilanciatore del carico. Una voce nella tabella di routing locale della VM configura il controller di interfaccia di rete (NIC) con bilanciamento del carico della VM di backend per accettare i pacchetti i cui indirizzi IP di destinazione corrispondono a ogni indirizzo IP della regola di forwarding. Per saperne di più, consulta Controllare la tabella di routing locale per gli indirizzi IP del bilanciatore del carico.
Indirizzi IP per i pacchetti di richiesta e di ritorno
Quando una VM di backend riceve un pacchetto con bilanciamento del carico da un client, l'origine e la destinazione del pacchetto sono le seguenti:
- Origine: un indirizzo IP esterno associato al client, a una VM Cloud de Confiance o a un sistema su internet.
- Destinazione: uno degli indirizzi IP della regola di forwarding del bilanciatore del carico.
Sebbene l'ambiente guest configuri automaticamente le route locali in modo che il sistema operativo della VM accetti il traffico destinato all'indirizzo IP del bilanciatore del carico, il sistema operativo non può recapitare questi pacchetti all'applicazione se l'applicazione è configurata per l'ascolto solo sull'indirizzo IP interno assegnato alla VM.
Per assicurarti che il sistema operativo invii i pacchetti alla tua applicazione, configura l'applicazione in esecuzione sulle VM di backend in modo che:
- Ascolta (collega) gli indirizzi IP della regola di forwarding del bilanciatore del carico o qualsiasi indirizzo IP (
0.0.0.0o::)
- Se il protocollo della regola di forwarding del bilanciatore del carico supporta le porte, ascolta (collega) una porta inclusa nella regola di forwarding del bilanciatore del carico.
I pacchetti di ritorno vengono inviati direttamente dalle VM di backend del bilanciatore del carico al client. L'indirizzo IP di origine del pacchetto di ritorno dipende dal protocollo:
- TCP è orientato alla connessione, quindi le VM di backend devono rispondere con pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP di destinazione del pacchetto di richiesta, in modo che il client possa associare i pacchetti di risposta alla connessione TCP appropriata.
- UDP, ESP, GRE, ICMP e ICMPv6 non prevedono connessioni. Le VM di backend possono inviare pacchetti di risposta i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di forwarding o a qualsiasi indirizzo IP esterno assegnato alla VM. In pratica, la maggior parte dei client si aspetta che la risposta provenga dallo stesso indirizzo IP a cui ha inviato i pacchetti.
La tabella seguente riassume gli indirizzi IP di origine e di destinazione per i pacchetti di risposta:
| Tipo di traffico | Origine | Destinazione |
|---|---|---|
| TCP | La destinazione del pacchetto di richiesta | Origine del pacchetto di richiesta |
| UDP, ESP, GRE, ICMP e ICMPv6 | Per la maggior parte dei casi d'uso, la destinazione del pacchetto di richiesta1 | Origine del pacchetto di richiesta |
1 Quando una VM ha un indirizzo IP esterno o quando utilizzi Cloud NAT, è anche possibile impostare l'indirizzo IP di origine del pacchetto di risposta sull'indirizzo IPv4 interno principale della NIC della VM. Cloud de Confiance oppure Cloud NAT modifica l'indirizzo IP di origine del pacchetto di risposta impostandolo sull'indirizzo IPv4 esterno della NIC o su un indirizzo IPv4 esterno Cloud NAT per inviare il pacchetto di risposta all'indirizzo IP esterno del client. Il mancato utilizzo dell'indirizzo IP della regola di forwarding come origine è uno scenario avanzato perché il client riceve un pacchetto di risposta da un indirizzo IP esterno che non corrisponde all'indirizzo IP a cui ha inviato un pacchetto di richiesta.
Componenti
Le sezioni seguenti descrivono in dettaglio ogni componente di configurazione di un bilanciatore del carico di rete passthrough esterno globale.
Indirizzi IP
Un bilanciatore del carico di rete passthrough esterno globale richiede due indirizzi IP esterni globali per fornire alta affidabilità. Le regole di forwarding del bilanciatore del carico utilizzano questi indirizzi per accettare il traffico in entrata e devono appartenere alla stessa versione IP, IPv4 o IPv6. Cloud de Confiance pubblicizza gli indirizzi IP del bilanciatore del carico da tutti i punti di presenza in tutto il mondo. Ogni indirizzo IP del bilanciatore del carico è un indirizzo IP anycast globale supportato solo nel livello Premium.
Ciascuno dei due indirizzi IP deve provenire da pool di indirizzi IP esterni globali
appartenenti a un gruppo di disponibilità distinto. Gli indirizzi IP non sono
associati a una subnet in una rete VPC. Nell'API,
i gruppi di disponibilità sono rappresentati utilizzando il campo purpose nella
risorsa globalAddresses:
PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: per gli indirizzi del gruppo di disponibilità 0.PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: per gli indirizzi del gruppo di disponibilità 1.
Il campo IPAddresses di una risorsa regola di forwarding
specifica zero, uno o due indirizzi IP:
- Se omesso, Cloud de Confiance assegna due indirizzi IP effimeri, uno per ogni gruppo di disponibilità.
- Se specifichi un indirizzo IP che fa riferimento a una risorsa di indirizzo IP statico esistente di un gruppo di disponibilità, Cloud de Confiance assegna un indirizzo IP temporaneo dell'altro gruppo di disponibilità.
- Se specifichi due indirizzi IP che fanno riferimento a risorse di indirizzi IP statici esistenti, questi devono appartenere a gruppi di disponibilità diversi.
Utilizza indirizzi IP statici riservati per la regola di forwarding se devi conservare gli indirizzi associati al tuo progetto per riutilizzarli dopo aver eliminato una regola di forwarding o se hai bisogno che più regole di forwarding facciano riferimento agli stessi indirizzi IP.
Per una regola di forwarding del bilanciatore del carico di rete passthrough esterno globale, gli indirizzi IP possono essere uno dei seguenti:
- Un indirizzo IPv4 statico o temporaneo da un pool di indirizzi IP globali di proprietà di Google.
- Un intervallo
/96statico o temporaneo di indirizzi IPv6 esterni da un pool di indirizzi IP globali di proprietà di Google. - Un indirizzo BYOIP IPv4 statico da un prefisso delegato pubblico globale.
Un bilanciatore del carico di rete passthrough esterno globale supporta Bring your own IP (BYOIP) solo per gli indirizzi IPv4. Il supporto è limitato all'API BYOIP v1. Il provisioning di nuovi intervalli IPv4 può richiedere fino a 4 settimane e non esistono API che consentano di controllare lo stato di annuncio BGP. Per maggiori dettagli, vedi Configurazioni Bring Your Own IP.
Il campo IPAddresses di una regola di forwarding può essere impostato solo al momento della creazione e
non può essere aggiornato.
Indipendentemente dalla loro origine (di proprietà di Google o BYOIP), gli indirizzi IP esterni globali in Cloud de Confiance provengono da tre diversi tipi di pool di indirizzi IP esterni globali:
- Pool di indirizzi IP utilizzati dai bilanciatori del carico di rete passthrough esterni globali per il gruppo di disponibilità AG0
- Pool di indirizzi IP utilizzati dai bilanciatori del carico di rete passthrough esterni globali per il gruppo di disponibilità AG1
- Pool di indirizzi IP utilizzati dai bilanciatori del carico basati su proxy esterni globali
Pertanto, i bilanciatori del carico di rete passthrough esterni globali non possono condividere indirizzi IP con altri bilanciatori del carico globali o regionali.
Regole di forwarding globali
Una regola di forwarding del bilanciatore del carico di rete passthrough esterno globale forma il frontend del bilanciatore del carico, specificando gli indirizzi IP di destinazione, il protocollo e le porte su cui il bilanciatore del carico accetta il traffico. Poiché un bilanciatore del carico di rete passthrough esterno globale non è un proxy, trasmette il traffico ai backend senza modificare gli indirizzi IP di origine e di destinazione, il protocollo e le porte, se il protocollo contiene informazioni sulla porta.
Una regola di forwarding del bilanciatore del carico di rete passthrough esterno globale che configuri specifica quanto segue:
- Lo schema di bilanciamento del carico è designato come
EXTERNAL_PASSTHROUGH. - La coppia di indirizzi IP globali nel campo
IPAddresses[], uno per ogni gruppo di disponibilità. - Il protocollo (
TCP,UDPoL3_DEFAULT) e le porte.
Per ogni regola di forwarding del bilanciatore del carico di rete passthrough esterno globale che crei
(nota anche come regola di forwarding principale), Cloud de Confiance
vengono generate due regole di forwarding secondarie di sola lettura
per ogni stack di bilanciamento del carico: AVAILABILITY_GROUP0 e
AVAILABILITY_GROUP1. La regola di forwarding secondaria ha le stesse impostazioni di protocollo IP, porta e servizio di backend della regola di forwarding principale, ma ha solo uno dei due indirizzi IP della regola di forwarding principale.
Le regole di forwarding secondarie possono essere identificate in modo univoco perché hanno -ag0 e
-ag1 aggiunti al nome della regola di forwarding principale. Non consumano
quota aggiuntiva e non comportano costi aggiuntivi. Le metriche di monitoraggio e lo stato di salute
vengono riportati a livello di regola di forwarding figlio.
Il traffico in entrata viene abbinato a una regola di forwarding, abbinando l'indirizzo IP di destinazione, il protocollo e la porta di un pacchetto a una combinazione di campi della regola di forwarding: due indirizzi IP, il protocollo e, se il protocollo è basato sulla porta, una o più porte, un intervallo di porte o tutte le porte. La regola di forwarding indirizza quindi il traffico al servizio di backend del bilanciatore del carico.
Le regole di forwarding per un bilanciatore del carico di rete passthrough esterno globale possono essere configurate con indirizzi IPv4 o IPv6. Se vuoi che il bilanciatore del carico gestisca il traffico IPv4 e IPv6, crea due regole di forwarding:
Una regola di forwarding per il traffico IPv4 che punta a backend solo IPv4 o dual-stack
Una regola di forwarding per il traffico IPv6 che punta a backend solo IPv6 o dual-stack
È possibile che una regola di forwarding IPv4 e una IPv6 facciano riferimento allo stesso servizio di backend, ma il servizio di backend deve fare riferimento a backend con interfacce di rete VM a doppio stack.
La versione IP della regola di forwarding deve corrispondere al tipo di stack delle interfacce di rete della VM di backend.
| Tipo di stack delle interfacce di rete VM di backend | Regola di forwarding |
|---|---|
Interfaccia di rete VM solo IPv4 (IPV4_ONLY) |
Possono essere backend solo per le regole di forwarding IPv4. |
Interfaccia di rete VM solo IPv6 (IPV6_ONLY) |
Possono essere backend solo per le regole di forwarding IPv6. |
Interfaccia di rete VM a doppio stack (IPV4_IPV6) |
Possono essere backend per regole di forwarding IPv4, regole di forwarding IPv6 o entrambe. |
Protocolli delle regole di forwarding
I bilanciatori del carico di rete passthrough esterni globali supportano le seguenti opzioni di protocollo per ogni regola di forwarding: TCP, UDP e L3_DEFAULT.
Utilizza le opzioni TCP e UDP per configurare il bilanciamento del carico TCP o UDP, rispettivamente. L'opzione del protocollo L3_DEFAULT consente a un bilanciatore del carico di rete passthrough esterno globale di bilanciare il carico del traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Oltre a supportare protocolli diversi da TCP e UDP, L3_DEFAULT consente a una singola regola di forwarding di gestire più protocolli. Ad esempio, i servizi IPsec in genere gestiscono una combinazione di traffico ESP e IKE e NAT-T basato su UDP. L'opzione L3_DEFAULT consente di configurare una singola regola di forwarding per elaborare tutti questi protocolli.
Se utilizzi il protocollo L3_DEFAULT, devi configurare la regola di forwarding
in modo che accetti il traffico su tutte le porte. Poiché L3_DEFAULT è una regola catch-all,
come best practice di sicurezza, devi configurare regole firewall di autorizzazione in entrata
che consentano solo i protocolli e le porte IP di cui hai bisogno.
Più regole di forwarding
Puoi configurare più regole di inoltro, che possono essere di due tipi:
Più regole di forwarding per gli stessi indirizzi IP. Puoi configurare più regole di forwarding per la stessa coppia di indirizzi IP, a condizione che due regole di forwarding non utilizzino le stesse combinazioni di protocollo e porta. Ogni regola di forwarding può avere un servizio di backend diverso oppure più regole di forwarding possono avere lo stesso servizio di backend.
Più regole di forwarding che fanno riferimento allo stesso servizio di backend. Puoi configurare più regole di forwarding che fanno riferimento allo stesso servizio di backend. Fatte salve le condizioni indicate nel primo punto, due o più regole di forwarding possono utilizzare la stessa coppia di indirizzi IP oppure ogni regola di forwarding può utilizzare una coppia di indirizzi IP univoca. Il traffico per tutti gli indirizzi IP di tutte le regole di forwarding che fanno riferimento allo stesso servizio di backend condivide equamente le capacità di destinazione di backend.
Tuttavia, non puoi condividere lo stesso indirizzo IP esterno globale tra un bilanciatore del carico di rete passthrough esterno globale e un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico di rete proxy esterno globale.
Quando utilizzi più regole di forwarding, assicurati di configurare l'applicazione in esecuzione sulle VM di backend in modo che si associ a tutti gli indirizzi IP esterni delle regola di forwarding del bilanciatore del carico.
La configurazione di più regole di inoltro può essere utile per i seguenti casi d'uso:
- Devi configurare più di una coppia di indirizzi IP esterni per lo stesso servizio di backend. Ad esempio, una regola di forwarding per gli indirizzi IPv4 e un'altra per gli indirizzi IPv6.
- Devi configurare più regole di forwarding per la stessa coppia di indirizzi IP esterni, ma con protocolli diversi o porte o intervalli di porte non sovrapposti. Le regole di forwarding possono utilizzare gli stessi servizi di backend o servizi diversi.
Vincoli di protocollo e porta per più regole di forwarding
Cloud de Confiance seleziona al massimo una regola di forwarding per elaborare un pacchetto in entrata. Due o più regole di forwarding che utilizzano la stessa coppia di indirizzi IP esterni globali devono avere combinazioni di protocollo e porta uniche in base a questi vincoli:Una regola di forwarding configurata per tutte le porte di un protocollo impedisce la creazione di altre regole di forwarding che utilizzano la stessa coppia di protocollo e indirizzo IP.
Le regole di forwarding che utilizzano i protocolli
TCPoUDPpossono essere configurate per utilizzare tutte le porte oppure possono essere configurate per porte specifiche.Ad esempio, se crei una regola di forwarding utilizzando la coppia di indirizzi IP
136.124.69.214e136.124.83.205, il protocolloTCPe tutte le porte, non puoi creare altre regole di forwarding utilizzando la stessa coppia di indirizzi IP e lo stesso protocolloTCP.Puoi creare due regole di forwarding, entrambe utilizzando la coppia di indirizzi IP e il protocollo
TCP, se ognuna ha porte univoche o intervalli di porte non sovrapposti. Ad esempio, puoi creare due regole di forwarding utilizzando la stessa coppia di indirizzi IP e il protocolloTCP, in cui le porte di una regola di forwarding sono80,443e l'altra utilizza l'intervallo di porte81-442.Per ogni coppia di indirizzi IP può essere creata una sola regola di forwarding
L3_DEFAULT.Questo perché il protocollo
L3_DEFAULTutilizza tutte le porte per definizione. In questo contesto, il termine tutte le porte include i protocolli senza informazioni sulla porta.Una singola regola di forwarding
L3_DEFAULTpuò coesistere con altre regole di forwarding che utilizzano protocolli specifici (TCPoUDP) e la stessa coppia di indirizzi IP.Se hai regole di forwarding TCP o UDP specifiche associate a una coppia di indirizzi IP, puoi anche associare una regola di forwarding
L3_DEFAULTalla stessa coppia di indirizzi IP per fungere da fallback per il traffico che non corrisponde alle regole di forwarding specifiche. Una regola di forwardingL3_DEFAULTelabora i pacchetti inviati al relativo indirizzo IP di destinazione se e solo se l'indirizzo IP di destinazione, il protocollo e la porta di destinazione del pacchetto non corrispondono a una regola di forwarding specifica per il protocollo.Per illustrare questo concetto, considera questi due scenari. Le regole di inoltro in entrambi gli scenari utilizzano la stessa coppia di indirizzi IP:
136.124.69.214e136.124.83.205.Scenario 1. La prima regola di forwarding utilizza il protocollo
L3_DEFAULT. La seconda regola di forwarding utilizza il protocolloTCPe tutte le porte. I pacchetti TCP inviati a qualsiasi porta di destinazione di uno dei due indirizzi IP vengono elaborati dalla seconda regola di forwarding, più specifica. I pacchetti che utilizzano protocolli diversi vengono elaborati dalla prima regola di forwarding.Scenario 2. La prima regola di forwarding utilizza il protocollo
L3_DEFAULT. La seconda regola di forwarding utilizza il protocolloTCPe la porta8080. I pacchetti TCP inviati alla porta 8080 di uno degli indirizzi IP vengono elaborati dalla seconda regola di forwarding. Tutti gli altri pacchetti, inclusi i pacchetti TCP inviati a porte di destinazione diverse, vengono elaborati dalla prima regola di forwarding.
Selezione della regola di forwarding
Cloud de Confiance seleziona una o zero regole di forwarding per elaborare un pacchetto in entrata utilizzando questa procedura di eliminazione, a partire dall'insieme di regole di forwarding candidate che corrispondono all'indirizzo IP di destinazione del pacchetto:
Elimina le regole di forwarding il cui protocollo non corrisponde a quello del pacchetto, ad eccezione delle regole di forwarding
L3_DEFAULT. Le regole di forwarding che utilizzano il protocolloL3_DEFAULTnon vengono mai eliminate in questo passaggio perchéL3_DEFAULTcorrisponde a tutti i protocolli. Ad esempio, se il protocollo del pacchetto è TCP, vengono eliminate solo le regole di forwarding che utilizzano il protocolloUDP.Elimina le regole di forwarding la cui porta non corrisponde a quella del pacchetto. Le regole di forwarding configurate per tutte le porte non vengono mai eliminate in questo passaggio perché una regola di forwarding per tutte le porte corrisponde a qualsiasi porta.
A questo punto, i candidati rimanenti per le regola di forwarding rientrano in una delle seguenti categorie:
Rimangono due regole di forwarding, una regola di forwarding
L3_DEFAULTe una regola di forwarding specifica per il protocollo. Utilizza la regola di forwarding specifica del protocollo per instradare il pacchetto.Rimane una sola regola di forwarding, una regola di forwarding
L3_DEFAULTo una regola di forwarding specifica per il protocollo. Viene utilizzato per instradare il pacchetto.Non sono rimasti candidati per la regola di forwarding e il pacchetto viene eliminato.
Servizi di backend globali
Un servizio di backend di un bilanciatore del carico di rete passthrough esterno globale distribuisce il traffico in entrata tra i backend collegati che possono risiedere in più regioni Cloud de Confiance . 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 sull'utilizzo della CPU, sui pacchetti in entrata al secondo (PPS) o su entrambi. Il servizio di backend gestisce la distribuzione del traffico in base alle impostazioni di affinità e capacità configurate.
Il servizio di backend definisce i seguenti parametri di backend:
Schema di bilanciamento del carico. Per designare un servizio di backend per un bilanciatore del carico di rete passthrough esterno globale, lo schema di bilanciamento del carico deve essere impostato in modo esplicito su
EXTERNAL_PASSTHROUGH.Protocollo. Il campo del protocollo del servizio di backend è ridondante e può essere impostato solo su
UNSPECIFIED. I servizi di backend con protocolloUNSPECIFIEDpossono essere utilizzati con qualsiasi regola di forwarding, indipendentemente dal protocollo della regola di forwarding.Distribuzione del traffico. Un servizio di backend distribuisce il traffico in base all'affinità sessione, al criterio di monitoraggio delle connessioni, alla modalità di bilanciamento del carico e alle capacità del backend e al criterio di località di bilanciamento del carico configurati. Il servizio di backend può anche essere configurato per abilitare lo svuotamento della connessione, ridurre le capacità del backend e designare i backend preferiti. La maggior parte di queste impostazioni ha valori predefiniti che ti consentono di iniziare rapidamente.
Controllo di integrità. Un servizio di backend deve avere un controllo di integrità associato.
Backend. I backend sono gli endpoint effettivi che ricevono il traffico con bilanciamento del carico. Un bilanciatore del carico di rete passthrough esterno globale può distribuire il traffico a gruppi di istanze o NEG di zona che si trovano in più regioni Cloud de Confiance :
Se scegli gruppi di istanze, puoi utilizzare gruppi di istanze gestite a livello di zona, gruppi di istanze non gestite a livello di zona o una combinazione dei tipi di gruppi di istanze. I gruppi di istanze supportano sia
RATEcheUTILIZATIONcome modalità di bilanciamento del carico.Se scegli NEG a livello di zona, devi utilizzare NEG a livello di zona
GCE_VM_IP. I NEG supportano soloRATEcome modalità di bilanciamento del carico.
Compatibilità dell'interfaccia di rete VM con le regole di forwarding
Poiché i bilanciatori del carico di rete passthrough esterni globali non terminano né traducono il traffico, il tipo di stack dell'interfaccia di rete della VM di backend deve essere compatibile con la versione dell'indirizzo IP della regola di forwarding.
| Regola di forwarding | Tipo di stack delle interfacce di rete della VM di backend |
|---|---|
| Solo regole di forwarding IPv4 | Solo IPv4 (IPV4_ONLY) o dual-stack (IPV4_IPv6) |
| Solo regole di forwarding IPv6 | Solo IPv6 (IPV6_ONLY) o dual-stack (IPV4_IPv6) |
| Regole di forwarding IPv4 e IPv6 | Doppio stack (IPV4_IPv6) |
Compatibilità dell'interfaccia di rete della VM di backend con le subnet VPC
Come mostrato nella tabella precedente, puoi configurare un bilanciatore del carico di rete passthrough esterno globale in modo che i backend contengano interfacce solo IPv4, interfacce a doppio stack e interfacce solo IPv6. La tabella seguente riepiloga i tipi di interfacce di rete delle VM di backend compatibili con ogni tipo di stack di subnet VPC.
| Tipo di stack delle subnet VPC | Tipo di stack dell'interfaccia di rete della VM di backend |
|---|---|
IPV4_ONLY (stack singolo)Solo intervalli di subnet IPv4 |
Solo IPv4 (IPV4_ONLY) |
IPV4_IPV6 (stack doppio)Intervalli di subnet IPv4 e IPv6 |
Solo IPv4 (IPV4_ONLY), doppio stack (IPV4_IPv6)
e solo IPv6 (IPV6_ONLY) |
IPV6_ONLY (stack singolo)Solo intervalli di subnet IPv6 |
Solo IPv6 (IPV6_ONLY) |
Tieni presente quanto segue:
L'indirizzo IP assegnato a un'interfaccia di rete VM viene allocato direttamente dalla subnet VPC sottostante.
Per la connettività IPv6, quando un'interfaccia di rete VM viene assegnata a una subnet
/64abilitata per IPv6, Cloud de Confiance alloca all'interfaccia di rete VM un intervallo di indirizzi/96dalla prima metà (/65) dell'intervallo di indirizzi IPv6 esterno/64della subnet. Per saperne di più, consulta le specifiche IPv6 esterne.Quando il tipo di stack dell'interfaccia di rete della VM è a doppio stack (
IPV4_IPv6) o solo IPv6 (IPV6_ONLY), devi scegliere come è possibile raggiungere l'indirizzo IPv6 dell'interfaccia di rete della VM configurando l'impostazione--ipv6-access-typenella subnet VPC suEXTERNALoINTERNAL. Se--ipv6-access-typedella subnet è impostato suEXTERNAL, devi impostare anche--ipv6-network-tiersull'interfaccia di rete della VM suPREMIUM. Per saperne di più, vedi Intervalli di subnet IPv6.
Backend di gruppi di istanze e interfacce di rete
All'interno di un determinato gruppo di istanze (gestito o non gestito), l'interfaccia di rete nic0 di ogni VM membro si trova sempre nella stessa rete VPC:
- Per i gruppi di istanze gestite (MIG), la rete VPC del gruppo di istanze proviene dall'interfaccia
nic0definita nel modello di istanza. - Per i gruppi di istanze non gestite, la rete VPC del gruppo di istanze è impostata sulla rete VPC utilizzata dall'interfaccia di rete
nic0della prima istanza VM che aggiungi al gruppo di istanze non gestite. Non puoi modificare la rete VPC del gruppo di istanze in un secondo momento, anche se rimuovi la prima istanza che hai aggiunto al gruppo.
Le VM membro possono avere interfacce di rete aggiuntive (vNIC o
interfacce di rete dinamiche).
Ogni interfaccia non nic0 può trovarsi nella rete VPC del gruppo di istanze (la rete utilizzata dall'interfaccia nic0) o in una rete VPC diversa.
nic0, non puoi utilizzare i backend dei gruppi di istanze. Utilizza i NEG a livello di zona con endpoint GCE_VM_IP. Per saperne di più, consulta Servizi di backend e reti VPC.
Backend di NEG a livello di zona e interfacce di rete
Quando crei un nuovo NEG zonale con endpoint GCE_VM_IP, devi associare esplicitamente il NEG a una subnet di una rete VPC prima di poter aggiungere endpoint al NEG. Né la subnet né la rete VPC possono essere modificate dopo la creazione del NEG.
All'interno di un determinato NEG, ogni endpoint GCE_VM_IP rappresenta in realtà un'interfaccia di rete. L'interfaccia di rete deve trovarsi nella subnet associata al
NEG. Dal punto di vista di un'istanza Compute Engine, l'interfaccia di rete può utilizzare qualsiasi identificatore. Dal punto di vista di un endpoint in un NEG, l'interfaccia di rete viene identificata utilizzando il suo indirizzo IPv4 interno principale. Per saperne di più, consulta NEG con endpoint GCE_VM_IP.
Esistono due modi per aggiungere un endpoint GCE_VM_IP a un NEG:
- Se specifichi solo un nome VM (senza alcun indirizzo IP) quando aggiungi un endpoint, Cloud de Confiance richiede che la VM abbia un'interfaccia di rete nella subnet associata al NEG. L'indirizzo IP che Cloud de Confiance sceglie per l'endpoint è l'indirizzo IPv4 interno principale dell'interfaccia di rete della VM nella subnet associata al NEG.
- Se specifichi sia un nome VM sia un indirizzo IP quando aggiungi un endpoint, l'indirizzo IP che fornisci deve essere un indirizzo IPv4 interno principale per una delle interfacce di rete della VM. Questa interfaccia di rete deve trovarsi nella subnet associata al NEG. Tieni presente che specificare un indirizzo IP è ridondante perché può esistere una sola interfaccia di rete nella subnet associata al NEG.
Servizi di backend e reti VPC
Il servizio di backend non è associato ad alcuna rete VPC; tuttavia, ogni gruppo di istanza di backend o NEG zonale è associato a una rete VPC, come indicato in precedenza. Se tutti i backend si trovano nello stesso progetto e sono dello stesso tipo (gruppi di istanze o NEG di zona), il bilanciatore del carico e i relativi backend possono trovarsi nella stessa rete VPC o in reti VPC diverse.
Per distribuire i pacchetti alle interfacce non nic0, devi soddisfare entrambi i seguenti
requisiti:
Devi utilizzare i NEG di zona (con endpoint
GCE_VM_IP), non i gruppi di istanze.Le interfacce di rete non
nic0enic0devono trovarsi in reti VPC diverse. La rete VPC del NEG non può contenere l'interfaccianic0e l'interfaccia nonnic0desiderata.
Backend preferiti
Puoi designare backend specifici come backend preferiti. Questi backend devono essere utilizzati al massimo della capacità (ovvero la capacità target specificata dalla modalità di bilanciamento del backend) prima che le richieste vengano inviate ai backend rimanenti.
Il servizio di backend di un bilanciatore del carico di rete passthrough esterno globale può avere al massimo un gruppo di backend preferito e non consente backend preferiti e non preferiti nella stessa regione Cloud de Confiance .
Per saperne di più, consulta Ottimizzazioni del bilanciamento del carico avanzate.
Controlli di integrità
Le informazioni sui controlli di integrità vengono utilizzate per determinare i backend idonei per le nuove connessioni e per controllare se le connessioni esistenti persistono sui backend non integri.Il bilanciatore del carico invia probe di controllo di integrità separatamente per ogni indirizzo IP della regola di forwarding. Pertanto, una regola di forwarding del bilanciatore del carico di rete passthrough esterno globale con due indirizzi IP viene sottoposta a probe per ogni indirizzo IP, raddoppiando la frequenza del probe su ogni backend. Per saperne di più, vedi Più probe e frequenza.
Tipo, protocollo e porta del controllo di integrità
Il servizio di backend del bilanciatore del carico deve fare riferimento a un controllo di integrità globale, utilizzando qualsiasi porta e protocollo di controllo di integrità supportati. I dettagli del protocollo e della porta del controllo di integrità non devono corrispondere a quelli della regola di forwarding.
Poiché tutti i protocolli di controllo di integrità supportati si basano su TCP
(i controlli di integrità UDP non sono supportati), quando utilizzi un
bilanciatore del carico di rete passthrough esterno globale per bilanciare le connessioni e il traffico per altri protocolli, le VM di backend devono eseguire un server basato su TCP per rispondere ai probe di controllo di integrità. Ad esempio, puoi utilizzare un controllo di integrità HTTP combinato con l'esecuzione di un server HTTP su ogni VM di backend. In questo esempio, i tuoi script o software sono responsabili della
configurazione del server HTTP in modo che restituisca lo stato 200 solo quando il
software in ascolto delle connessioni con bilanciamento del carico è operativo.
Per saperne di più sui protocolli e sulle porte per il controllo di integrità supportati, consulta Protocolli, porte e categorie per il controllo di integrità e Come funzionano i controlli di integrità.
Pacchetti di controllo di integrità
Per i backend dei gruppi di istanze, i probe di controllo di integrità inviano pacchetti all'interfaccia di rete di ogni VM di backend.nic0 Per i backend NEG zonali GCE_VM_IP, i probe di controllo di integrità inviano pacchetti all'interfaccia di rete nella subnet VPC del NEG. I pacchetti di controllo di integrità hanno le seguenti caratteristiche:
- Indirizzo IP di origine dall'intervallo IP del probe del controllo di integrità pertinente.
- Indirizzo IP di destinazione che corrisponde a uno dei due indirizzi IP della regola di forwarding che fa riferimento al servizio di backend del bilanciatore del carico di rete passthrough esterno globale. I pacchetti di controllo di integrità vengono inviati a entrambi gli indirizzi IP.
- Porta di destinazione corrispondente al numero di porta specificato nel controllo di integrità.
Le applicazioni in esecuzione sulle VM di backend devono essere associate e in ascolto su combinazioni di porta e indirizzo IP pertinenti. Per farlo,
configura l'applicazione in modo che si associ e ascolti le porte pertinenti di uno qualsiasi degli indirizzi IP della VM (0.0.0.0 o ::/0). Per saperne di più, consulta Destinazione per i pacchetti probe.
Regole firewall
Poiché un bilanciatore del carico di rete passthrough esterno globale non è un proxy, trasmette il traffico alle VM di backend senza modificare gli indirizzi IP di origine e di destinazione, il protocollo e le porte, se il protocollo contiene informazioni sulla porta. Pertanto, devi creare regole firewall in entrata di tipo allow o una policy del firewall gerarchica in entrata di tipo allow per controllare l'accesso alle VM di backend del bilanciatore del carico, in particolare per consentire i controlli di integrità e il traffico che stai bilanciando. Altrimenti, la regola firewall in entrata per negare tutto il traffico in entrata blocca i pacchetti in entrata da tutti gli indirizzi IP di origine esterni.
Le regole di forwarding e l'ingresso consentono alle regole firewall o alle policy del firewall gerarchiche di funzionare insieme nel seguente modo: una regola di forwarding specifica l'indirizzo IP di destinazione, il protocollo e, se definiti, i requisiti di porta che un pacchetto deve soddisfare per essere inoltrato a una VM di backend. Le regole firewall di autorizzazione in entrata controllano se il firewall invia i pacchetti inoltrati alla VM o li elimina. La Cloud de Confiance rete VPC predefinita include un set limitato di regole firewall di autorizzazione in entrata precompilate.
Per accettare il traffico da qualsiasi indirizzo IP su internet, devi creare una regola firewall di autorizzazione in entrata con l'intervallo di origine
0.0.0.0/0o::/0. Per consentire solo il traffico proveniente da determinati intervalli di indirizzi IP, utilizza intervalli di origine più restrittivi.Come best practice per la sicurezza, le regole firewall di autorizzazione in entrata devono consentire solo i protocolli e le porte IP necessari. Limitare la configurazione del protocollo (e, se possibile, della porta) è particolarmente importante quando si utilizzano regole di forwarding il cui protocollo è impostato su
L3_DEFAULT. Le regole di forwardingL3_DEFAULTinoltrano i pacchetti per tutti i protocolli IP supportati (su tutte le porte se il protocollo e il pacchetto contengono informazioni sulla porta).I bilanciatori del carico di rete passthrough esterni globali utilizzano controlli di integrità Cloud de Confiance . Pertanto, devi sempre consentire il traffico dagli intervalli di indirizzi IP del controllo di integrità. Puoi configurare queste regole firewall di autorizzazione in entrata specifiche per il protocollo e le porte del controllo di integrità del bilanciatore del carico.
Distribuzione del traffico
Per un bilanciatore del carico di rete passthrough esterno globale, la distribuzione del traffico è una funzione di diversi attributi, come l'affinità sessione, la policy di monitoraggio delle connessioni, la modalità di bilanciamento del carico e le capacità del backend, i backend preferiti e la policy di località di bilanciamento del carico. Tutti questi elementi fanno parte di un flusso di lavoro coordinato per ottimizzare la configurazione del bilanciamento del carico per prestazioni affidabili e un utilizzo efficiente delle risorse.
Architettura VPC condiviso
Tieni presente i seguenti punti in relazione a un'architettura VPC condiviso per un bilanciatore del carico di rete pass-through esterno globale:
Ad eccezione delle risorse di indirizzi IP, tutte le altre risorse associate a un bilanciatore del carico di rete passthrough esterno globale (regola di forwarding, servizio di backend, controllo di integrità e gruppi di backend (gruppi di istanze o NEG)) devono esistere nello stesso progetto e questo progetto può essere un progetto host o un progetto di servizio.
Se le risorse di bilanciamento del carico esistono nel progetto host, anche le risorse di indirizzi IP devono esistere nel progetto host.
Se le risorse di bilanciamento del carico esistono in un progetto di servizio, le risorse di indirizzi IP possono trovarsi nello stesso progetto di servizio o nel progetto host.
La seguente tabella descrive la posizione dei diversi componenti di un bilanciatore del carico di rete passthrough esterno globale in un'architettura VPC condiviso.
| Posizione delle risorse di bilanciamento del carico1 | Posizione obbligatoria delle risorse dell'indirizzo IP |
|---|---|
| Progetto host | Progetto host |
| Progetto di servizio | Progetto di servizio o progetto host |
1 Include la regola di forwarding, il servizio di backend, il controllo di integrità e i backend (gruppi di istanze o NEG)
Limitazioni
I backend possono essere implementati solo nelle seguenti regioni Cloud de Confiance :
- Nord America:
us-west1,us-west4,us-east4,us-east5 - Europa:
europe-west2,europe-west3 - Asia:
asia-southeast1,asia-south1,asia-northeast1 - Sud America:
southamerica-east1 - Africa:
africa-south1 - Australia:
australia-southeast1
- Nord America:
Il bilanciatore del carico di rete passthrough esterno globale può essere configurato solo nel livello Premium.
Non puoi configurare un bilanciatore del carico di rete passthrough esterno globale utilizzando la console Cloud de Confiance . Utilizza Google Cloud CLI o l'API REST.
Non puoi utilizzare i backend dei gruppi di istanze gestite regionali. Puoi utilizzare gruppi di istanze gestite a livello di zona, gruppi di istanze non gestite a livello di zona e NEG di zona con endpoint
GCE_VM_IP.Valgono anche le limitazioni e le indicazioni esistenti per l'utilizzo dei gruppi di istanze nei servizi di backend per il bilanciatore del carico di rete passthrough esterno globale. Un gruppo di istanze condiviso tra un bilanciatore del carico di rete passthrough esterno globale e bilanciatori del carico di rete passthrough regionali (bilanciatore del carico di rete passthrough esterno regionale o bilanciatore del carico di rete passthrough interno) deve essere configurato per utilizzare la modalità di bilanciamento
RATEsul bilanciatore del carico di rete passthrough esterno globale. I bilanciatori del carico di rete passthrough regionali utilizzano sempre la modalità di bilanciamentoCONNECTION.Puoi condividere lo stesso indirizzo IP esterno globale tra più regole di forwarding del bilanciatore del carico di rete passthrough esterno globale, a condizione che i protocolli e le porte configurati non siano in conflitto. Tuttavia, non puoi condividere lo stesso indirizzo IP esterno globale tra un bilanciatore del carico di rete passthrough esterno globale e un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico di rete proxy esterno globale.
Un bilanciatore del carico di rete passthrough esterno globale supporta Bring your own IP (BYOIP) solo per gli indirizzi IPv4. Il supporto è limitato all'API BYOIP v1. Il provisioning di nuovi intervalli IPv4 può richiedere fino a 4 settimane e non esistono API che consentano di controllare lo stato di annuncio BGP. Per maggiori dettagli, vedi Configurazioni Bring Your Own IP.
Non puoi creare più di 10 regole di forwarding in un progetto e non puoi aggiungere più di 25 gruppi di backend a un servizio di backend. Per maggiori dettagli, consulta Quote e limiti.
Un servizio di backend del bilanciatore del carico di rete passthrough esterno globale può avere al massimo un gruppo di backend
PREFERRED. Non puoi avere un gruppo di backendPREFERREDe nonPREFERREDnella stessa regione Cloud de Confiance .Non puoi eseguire il deployment di un bilanciatore del carico di rete passthrough esterno globale in GKE.
Non puoi utilizzare Google Cloud Armor per fornire una protezione DDoS di rete avanzata per i bilanciatori del carico di rete passthrough esterni globali. Per maggiori dettagli, vedi Configura la protezione DDoS di rete avanzata.
La policy di località di bilanciamento del carico, configurata sul servizio di backend del bilanciatore del carico, non supporta l'opzione
WEIGHTED_MAGLEV. Per i bilanciatori del carico di rete passthrough esterni globali, è supportato soloMAGLEV.La modalità di monitoraggio delle connessioni
PER_SESSIONnon è supportata. È supportata solo la modalità di monitoraggio delle connessioniPER_CONNECTION.Sono supportate solo le seguenti modalità di bilanciamento del carico:
RATEeUTILIZATION. La velocità è definita non in termini di richieste al secondo, ma di pacchetti in entrata al secondo. I gruppi di istanze supportano siaRATEcheUTILIZATION, mentre i NEG supportano soloRATE.Le regole di forwarding dello steering (steering del traffico basato sull'IP di origine) non sono supportate.
Tutti i backend collegati a un servizio di backend devono essere dello stesso tipo. Un servizio di backend non può avere un mix di gruppi di istanze e NEG di zona.
Non è possibile eseguire query o filtrare le metriche di monitoraggio utilizzando le regole di forwarding globali principali. Devono essere sottoposte a query utilizzando le regole di forwarding secondarie generate da Cloud de Confiance.
Prezzi
Per informazioni sui prezzi, consulta Prezzi di rete: Cloud Load Balancing.
Passaggi successivi
- Configura un bilanciatore del carico di rete passthrough esterno globale con backend di gruppi di istanze VM
- Configura un bilanciatore del carico di rete passthrough esterno globale con backend NEG di zona
- Modalità di bilanciamento per i bilanciatori del carico di rete passthrough
- Specifiche della capacità target per i bilanciatori del carico di rete passthrough esterni globali
- Riferimenti all'API Cloud Load Balancing e a gcloud CLI