Questo documento mostra come viene gestito il traffico IPv6 dai bilanciatori del carico delle applicazioni e dai bilanciatori del carico di rete proxy. Questi bilanciatori del carico sono bilanciatori del carico proxy, il che significa che le connessioni client in entrata vengono terminate al bilanciatore del carico. Il bilanciatore del carico avvia quindi una nuova connessione per inoltrare la richiesta del client al backend. A seconda del tipo di bilanciatore del carico, puoi attivare IPv6 per una o entrambe queste connessioni.
L'attivazione di IPv6 per il bilanciatore del carico offre i seguenti vantaggi:
- Utilizza un singolo indirizzo IPv6 anycast per i deployment multiregionali. Ti serve un solo indirizzo IPv6 del bilanciatore del carico per le istanze dell'applicazione in esecuzione in più regioni. Ciò significa che il tuo server DNS ha un singolo record AAAA e che non devi 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 degli utenti all'indirizzo IPv6 vengono automaticamente bilanciate del carico verso il backend integro più vicino con capacità disponibile.
Esegui deployment dual-stack. Per gestire client IPv6 e IPv4, crea due indirizzi IP del bilanciatore del carico, uno per IPv6 e l'altro per IPv4. I client IPv4 si connettono all'indirizzo IPv4, mentre i client IPv6 si connettono all'indirizzo IPv6. Il carico di questi client viene quindi bilanciato automaticamente sui backend dual-stack IPv4 o IPv6 integri più vicini con capacità disponibile. Per vedere quali bilanciatori del carico supportano i backend dual-stack, consulta la tabella: servizi di backend e tipi di backend supportati.
Bilancia il carico del traffico client IPv6 HTTP, HTTPS, HTTP/2, TCP e SSL/TLS. Il supporto del protocollo dipende dal tipo di bilanciatore del carico che utilizzi e dal protocollo della regola di forwarding.
- Overflow tra regioni con un singolo indirizzo del bilanciatore del carico IPv6. Se i backend in una regione sono a corto di risorse o non sono integri, il bilanciatore del carico globale indirizza automaticamente le richieste degli utenti alla regione più vicina con risorse disponibili. Quando la regione più vicina dispone di risorse disponibili, il bilanciamento del carico globale torna a gestire le richieste da questa regione. Il bilanciamento del carico globale richiede l'utilizzo del livello Premium di Network Service Tiers.
Supporto del bilanciatore del carico
Per i bilanciatori del carico basati su proxy, come i bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy, la connessione dal client al bilanciatore del carico e la seconda connessione dal bilanciatore del carico al backend possono essere configurate indipendentemente l'una dall'altra. Ad esempio, il bilanciatore del carico può accettare il traffico IPv4 da un client, terminare la connessione e poi inoltrare la richiesta dal bilanciatore del carico al backend tramite una nuova connessione IPv6, a condizione che il backend sia un backend dual-stack in grado di gestire le connessioni IPv6.
Per consentire a un bilanciatore del carico di ricevere connessioni IPv6 dai client, devi utilizzare un indirizzo IPv6 per la regola di forwarding del bilanciatore del carico. La connessione successiva dal bilanciatore del carico al backend utilizza IPv4 per impostazione predefinita. Tuttavia, puoi abilitare l'utilizzo di IPv6 per determinati bilanciatori del carico configurando l'opzione Policy di selezione dell'indirizzo IP nel servizio di backend.
La tabella seguente descrive i tipi di connessione supportati da tutti i bilanciatori del carico basati su proxy:
| Bilanciatore del carico | Connessione dai client al bilanciatore del carico | Connessione dal bilanciatore del carico ai backend |
|---|---|---|
| Bilanciatore del carico delle applicazioni esterno globale Bilanciatore del carico di rete proxy esterno globale |
È possibile terminare sia le connessioni IPv4 che IPv6. | Uno dei seguenti:
|
| Bilanciatore del carico delle applicazioni classico Bilanciatore del carico di rete proxy classico |
È possibile terminare sia le connessioni IPv4 che IPv6. | Solo connessione IPv4 |
| Bilanciatore del carico delle applicazioni esterno regionale Bilanciatore del carico di rete proxy esterno regionale Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy interno regionale Bilanciatore del carico delle applicazioni interno tra regioni Bilanciatore del carico di rete proxy interno tra regioni |
Solo IPv4. Il traffico IPv6 non è supportato. | Uno dei seguenti:
|
GCE_VM_IP_PORT) possono essere configurati per essere dual-stack.
Come funziona la terminazione IPv6
La terminazione IPv6 è supportata dai bilanciatori del carico delle applicazioni globali e classici e dai bilanciatori del carico di rete proxy. La configurazione della terminazione IPv6 per questi bilanciatori del carico consente ai tuoi backend di apparire come applicazioni IPv6 ai tuoi client IPv6, come mostrato nella figura seguente:
Quando un utente si connette al bilanciatore del carico tramite IPv6, si verifica quanto segue:
- Il bilanciatore del carico, con il suo indirizzo IPv6 e la regola di forwarding, attende le connessioni degli utenti.
- Un client IPv6 si connette al bilanciatore del carico utilizzando IPv6.
- Il bilanciatore del carico funge da proxy inverso e termina la connessione client IPv6. In base al criterio di selezione degli indirizzi IP del servizio di backend, invia la richiesta in una connessione IPv4 o IPv6 a un backend.
- Nel percorso inverso, il bilanciatore del carico riceve la risposta dal backend e 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, fornisci una o più regole di forwarding, ognuna 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 al tuo progetto oppure puoi fare in modo che la regola di forwarding acquisisca automaticamente un indirizzo IP temporaneo quando la crei. Un indirizzo IP statico è riservato al tuo progetto e puoi mantenerlo 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 Google Cloud .
Se hai bisogno di un indirizzo IPv4 e IPv6 per il bilanciatore del carico, puoi creare due regole di forwarding, associando un indirizzo IPv4 a una e un indirizzo IPv6 all'altra. Puoi quindi associare entrambe le regole allo stesso bilanciatore del carico.
Formato dell'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 sull'intera gamma.
Pertanto, potresti visualizzare 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 formatta un indirizzo IPv6, Google Cloud segue i consigli della RFC 5952,sezione 4.
Intestazione IP client con terminazione IPv6 per i bilanciatori del carico delle applicazioni 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 la registrazione, il processo decisionale o altri scopi.Google Cloud fornisce un'intestazione HTTP che viene propagata ai backend che include l'indirizzo IP 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 elemento
mostra l'indirizzo IP del client visualizzato dal bilanciatore del carico. Potrebbero essere presenti 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'intestazione X-Forwarded-For di esempio 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 del bilanciatore del carico delle applicazioni esterno.
Convertire da solo IPv4 a dual-stack
Puoi convertire le risorse del bilanciatore del carico che utilizzano solo IPv4 (stack singolo) in IPv4 e IPv6 (stack doppio). Aggiornando le risorse del bilanciatore del carico, puoi instradare automaticamente il traffico IPv6 ai tuoi backend.
Per istruzioni su come convertire le risorse e i backend del bilanciatore del carico in dual stack, consulta la seguente documentazione:
| Bilanciatore del carico | Documentazione |
|---|---|
|
Bilanciatore del carico delle applicazioni esterno globale Bilanciatore del carico delle applicazioni interno tra regioni Bilanciatore del carico delle applicazioni esterno regionale Bilanciatore del carico delle applicazioni interno regionale |
Converti il bilanciatore del carico delle applicazioni in IPv6 |
|
Bilanciatore del carico di rete proxy esterno globale Bilanciatore del carico di rete proxy interno tra regioni Bilanciatore del carico di rete proxy esterno regionale Bilanciatore del carico di rete proxy interno regionale |
Converti il bilanciatore del carico di rete proxy in IPv6 |
Prezzi
Le regole di inoltro per la terminazione IPv6 sono fornite senza costi aggiuntivi. Non viene addebitato alcun costo per gli indirizzi IPv6 temporanei. Gli indirizzi IPv6 riservati vengono addebitati alle tariffe esistenti indipendentemente dal fatto che siano in uso. In caso contrario, i prezzi per il bilanciamento del carico IPv6 sono gli stessi del bilanciamento del carico IPv4. Per i dettagli sui prezzi del bilanciamento del carico, consulta la sezione Prezzi di utilizzo della rete.
Limitazioni
- I bilanciatori del carico di rete proxy classici e i bilanciatori del carico delle applicazioni classici non supportano i backend dual-stack; il traffico IPv6 viene terminato dal bilanciatore del carico e poi inviato tramite proxy ai backend su una connessione IPv4.
I bilanciatori del carico delle applicazioni esterni regionali, i bilanciatori del carico delle applicazioni interni regionali, i bilanciatori del carico di rete proxy interni regionali, i bilanciatori del carico di rete proxy interni tra regioni, i bilanciatori del carico delle applicazioni interni tra regioni e i bilanciatori del carico di rete proxy esterni regionali non supportano i frontend IPv6. Il traffico IPv4 viene sottoposto a proxy su una connessione IPv4 o IPv6 ai backend IPv4 e IPv6 (dual-stack).
Solo i backend dei gruppi di istanze VM e i gruppi di endpoint di rete (NEG) a livello di zona con endpoint
GCE_VM_IP_PORTsupportano i backend a doppio stack (IPv4 e IPv6).