Regole di inoltro del bilanciatore del carico di rete passthrough interno che utilizzano un indirizzo IP comune

I bilanciatori del carico di rete passthrough interni sono bilanciatori del carico regionali che ti consentono di eseguire e scalare i servizi dietro un indirizzo IP interno accessibile solo alle tue istanze di macchine virtuali (VM) interne.

Questa pagina descrive l'utilizzo di più regole di forwarding con lo stesso indirizzo IP. Per informazioni generali sui bilanciatori del carico di rete passthrough interni, consulta la panoramica del bilanciatore del carico di rete passthrough interno.

Utilizzando le regole di forwarding interno, puoi utilizzare un indirizzo IP interno condiviso in un massimo di dieci regole di forwarding. Per condividere un indirizzo IP, imposta lo scopo dell'indirizzo IP su SHARED_LOADBALANCER_VIP. Puoi utilizzare TCPo UDP per il protocollo della regola di forwarding e assegnare fino a cinque porte alla regola di forwarding oppure specificare --ports=ALL per utilizzare tutte le porte. Se vuoi utilizzare il protocollo L3_DEFAULT, devi utilizzare tutte le porte con l'opzione --ports=ALL.

Con combinazioni uniche di protocolli e porte, puoi:

  • Crea 50 porte TCP uniche con ogni regola di forwarding utilizzando il protocollo TCP.

    Se una regola di forwarding è configurata per utilizzare il protocollo TCP e tutte le porte, nessun'altra regola di forwarding che utilizza il protocollo TCP può utilizzare lo stesso indirizzo IP condiviso.

  • Crea 50 porte UDP uniche con ogni regola di forwarding utilizzando il protocollo UDP.

    Se una regola di forwarding è configurata per utilizzare il protocollo UDP e tutte le porte, nessun'altra regola di forwarding che utilizza il protocollo UDP può utilizzare lo stesso indirizzo IP condiviso.

  • Crea 50 combinazioni uniche di porte TCP e UDP, con ogni regola di forwarding che utilizza il protocollo TCP o UDP.

  • Fai riferimento a un servizio di backend comune (un singolo bilanciatore del carico) o a più servizi di backend (più bilanciatori del carico che condividono lo stesso indirizzo IP).

  • Utilizza tutte le porte quando configuri una regola di forwarding con il protocollo L3_DEFAULT. Può esistere una sola regola di forwarding L3_DEFAULT per un indirizzo IP, che può essere condivisa con altre regole di forwarding TCP e UDP, se necessario.

Quando le regole di forwarding hanno protocolli diversi, devi avere anche due servizi di backend diversi. Un singolo bilanciatore del carico di rete passthrough interno funziona per il traffico TCP o UDP, non per entrambi, perché ha un singolo servizio di backend che utilizza solo uno di questi protocolli.

Matrici decisionali per le regole di forwarding

Utilizza le tabelle seguenti per progettare l'implementazione.

Singolo bilanciatore del carico di rete passthrough interno

Un singolo servizio di backend supporta TCP o UDP, non entrambi.

Quando hai bisogno di più regole di inoltro, calcola il numero di regole di inoltro necessarie utilizzando la formula ⌈total number of ports / 5⌉, dove ⌈⌉ è la funzione di arrotondamento per eccesso (il più piccolo numero intero) e significa arrotondare per eccesso al numero intero più vicino.

Ad esempio, supponiamo che ti servano 26 porte TCP su un indirizzo IP del bilanciatore del carico. Se non vuoi creare una singola regola di forwarding utilizzando --ports=ALL, devi creare sei regole di forwarding perché 26 / 5 = 5 with a remainder of 1.

Configurazione frontend prevista Numero di regole di inoltro richieste Flag --purpose=SHARED_LOADBALANCER_VIP obbligatorio per l'indirizzo IP Specifica della porta della regola di forwarding
Un indirizzo IP, traffico su tutte le porte Una regola di forwarding No --ports=ALL
Un indirizzo IP, traffico su porte specifiche

Per un massimo di cinque porte:
una regola di forwarding

Per sei o più porte:
più regole di forwarding

Per un massimo di cinque porte: no

Per sei o più porte: sì

Imposta --ports su un insieme di un massimo di cinque numeri di porta contigui o non contigui.
Più indirizzi IP, traffico su tutte le porte Una regola di forwarding per indirizzo IP No --ports=ALL
Più indirizzi IP, traffico su porte specifiche Almeno una regola di forwarding per indirizzo IP

Se utilizzi cinque o meno porte per indirizzo IP: no

Se utilizzi sei o più porte per indirizzo IP: sì

Imposta --ports su un insieme di un massimo di cinque numeri di porta contigui o non contigui.

Due bilanciatori del carico di rete passthrough interni

Quando hai due bilanciatori del carico di rete passthrough interni, puoi avere due servizi di backend, uno per il traffico TCP e l'altro per il traffico UDP.

Quando hai bisogno di più regole di inoltro, calcola il numero di regole di inoltro necessarie utilizzando la seguente formula, dove ⌈⌉ è la funzione di arrotondamento per eccesso (il più piccolo numero intero) e significa arrotondare per eccesso al numero intero più vicino:

 ⌈total number of TCP ports / 5⌉

 ⌈total number of UDP ports / 5⌉

Ad esempio, supponiamo di aver bisogno di 26 porte TCP e 12 porte UDP. Devi creare nove regole di forwarding:

  • 26 / 5 = 5 with a remainder of 1, quindi hai bisogno di sei regole di forwarding per le tue porte TCP.
  • 12 / 5 = 2 with a remainder of 2, quindi hai bisogno di tre regole di forwarding per le tue porte UDP.
Configurazione frontend prevista Numero di regole di inoltro richieste Flag --purpose=SHARED_LOADBALANCER_VIP obbligatorio per l'indirizzo IP Specifica della porta della regola di forwarding
Un indirizzo IP, traffico su tutte le porte Due regole di forwarding: una per TCP e una per UDP Poiché la regola di forwarding TCP e la regola di forwarding UDP devono condividere un singolo indirizzo IP: sì --ports=ALL
Un indirizzo IP, traffico su porte specifiche

Per un massimo di cinque porte TCP e cinque porte UDP: due regole di forwarding: una per TCP e una per UDP

Per sei o più porte TCP o UDP: più regole di forwarding, dove ogni regola di forwarding supporta un protocollo e un massimo di cinque porte

Imposta --ports su un insieme di un massimo di cinque numeri di porta contigui o non contigui.
Più indirizzi IP, traffico su tutte le porte, TCP o UDP

Almeno due regole di forwarding: una per TCP che utilizza un indirizzo IP e una per UDP che utilizza un indirizzo IP diverso

Tre o più regole di forwarding se hai bisogno di tre o più indirizzi IP

No --ports=ALL
Più indirizzi IP, traffico su porte specifiche, TCP o UDP

Almeno due regole di forwarding: una per TCP che utilizza un indirizzo IP e una per UDP che utilizza un indirizzo IP diverso

Più di due regole di forwarding se hai bisogno di una delle seguenti opzioni:

  • Più di due indirizzi IP
  • Più di cinque porte per il traffico TCP su un indirizzo IP o più di cinque porte per il traffico UDP su un indirizzo IP

Per un indirizzo IP con un massimo di cinque porte TCP e un indirizzo IP con un massimo di cinque porte UDP: no

Per sei o più porte TCP o UDP: sì

Imposta --ports su un insieme di un massimo di cinque numeri di porta contigui o non contigui.

Limitazioni

  • Due o più regole di forwarding con lo stesso indirizzo IP e protocollo non possono avere porte sovrapposte. Ad esempio:
    • Quando configuri la regola di forwarding con il protocollo TCP e la porta 80, non puoi configurare un'altra regola di forwarding per gestire quel protocollo e quella porta. Ad esempio, non puoi creare un'altra regola di forwarding per gestire le porte TCP 80, 81 e 90.
    • Quando configuri la regola di forwarding per TCP e le porte 80, 8080 e 90, non puoi configurare un'altra regola di forwarding per TCP che utilizzi tutte le porte.
  • Quando due o più regole di forwarding condividono lo stesso indirizzo IP utilizzando il flag --purpose=SHARED_LOADBALANCER_VIP, al massimo solo una di queste può avere il protocollo impostato su L3_DEFAULT.

Casi d'uso

Sono possibili molti tipi diversi di deployment. I seguenti esempi utilizzano un indirizzo IP che accetta il traffico su porte specifiche per due bilanciatori del carico.

Esempio 1

Questo esempio utilizza regole di inoltro diverse con i seguenti parametri:

  • Lo stesso indirizzo IP (10.1.1.1)
  • Protocolli diversi
  • Servizi di backend separati a cui punta ogni regola di forwarding
  • Protocolli corrispondenti: il protocollo di ogni servizio di backend corrisponde al protocollo della regola di forwarding corrispondente
Regole di forwarding diverse, stesso indirizzo IP, protocolli e porte diversi.
Regole di forwarding diverse, stesso indirizzo IP, protocolli e porte diversi (fai clic per ingrandire).

Esempio 2

Questo esempio utilizza regole di inoltro diverse con i seguenti parametri:

  • Lo stesso indirizzo IPv4 (10.1.1.1)
  • Lo stesso protocollo
  • Un insieme diverso di porte numerate in ogni regola di forwarding
Regole di forwarding diverse, stesso indirizzo IP, stesso protocollo, più di cinque porte numerate.
Regole di forwarding diverse, stesso indirizzo IP, stesso protocollo, più di cinque porte numerate (fai clic per ingrandire).

Passaggi di configurazione

Puoi creare più regole di forwarding interno con lo stesso indirizzo IP se esegui entrambe le seguenti operazioni:

  1. Crea un indirizzo IP interno statico (prenotato) da utilizzare per le regole di forwarding.
  2. Imposta il flag --purpose sull'indirizzo IP interno condiviso sul valore SHARED_LOADBALANCER_VIP.

Per un esempio di configurazione, consulta Accettare il traffico su più porte utilizzando due regole di forwarding.