Terminazione IPv6 per bilanciatori del carico delle applicazioni esterni e bilanciatori del carico di rete proxy esterni

Google Cloud supporta i client IPv6 con bilanciatori del carico proxy. Il bilanciatore del carico accetta le connessioni IPv6 degli utenti e quindi ne esegue il proxy ai backend.

Puoi configurare indirizzi IP IPv4 e IPv6 (a doppio stack) per i seguenti bilanciatori del carico proxy:

Selezione delle Bilanciatore del carico delle applicazioni Bilanciatore del carico di rete proxy
Esterna Esterna
Frontend a doppio stack globale
versione classica
globale
versione classica
Backend a doppio stack globale1
globale1

1 Supporta i gruppi di istanze IPv4 e IPv6 (a doppio stack) e i backend NEG a livello di zona. I NEG di zona supportano il doppio stack solo su endpoint di tipo GCE_VM_IP_PORT.

L'esempio seguente mostra come funziona il bilanciamento del carico per i client IPv6 globali:

Bilanciamento del carico IPv6 globale.
Bilanciamento del carico IPv6 globale (fai clic per ingrandire).

La terminazione IPv6 consente di gestire le richieste IPv6 provenienti dagli utenti e di inviarle tramite proxy ai tuoi backend su IPv4 o IPv6. Con IPv6, puoi:

  • Usa un singolo indirizzo IPv6 anycast per il deployment in più regioni. Ti serve solo un indirizzo IPv6 del bilanciatore del carico per le istanze delle applicazioni in esecuzione in più regioni. Ciò significa che il tuo server DNS ha un singolo record AAAA e che non è necessario bilanciare il carico tra più indirizzi IPv6. La memorizzazione nella cache dei record AAAA da parte dei client non è un problema, perché c'è un solo indirizzo da memorizzare nella cache. Le richieste dell'utente all'indirizzo IPv6 vengono automaticamente bilanciate con il bilanciamento del carico verso il backend integro più vicino con capacità disponibile.

  • Bilancia il carico del traffico client HTTP, HTTPS, HTTP/2, TCP e SSL/TLS IPv6.

  • Overflow tra le regioni con un singolo indirizzo del bilanciatore del carico IPv6. Se le risorse dei backend in una regione sono esaurite o non sono in stato integro, il bilanciatore del carico globale indirizza automaticamente le richieste dagli utenti alla successiva regione più vicina con le risorse disponibili. Quando l'area geografica più vicina dispone di risorse, il bilanciamento del carico globale torna alla gestione da parte di questa regione. Il bilanciamento del carico globale richiede l'utilizzo del livello Premium di Network Service Tiers.

  • Esegui deployment a doppio stack. Per gestire i client IPv6 e IPv4, crea due risorse IP del bilanciatore del carico, una per IPv6 e l'altra per IPv4, e associale entrambe alle stesse istanze dell'applicazione. I client IPv4 si connettono all'indirizzo IPv4, mentre i client IPv6 si connettono all'indirizzo IPv6. Questi client vengono quindi bilanciati automaticamente il carico verso i backend a doppio stack IPv4 o IPv6 più vicini e con capacità disponibile. Per vedere quali bilanciatori del carico supportano i backend a doppio stack, consulta Tabella: Servizi di backend e tipi di backend supportati. Forniamo regole di forwarding IPv6 senza costi, quindi paghi solo per quelle IPv4.

    Indirizzamento del traffico IPv4 e IPv6 agli stessi backend.
    Indirizzamento del traffico IPv4 e IPv6 agli stessi backend (fai clic per ingrandire).

Terminazione e proxy IPv6

La configurazione della terminazione IPv6 per i bilanciatori del carico consente ai backend di apparire come applicazioni IPv6 ai client IPv6, come mostrato nella figura seguente:

Terminazione IPv6 per il bilanciamento del carico.
Terminazione IPv6 per il bilanciamento del carico (fai clic per ingrandire).

Quando un utente si connette al bilanciatore del carico tramite IPv6, si verifica quanto segue:

  1. Il bilanciatore del carico, con l'indirizzo IPv6 e la regola di forwarding, attende le connessioni dell'utente.
  2. Un client IPv6 si connette al bilanciatore del carico tramite IPv6.
  3. Il bilanciatore del carico funge da proxy inverso e termina la connessione del client IPv6. In base al criterio di selezione dell'indirizzo IP del servizio di backend, la richiesta viene inoltrata a un backend in una connessione IPv4 o IPv6.
  4. Nel percorso inverso, il bilanciatore del carico riceve la risposta dal backend, quindi la inserisce nella connessione IPv6 al client originale.

Allocazione degli indirizzi IPv6 per le regole di forwarding del bilanciatore del carico

Quando configuri un bilanciatore del carico esterno, gli fornisci una o più regole di forwarding globali, ciascuna con un indirizzo IP IPv4 o IPv6 esterno con routing pubblico (o entrambi). Puoi utilizzare questo indirizzo IP nei record DNS del tuo sito.

Quando crei una regola di forwarding, puoi utilizzare un indirizzo IP statico riservato per il tuo progetto oppure puoi fare in modo che la regola di forwarding acquisisca automaticamente un indirizzo IP temporaneo al momento della creazione della regola. Il tuo progetto contiene un indirizzo IP statico e puoi conservarlo finché non lo rilasci deliberatamente. Un indirizzo temporaneo appartiene alla regola di forwarding finché esiste la regola di forwarding. Se elimini la regola di forwarding, l'indirizzo temporaneo viene rilasciato di nuovo nel pool di Google Cloud.

Se hai bisogno sia di un indirizzo IPv4 che di un indirizzo IPv6 per il bilanciatore del carico, puoi creare due regole di forwarding, associando un indirizzo IPv4 a uno e un indirizzo IPv6 all'altro. Puoi quindi associare entrambe le regole allo stesso bilanciatore del carico.

Formato indirizzo IPv6

Google Cloud alloca un intervallo di indirizzi IPv6 /64 alle regole di forwarding IPv6. Google Cloud CLI elenca gli indirizzi IPv6 con i 64 bit meno significativi impostati su 0, ma il bilanciatore del carico accetta il traffico nell'intero intervallo. Pertanto, potresti vedere altri indirizzi IPv6 del bilanciatore del carico nell'intervallo allocato nelle intestazioni X-Forwarded-For, a seconda dell'indirizzo IP del server IPv6 a cui si è connesso il client.

Quando si formatta un indirizzo IPv6, Google Cloud segue i consigli riportati nella RFC 5952,sezione 4.

Intestazione IP client con terminazione IPv6 per gli Application Load Balancer esterni

Quando il bilanciatore del carico esegue il proxy della connessione IPv6 dal client a una connessione IPv4 al backend, l'indirizzo IP di origine originale viene sostituito con l'indirizzo IP del bilanciatore del carico. Tuttavia, i backend spesso devono conoscere l'indirizzo IP di origine originale per il logging, il processo decisionale o per altri scopi. Google Cloud fornisce un'intestazione HTTP che viene propagata ai backend che include l'indirizzo IP del client IPv6 originale.

Le intestazioni HTTP per IPv6 sono simili a quelle per IPv4. Il formato delle richieste è il seguente:

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

L'ultimo elemento mostra l'indirizzo IP del bilanciatore del carico. Il penultimo e l'ultimo mostra l'indirizzo IP del client visto dal bilanciatore del carico. Potrebbero esserci altri elementi nell'intestazione X-Forwarded-For quando il client o i proxy intermedi aggiungono altre intestazioni X-Forwarded-For prima di inviare la richiesta al bilanciatore del carico.

Un esempio di intestazione X-Forwarded-For potrebbe avere il seguente aspetto:

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234 è l'indirizzo IPv6 del client. 2607:f8b0:4005:801::200e è l'indirizzo IPv6 dell'Application Load Balancer esterno.

Prezzi

Le regole di forwarding per la terminazione IPv6 sono fornite senza costi aggiuntivi. Non ti viene addebitato alcun costo per gli indirizzi IPv6 temporanei. Agli indirizzi IPv6 riservati vengono addebitati i costi alle tariffe esistenti, indipendentemente dal fatto che siano in uso. In caso contrario, i prezzi del bilanciamento del carico IPv6 corrispondono a quelli del bilanciamento del carico IPv4. Per i dettagli sui prezzi del bilanciamento del carico, vedi Prezzi di rete.

Limitazioni

  • Il traffico IPv6 non è supportato con bilanciatori del carico delle applicazioni esterni regionali, bilanciatori del carico delle applicazioni interni tra regioni, bilanciatori del carico delle applicazioni interni regionali, bilanciatori del carico di rete proxy interni regionali, bilanciatori del carico di rete proxy interni regionali o bilanciatori del carico di rete proxy esterni regionali.
  • I bilanciatori del carico di rete proxy classici e i bilanciatori del carico delle applicazioni classici non supportano i backend a doppio stack; le richieste vengono inviate tramite proxy ai backend IPv4.

Passaggi successivi

* Protocollo di selezione degli indirizzi IP * Scegli un flusso di lavoro di migrazione