Un bilanciatore del carico di rete passthrough interno è un bilanciatore del carico regionale che consente di eseguire scalare i servizi dietro un indirizzo IP interno. Puoi utilizzare un il bilanciatore del carico di rete passthrough interno come hop successivo a cui i pacchetti vengono inoltrati lungo per raggiungere la destinazione finale. Per farlo, imposta il bilanciatore del carico come hop successivo in una route statica.
Prima di esaminare le informazioni in questa pagina, dovresti già conoscere con concetti quali:
Un hop successivo del bilanciatore del carico di rete passthrough interno è utile nei seguenti casi:
per bilanciare il carico del traffico su più VM funzionanti. come VM gateway o router.
Per utilizzare il gateway virtuale elettrodomestici come hop successivo per una route predefinita. Con questa configurazione, le istanze di macchine virtuali (VM) nella rete VPC (Virtual Private Cloud) inviano traffico a internet tramite un insieme di VM gateway virtuali bilanciate in base al carico.
Per inviare il traffico attraverso più bilanciatori del carico in due o più utilizzando lo stesso insieme di VM gateway o router con più NIC delle di backend. Per farlo, creerai un bilanciatore del carico e lo userai come hop successivo per una route statica in ogni rete VPC. Ogni bilanciatore del carico di rete passthrough interno opera all'interno di un'unica rete VPC, distribuendo il traffico alle interfacce di rete delle VM di backend in quella rete.
Architettura
Nel diagramma seguente, un gruppo di istanze VM di VM router funge da
per due diversi bilanciatori del carico.
Il primo bilanciatore del carico di rete passthrough interno invia pacchetti a nic0
del backend
Le VM e il secondo bilanciatore del carico di rete passthrough interno inviano pacchetti a nic1
sulla
gli stessi backend.
Vantaggi dell'utilizzo del bilanciatore del carico di rete passthrough interno come hop successivo
Quando il bilanciatore del carico è un hop successivo per una route statica, non è necessaria alcuna configurazione speciale nei sistemi operativi guest delle VM client nella rete VPC in cui è definita la route. Le VM client inviano pacchetti ai backend del bilanciatore del carico instradamento sulla rete VPC, bump-in-the-wire moda.
Utilizzo di un bilanciatore del carico di rete passthrough interno come hop successivo per una route statica Offre gli stessi vantaggi di un bilanciatore del carico di rete passthrough interno autonomo. Il controllo di integrità del bilanciatore del carico assicura che le nuove connessioni vengano instradate a VM di backend in buono stato. Utilizzando un gruppo di istanze gestite come backend, puoi configurare la scalabilità automatica per aumentare o ridurre il set di VM in base al servizio domanda.
Specifiche
Di seguito sono riportate le specifiche per l'utilizzo dei bilanciatori del carico di rete passthrough interni come hop successivi.
Route
Puoi creare una route statica per trasmettere TCP, UDP e altri protocolli
traffico a un bilanciatore del carico di rete passthrough interno, dove quest'ultimo è
hop successivo per la route statica. Il route può essere un prefisso CIDR esterno (instradabile pubblicamente) o un prefisso CIDR interno, se il prefisso non è in conflitto con un route di subnet. Per
Ad esempio, puoi sostituire la route predefinita (0.0.0.0/0
) con una route
indirizza il traffico alle VM backend di terze parti per l'elaborazione dei pacchetti.
Opzioni per specificare l'hop successivo
Puoi specificare l'hop successivo di un bilanciatore del carico di rete passthrough interno in uno dei due modi seguenti:
- Utilizzando il nome e la regione della regola di inoltro
- Utilizzando l'indirizzo IP della regola di forwarding
Per maggiori dettagli sul progetto e sulla rete VPC in cui l'hop successivo del bilanciatore del carico di rete passthrough interno può risiedere, vedi Hop successivi e funzionalità.
Puoi scambiare route statiche con gli hop successivi del bilanciatore del carico di rete passthrough interno utilizzando peering di rete VPC. Per maggiori dettagli, vedi Opzioni per lo scambio di immagini statiche route.
Affinità sessione IP client
I bilanciatori del carico di rete passthrough interni offrono due "indirizzi IP client" simili sessione opzioni di affinità:
- IP client (
CLIENT_IP
): un hash a due tuple dell'indirizzo IP di origine di un pacchetto e l'indirizzo IP di destinazione. Quando un bilanciatore del carico di rete passthrough interno non è l'hop successivo di una route, i pacchetti inviati all'indirizzo IP della regola di inoltro del bilanciatore del carico condividono un indirizzo IP di destinazione comune, ovvero l'indirizzo IP della regola di inoltro. In questo , uno degli indirizzi utilizzati dall'hash a due tuple rimane costante. Pertanto, se il numero di backend configurati e integri non cambia pacchetti hanno indirizzi IP di origine identici, questa affinità sessione a due tuple seleziona lo stesso backend. - IP client, nessuna destinazione (
CLIENT_IP_NO_DESTINATION
): un hash di una tupla dell'indirizzo IP di origine di un pacchetto. Quando utilizzi un bilanciatore del carico di rete passthrough interno come hop successivo, l'indirizzo IP di destinazione spesso varia perché gli indirizzi IP di destinazione sono quelli specificati attributo destination. In questa situazione, l'affinità di sessione dell'hash di due tuple IP client (CLIENT_IP
) non può selezionare lo stesso backend anche quando il numero di backend configurati e operativi non cambia e i pacchetti hanno indirizzi IP di origine identici. Un'eccezione a questa regola è quando è configurato un solo backend. Se vuoi che i pacchetti con indirizzi IP di origine identici vengano instradati allo stesso backend, devi utilizzare l'opzione di affinità della sessione IP client, nessuna destinazione (CLIENT_IP_NO_DESTINATION
).
Intervallo di destinazione
La destinazione di una route statica
non può essere uguale o più specifico di una subnet
. Tieni presente che più specifica significa che la maschera di sottorete è più lunga. Questa regola si applica a tutte le route statiche, tra cui
quando l'hop successivo è un bilanciatore del carico di rete passthrough interno. Ad esempio, supponiamo che il percorso della sottorete sia 10.140.0.0/20
. La destinazione di una route statica non può essere uguale (10.140.0.0/20
) e non può essere più specifica, come in 10.140.0.0/22
.
Stessa rete VPC e stessa regione
Le route statiche che utilizzano bilanciatori del carico di rete passthrough interni come hop successivi sono limitate a le seguenti:
Una singola rete VPC. Il bilanciatore del carico e la route statica deve trovarsi nella stessa rete VPC.
Una singola regione o tutte le regioni. A meno che non configuri l'accesso globale, la route statica è disponibile solo per le risorse nella stessa regione del bilanciatore del carico. Questa limitazione regionale viene applicata anche se la route stessa fa parte della tabella di routing per l'intera rete VPC. Se attivi con accesso globale, la route statica è disponibile per le risorse in qualsiasi regione.
Pubblicizzazione della route statica
Per pubblicizzare il prefisso (destinazione) per la route statica, puoi utilizzare Annuncio personalizzato di router Cloud . L'ambito dell'annuncio route dipende dall'impostazione di accesso globale del bilanciatore del carico, come segue:
Quando l'accesso globale è disabilitato, il bilanciatore del carico di rete passthrough interno è disponibile solo per VM, tunnel Cloud VPN e collegamenti Cloud Interconnect (VLAN) che si trovano nella stessa regione del bilanciatore del carico. Di conseguenza, annuncio di route personalizzata per il prefisso di una route statica ha solo senso se il router Cloud e il bilanciatore del carico si trovano nella stessa regione.
Quando l'accesso globale è abilitato, il bilanciatore del carico di rete passthrough interno è disponibile per le VM, i tunnel VPN Cloud e i collegamenti Cloud Interconnect (VLAN) in qualsiasi regione. Con il routing dinamico globale, gli ambienti on-premise possono utilizzare la route statica da qualsiasi regione connessa.
La tabella seguente riassume l'accessibilità del bilanciatore del carico.
Accesso globale | Modalità di routing dinamico della rete VPC | Accesso al bilanciatore del carico |
---|---|---|
Disabilitato | Regionale | Accessibile dai router nella stessa regione |
Disabilitato | Globale | Accessibile dai router nella stessa regione |
Abilitato | Regionale | Accessibile da tutti i router in qualsiasi regione |
Abilitato | Globale | Accessibile da tutti i router in qualsiasi regione |
Per maggiori informazioni informazioni, vedi Bilanciatori del carico di rete passthrough interni e reti.
Ordine delle operazioni
Devi creare un bilanciatore del carico di rete passthrough interno prima di poter creare una route statica che lo utilizzi come hop successivo. Il bilanciatore del carico deve esistere prima di poter creare il percorso. Se provi a creare una route che fa riferimento a un bilanciatore del carico non esistente, Google Cloud restituisce un errore.
Puoi specificare un hop successivo del bilanciatore del carico di rete passthrough interno utilizzando il protocollo della regola e la regione del bilanciatore del carico oppure usando l'indirizzo IP interno associate alla regola di forwarding.
Dopo aver creato una route con un hop successivo che fa riferimento a un bilanciatore del carico di rete passthrough interno, non puoi eliminare il bilanciatore del carico se prima non elimini percorso. Nello specifico, non puoi eliminare una regola di forwarding interno finché non la route statica utilizza il bilanciatore del carico come hop successivo.
Requisiti di backend
Devi configurare tutte le VM di backend del bilanciatore del carico di rete passthrough interno per consentire il forwarding IP (
--can-ip-forward = True
). Per ulteriori informazioni, consulta Considerazioni comuni agli hop successivi dell'istanza e del bilanciatore del carico di rete passthrough interno.Non puoi utilizzare un bilanciatore del carico di rete passthrough interno i cui backend sono i nodi Google Kubernetes Engine (GKE) come hop successivo per una route statica. Il software sui nodi può instradare il traffico ai pod solo se la destinazione corrisponde a un indirizzo IP gestito dal cluster, non a una destinazione arbitraria.
Elaborazione del traffico TCP, UDP e di altro tipo
Quando un bilanciatore del carico di rete passthrough interno viene implementato come hop successivo, Google Cloud inoltra tutto il traffico su tutte le porte alle VM di backend, indipendentemente da quanto segue:
- Il protocollo e la configurazione delle porte della regola di forwarding
- La configurazione del protocollo del servizio di backend
Il bilanciatore del carico di rete passthrough interno, che è l'hop successivo della route, supporta perfettamente inoltrando tutto il traffico per i protocolli supportati da Google Cloud. Reti VPC (come TCP, UDP e ICMP).
Ulteriori considerazioni
Regole di inoltro supportate. Google Cloud supporta solo l'hop successivo le regole di forwarding del bilanciatore del carico di rete passthrough interno. Google Cloud non supporta regole di forwarding dell'hop utilizzate da altri bilanciatori del carico, forwarding del protocollo come endpoint Private Service Connect.
Metodi di specifica e rete e progetto della regola di forwarding. Puoi specifica una regola di forwarding per l'hop successivo utilizzando uno dei tre metodi seguenti. Il metodo di specifica utilizzato determina se la rete della regola di inoltro deve corrispondere alla rete del percorso e in quale progetto può trovarsi la regola di inoltro:
Per nome della regola di inoltro (
--next-hop-ilb
) e regione (--next-hop-ilb-region
): quando specifichi una regola di inoltro del prossimo hop per nome e regione, la rete della regola di inoltro deve corrispondere alla rete VPC della route. La regola di inoltro deve trovarsi nello stesso progetto che contiene la rete della regola di inoltro (un progetto autonomo o un progetto host VPC condiviso).Per link alla risorsa regola di inoltro: il link alla risorsa di una regola di inoltro utilizza il formato
/projects/
PROJECT_ID/regions/
REGION/forwardingRules/
FORWARDING_RULE_NAME, dove PROJECT_ID è l'ID progetto del progetto che contiene la regola di inoltro,REGION è la regione della regola di inoltro eFORWARDING_RULE_NAME è il nome della regola di inoltro. Quando specifichi una regola di forwarding per l'hop successivo tramite il relativo link della risorsa, la rete della regola di forwarding deve corrispondere al VPC della route in ogni rete. La regola di forwarding può trovarsi uno nel progetto che che contiene la rete della regola di forwarding (un progetto autonomo o progetto host del VPC condiviso) o di un servizio VPC condiviso progetto.In base all'indirizzo IPv4 di una regola di inoltro: quando specifichi una regola di inoltro dell'hop successivo in base al relativo indirizzo IPv4, la rete della regola di inoltro può essere la rete VPC della route o una rete VPC in peering. La regola di inoltro può trovarsi in un progetto che contiene la rete della regola di inoltro (un progetto autonomo o un progetto host VPC condiviso) o in un progetto di servizio VPC condiviso.
Effetto dell'accesso globale. Le route statiche personalizzate che utilizzano i hop successivi del bilanciatore del carico di rete passthrough interno sono programmate in tutte le regioni. La possibilità di utilizzare l'hop successivo dipende dall'impostazione di accesso globale del bilanciatore del carico. Con l'accesso globale abilitato, l'hop successivo del bilanciatore del carico è accessibile in tutte le regioni della rete VPC. Se l'accesso globale è disattivato, il carico l'hop successivo del bilanciatore è accessibile solo nella stessa regione del carico con il bilanciatore del carico di rete passthrough esterno regionale. Se l'accesso globale è disabilitato, i pacchetti inviati da un'altra regione che utilizza un hop successivo del bilanciatore del carico di rete passthrough interno.
Quando tutti i backend sono in stato non integro. Quando tutti i backend di un il bilanciatore del carico di rete passthrough interno non supera i controlli di integrità, le route che utilizzano quel bilanciatore del carico hop successivo sono ancora attivi. I pacchetti elaborati dalla route vengono inviati a uno dei backend del bilanciatore del carico dell'hop successivo in base alla distribuzione del traffico.
Regole di forwarding che utilizzano un indirizzo IP interno comune (
--purpose=SHARED_LOADBALANCER_VIP
) non sono supportati. I bilanciatori del carico di rete passthrough interni per l'hop successivo e le regole di inoltro dei bilanciatori del carico di rete passthrough interni con un indirizzo IP comune sono funzionalità mutuamente esclusive. Un bilanciatore del carico di rete passthrough interno dell'hop successivo deve utilizzare un indirizzo IP univoco per la regola di inoltro del bilanciatore del carico in modo che venga fatto riferimento in modo inequivocabile a un solo servizio di backend (un bilanciatore del carico). È possibile che le regole di forwarding utilizzino un indirizzo IP interno comune fare riferimento a servizi di backend diversi (bilanciatori del carico di rete passthrough interni diversi).Più percorsi con le stesse destinazioni e priorità, ma diverse bilanciatori del carico di rete passthrough interni con l'hop successivo. Google Cloud non distribuisce mai il traffico tra due o più bilanciatori del carico di rete passthrough interni di hop successivo utilizzando ECMP. Al contrario, Google Cloud seleziona un solo bilanciatore del carico di rete passthrough interno di hop successivo utilizzando un algoritmo interno deterministico. Per evitare questa ambiguità, puoi utilizzare tag di rete univoci per ogni percorso.
Più route con le stesse destinazioni, priorità e bilanciatori del carico di rete passthrough interni come hop successivo. Senza un tag di rete, Google Cloud non consentono di creare più route statiche che hanno la stessa combinazione destinazione, priorità e bilanciatore del carico di rete passthrough interno. Con i tag di rete, puoi creare più route statiche con la stessa combinazione di destinazione, priorità e hop successivo del bilanciatore del carico di rete passthrough interno.
Casi d'uso
Puoi utilizzare un bilanciatore del carico di rete passthrough interno come hop successivo in più deployment le topologie.
Per ogni esempio, tieni presente le seguenti linee guida:
Ogni interfaccia della VM deve trovarsi in una rete VPC separata.
Non puoi utilizzare VM di backend o bilanciatori del carico per instradare il traffico tra le subnet nella stessa rete VPC perché le route delle subnet non possono essere sovrascritte.
Il bilanciatore del carico di rete passthrough interno è un bilanciatore del carico passthrough definito in base al software. I pacchetti vengono consegnati alle VM di backend senza modifiche alle informazioni di origine o di destinazione (indirizzi o indirizzi e porte).
routing, filtro dei pacchetti, proxying e traduzione degli indirizzi sono la responsabilità delle VM delle appliance virtuali che fungono da backend il bilanciatore del carico di rete passthrough interno.
Utilizzo di un bilanciatore del carico di rete passthrough interno come hop successivo per un gateway NAT
Questo caso d'uso esegue il bilanciamento del carico del traffico dalle VM interne a più istanze di gateway NAT che instradano il traffico a internet.
Hub e spoke: scambio di route di hop successivo tramite il peering di rete VPC
Oltre a scambiare le route delle subnet, puoi configurare Peering di rete VPC per esportare e importare route statiche e dinamiche. Route statiche che in presenza di un hop successivo del gateway internet predefinito. Sono inclusi i percorsi statici personalizzati che utilizzano bilanciatori del carico di rete passthrough interni come hop successivo.
Puoi configurare una topologia hub e spoke con il firewall virtuale dell'hop successivo
posizionate nella rete VPC hub
mediante l'esecuzione
seguenti:
- Nella rete VPC
hub
, crea un bilanciatore del carico di rete passthrough interno con appliance virtuali firewall come backend. - Nella rete VPC
hub
, crea una route statica e imposta l'hop successivo per essere il bilanciatore del carico di rete passthrough interno. - Connetti la rete VPC
hub
a ogni retespoke
tramite peering di rete VPC. - Per ogni peering, configura la rete
hub
in modo da esportare le route personalizzate e configura la retespoke
corrispondente in modo da importare le route personalizzate. Il percorso con l'hop successivo del bilanciatore del carico è una delle route che la retehub
.
Soggetto all'ordine di routing, all'hop successivo
il bilanciatore del carico dell'appliance firewall nella rete VPC hub
è
disponibili nelle reti spoke:
- ai client nella stessa regione del bilanciatore del carico, se l'accesso globale è disabilitato
- ai client in tutte le regioni, se l'accesso globale è abilitato, in base all'ordine di instradamento.
Bilanciamento del carico su più NIC
Nel caso d'uso riportato di seguito, le VM di backend sono istanze di appliance virtuali (ad ad esempio VM di ispezione dei pacchetti, routing o gateway) con NIC in più reti VPC. Queste istanze di appliance virtuali possono essere soluzioni commerciali di terze parti o soluzioni create da te. Lo strumento virtuale sono VM di Compute Engine più NIC.
Questo esempio mostra un singolo set di appliance virtuali di backend in una VM gestita gruppo di istanze gestite.
Nella rete VPC denominata testing
, il bilanciatore del carico di rete passthrough interno ha
una regola di forwarding denominata fr-ilb1
. Nell'esempio, questo bilanciatore del carico
distribuisce il traffico all'interfaccia nic0
.
Nella rete VPC denominata production
, un altro bilanciatore del carico di rete passthrough interno ha una regola di inoltro denominata fr-ilb2
. Questo bilanciatore del carico
distribuisce il traffico a un'altra interfaccia, nic1
in questo esempio.
Per una configurazione dettagliata, consulta Bilanciamento del carico su più NIC di backend.
Hashing simmetrico
L'esempio precedente non utilizza la Network Address Translation di origine (SNAT). SNAT non è necessario perché Google Cloud utilizza hashing simmetrico. Ciò significa che quando i pacchetti appartengono allo stesso flusso, Google Cloud calcola lo stesso hash. In altre parole, l'hash non cambia quando l'indirizzo IP di origine:porta viene scambiato con l'IP di destinazione indirizzo:porta.
Note:
L'hashing simmetrico viene attivato automaticamente quando crei la regola di inoltro del bilanciatore del carico di rete passthrough interno a partire dal 22 giugno 2021.
Per abilitare l'hashing simmetrico sui bilanciatori del carico di rete passthrough interni esistenti, devi ricreare la regola di forwarding e la route dell'hop successivo, come descritto in Attivazione della modalità simmetrica di hashing.
L'hashing simmetrico è supportato solo con i bilanciatori del carico di rete passthrough interni.
L'hashing simmetrico è supportato con i seguenti tipi di affinità sessione per protocolli TCP e UDP:
- IP client (
CLIENT_IP
) - IP client e protocollo (
CLIENT_IP_PROTO
) - IP, protocollo e porta client (
CLIENT_IP_PORT_PROTO
)
Per ulteriori informazioni su queste impostazioni, consulta Affinità sessione opzioni.
- IP client (
Se necessario, puoi utilizzare SNAT se il tuo caso d'uso lo richiede.
Passaggi successivi
- Per configurare un bilanciatore del carico di rete passthrough interno come hop successivo, consulta Configurare un bilanciatore del carico di rete passthrough interno per dispositivi di terze parti o Eseguire il deployment di una rete hub and spoke utilizzando un bilanciatore del carico come hop successivo.
- Per configurare e testare un bilanciatore del carico di rete passthrough interno, consulta Configura un bilanciatore del carico di rete passthrough interno con backend di gruppi di istanze VM.
- Per risolvere i problemi relativi all'hop successivo con il bilanciatore del carico di rete passthrough interno, consulta Risolvere i problemi relativi ai bilanciatori del carico di rete passthrough interni.