Panoramica del bilanciamento del carico di rete TCP/UDP esterno

Il bilanciamento del carico di rete TCP/UDP esterno di Google Cloud (in seguito denominato Bilanciamento del carico di rete) è un bilanciatore del carico passthrough attraverso un'area geografica. Un bilanciatore del carico di rete distribuisce il traffico esterno tra le istanze di macchine virtuali (VM) nella stessa area geografica.

Puoi configurare un bilanciatore del carico di rete per il traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Un bilanciatore del carico di rete può ricevere traffico da:

  • Qualsiasi client su Internet
  • VM Google Cloud con IP esterni
  • VM Google Cloud con accesso a Internet tramite Cloud NAT o NAT basato su istanza

Il bilanciamento del carico di rete ha le seguenti caratteristiche:

  • Il bilanciamento del carico di rete è un servizio gestito.
  • Il bilanciamento del carico di rete viene implementato utilizzando il networking virtuale Andromeda e Google Maglev.
  • I bilanciatori del carico di rete non sono proxy.
    • I pacchetti con bilanciamento del carico vengono ricevuti dalle VM di backend con gli indirizzi IP di origine e di destinazione del pacchetto e il protocollo e, se il protocollo è basato su porta, le porte di origine e di destinazione rimangono invariate.
    • Le connessioni con bilanciamento del carico vengono terminate dalle VM di backend.
    • Le risposte dalle VM di backend passano direttamente ai client, non tramite il bilanciatore del carico. Il termine in questo senso è ritorno direttamente al server.

Il seguente diagramma mostra gli utenti in California, New York e Singapore. Tutti si connettono alle risorse di backend, ovvero myapp, test e viaggi. Quando un utente di Singapore si connette al backend degli Stati Uniti occidentali, il traffico in entrata più vicino a Singapore, perché l'intervallo è associato. Da lì, il traffico viene instradato al backend a livello di area geografica.

Tre backend regionali e tre regole di forwarding (fai clic per ingrandire)
Esempio di bilanciamento del carico di rete (fai clic per ingrandire)

Ambito

Un bilanciatore del carico di rete bilancia il traffico proveniente da Internet.

L'ambito di un bilanciatore del carico di rete è a livello di area geografica, non globale. Ciò significa che un bilanciatore del carico di rete non può includere più aree geografiche. All'interno di una singola area geografica, il bilanciatore del carico gestisce tutte le zone.

Casi d'uso

Utilizza il bilanciamento del carico di rete nelle seguenti circostanze:

  • Devi bilanciare il carico del traffico non TCP oppure devi bilanciare il carico di una porta TCP non supportata da altri bilanciatori del carico.
  • È accettabile che il traffico SSL venga decriptato dai tuoi backend anziché dal bilanciatore del carico. Il bilanciatore del carico di rete non può eseguire questa attività. Quando i backend decriptano il traffico SSL, il carico delle CPU sulle VM è maggiore.
  • Puoi gestire autonomamente i certificati SSL della VM di backend. I certificati SSL gestiti da Google sono disponibili solo per il bilanciamento del carico HTTP(S) e del proxy SSL esterno.
  • Devi inoltrare il proxy dei pacchetti originali. Ad esempio, se vuoi conservare l'IP di origine del client.
  • Hai una configurazione esistente che utilizza un bilanciatore del carico passthrough e vuoi eseguirne la migrazione senza modifiche.
  • Hai bisogno di una protezione DDoS di rete avanzata per il bilanciatore del carico di rete. Per ulteriori informazioni, consulta la sezione Configurare la protezione avanzata della rete DDoS con Google Cloud Armor.

Bilanciamento del carico per applicazioni GKE

Se stai creando applicazioni in GKE, ti consigliamo di utilizzare il controller di servizio GKE integrato, che esegue il deployment dei bilanciatori del carico Google Cloud per conto degli utenti GKE. Questa operazione è analoga all'architettura di bilanciamento del carico indipendente, tranne per il fatto che il suo ciclo di vita è completamente automatizzato e controllato da GKE.

Documentazione di GKE correlata:

Architettura

L'architettura di un bilanciatore del carico di rete dipende dal fatto che tu utilizzi un bilanciatore del carico di rete basato sul servizio di backend o un bilanciatore del carico di rete basato sul pool di destinazione.

Bilanciatore del carico di rete basato sul servizio di backend

I bilanciatori del carico di rete possono essere creati con un servizio di backend a livello di area geografica che definisce il comportamento del bilanciatore del carico e la modalità di distribuzione del traffico ai gruppi di istanze di backend. I servizi di backend abilitano funzionalità non supportate con i pool di destinazione legacy, come il supporto per i controlli di integrità non legacy (TCP, SSL, HTTP, HTTPS o HTTP/2), scalabilità automatica con gruppi di istanze gestite, svuotamento della connessione e criterio di failover configurabile.

I bilanciatori del carico di rete basati su servizio di backend supportano il traffico IPv4 e IPv6. Possono bilanciare il carico, UDP, UDP, ESP, GRE, ICMP e ICMPv6. Puoi anche utilizzare il sterzo del traffico basato su IP di origine per indirizzare il traffico a backend specifici.

Per informazioni dettagliate sull'architettura, consulta il bilanciatore del carico di rete con un servizio di backend a livello di area geografica.

Puoi anche eseguire la transizione di un bilanciatore del carico di rete basato su pool di destinazione esistente per utilizzare un servizio di backend. Per istruzioni, consulta la sezione Transizione dei bilanciatori del carico di rete dai pool di destinazione ai servizi di backend.

Bilanciatore del carico di rete basato sul pool di destinazione

Un pool di destinazione è il backend precedente supportato con i bilanciatori del carico di rete di Google Cloud. Un pool di destinazione definisce un gruppo di istanze che devono ricevere il traffico in entrata dal bilanciatore del carico.

I bilanciatori del carico di rete basati su pool di destinazione supportano il traffico TCP o UDP. Le regole di forwarding per i bilanciatori del carico di rete basati su pool di destinazione supportano solo indirizzi IPv4 esterni.

Per i dettagli dell'architettura, consulta il bilanciatore del carico di rete con un backend di pool di destinazione.

Confronto tra il bilanciamento del carico di rete e gli altri bilanciatori del carico Google Cloud

Per informazioni sulle differenze tra i bilanciatori del carico Google Cloud, consulta i seguenti documenti: