Questo documento mostra come il traffico IPv6 viene gestito dai bilanciatori del carico proxy. In questo documento, IPv4 solo (stack singolo) si riferisce alle risorse che utilizzano solo indirizzi IPv4, mentre IPv4 e IPv6 (doppio stack) si riferisce alle risorse che utilizzano sia indirizzi IPv4 sia indirizzi IPv6.
Google Cloud supporta il traffico IPv6 per i servizi di backend basati su servizi bilanciatori del carico di rete passthrough. Per ulteriori informazioni, consulta Bilanciatore del carico di rete passthrough esterno basato sul servizio di backend e Panoramica del bilanciatore del carico di rete passthrough interno basato sul servizio di backend.
I bilanciatori del carico delle applicazioni esterni globali e i bilanciatori del carico di rete con proxy esterno globale terminano il traffico in entrata per poi eseguirne il proxy su una connessione IPv4 o IPv6 al tuo Backend IPv4 e IPv6 (stack doppio).
La tabella seguente indica quali bilanciatori del carico supportano il frontend IPv6 e Backend IPv4 e IPv6 (stack doppio):
Funzionalità | Bilanciatore del carico delle applicazioni | Bilanciatore del carico di rete proxy | ||
---|---|---|---|---|
Interno | Esterno | Interno | Esterno | |
Frontend IPv6 |
globale classico+ |
globale classico+ |
||
Back-end IPv4 e IPv6 (stack doppio) |
in più regioni* regionale* |
globali* regionali* |
in più regioni* regionale* |
globale* regionale* |
* Supporta gruppi di istanze IPv4 e IPv6 (a doppio stack) e backend NEG a livello di zona. Assistenza per NEG a livello di zona
dual stack solo su endpoint di tipo GCE_VM_IP_PORT
.
+ Funzionalità supportata per il livello Premium
Le seguenti sezioni di questo documento descrivono come viene gestito il traffico IPv6 dai bilanciatori del carico delle applicazioni esterni globali e dai bilanciatori del carico di rete con proxy esterno globali.
L'esempio seguente mostra come funziona il bilanciamento del carico per i client IPv6 globali:
La terminazione IPv6 consente di gestire le richieste IPv6 provenienti da utenti e proxy e li colleghi ai tuoi backend tramite IPv4 o IPv6. Con IPv6, puoi:
Usa un singolo indirizzo IPv6 anycast per il deployment in più regioni. Ti occorre solo un 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 solo AAAA record 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é esiste un solo indirizzo da memorizzare nella cache. Le richieste dell'utente all'indirizzo IPv6 vengono il bilanciamento del carico viene eseguito automaticamente verso il backend integro più vicino e la capacità di archiviazione.
Bilancia il carico del traffico client HTTP, HTTPS, HTTP/2, TCP e SSL/TLS IPv6.
Overflow tra regioni con un singolo indirizzo del bilanciatore del carico IPv6. Se in una regione hanno risorse esaurite o non sono in stato integro, il bilanciatore del carico indirizza automaticamente le richieste dagli utenti all'istanza regione più vicina con le risorse disponibili. Quando la regione più vicina ha risorse disponibili, il bilanciamento del carico globale torna a servire da 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 carichi delle risorse IP del bilanciatore, una per IPv6 e l'altra per IPv4, e associare i due prodotti alle stesse istanze dell'applicazione. Client IPv4 connettersi all'indirizzo IPv4 mentre i client IPv6 si connettono . Questi client vengono quindi bilanciati automaticamente il carico più vicino Backend a doppio stack IPv4 o IPv6 integri con capacità disponibile. Per vedere quali i bilanciatori del carico supportano i backend a doppio stack, vedi Tabella: Servizi di backend e backend supportati di classificazione. Forniamo regole di inoltro IPv6 senza costi, quindi paghi solo quelle IPv4.
Terminazione IPv6 e proxy
La configurazione della terminazione IPv6 per i bilanciatori del carico consente ai backend vengono visualizzate come applicazioni IPv6 ai client IPv6, come illustrato di seguito figura:
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 inoltro, attende le connessioni degli utenti.
- Un client IPv6 si connette al bilanciatore del carico tramite IPv6.
- Il bilanciatore del carico funziona come un proxy inverso e termina la connessione del client IPv6. In base al servizio di backend Criterio di selezione degli indirizzi IP che inserisce in una connessione IPv4 o IPv6 a un backend.
- Nel percorso inverso, il bilanciatore del carico riceve la risposta il backend e quindi lo ricolloca nella connessione IPv6 cliente originale.
Limitazioni
Bilanciatori del carico di rete proxy classici e bilanciatori del carico delle applicazioni classici non supportano i backend a doppio stack; il traffico IPv6 viene terminato dal carico e quindi inviato tramite proxy ai backend tramite una connessione IPv4.
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 tra regioni o I bilanciatori del carico di rete proxy esterni regionali non supportano il frontend IPv6. IPv4 in entrata il traffico viene inviato tramite proxy su una connessione IPv4 o IPv6 (a doppio 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_PORT
supportano IPv4 e IPv6 (a doppio stack).
Allocazione di indirizzi IPv6 per le regole di forwarding del bilanciatore del carico
Quando configuri un bilanciatore del carico esterno, gli fornisci uno o più regole di forwarding globali, ciascuna con un IP IPv4 o IPv6 esterno e instradato pubblicamente di destinazione (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 per il tuo progetto o fare in modo che la regola di forwarding acquisire un indirizzo IP temporaneo quando crei la regola. Un indirizzo IP statico è riservato al tuo progetto e puoi conservarlo finché non lo rilasci deliberatamente. Un indirizzo temporaneo appartiene alla regola di inoltro finché la regola di inoltro esiste. Se elimini la regola di forwarding, l'indirizzo temporaneo viene rilasciato nuovamente 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 inoltro, associando un indirizzo IPv4 a una e un indirizzo IPv6 all'altra. 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'intervallo completo.
Pertanto, potresti vedere altri indirizzi IPv6 del bilanciatore del carico nell'intervallo allocato negli intestazioni X-Forwarded-For
a seconda dell'indirizzo IP del server IPv6 a cui si è connesso il client.
Quando formatti un indirizzo IPv6, Google Cloud segue i suggerimenti in 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 un indirizzo IPv4 connessione al backend, l'indirizzo IP di origine originale viene sostituito l'indirizzo IP del bilanciatore del carico. Tuttavia, i backend spesso devono conoscere l'indirizzo IP di origine originale per la registrazione, la presa di decisioni o altri scopi. Google Cloud fornisce un'intestazione HTTP che viene propagata ai backend e include l'indirizzo IP del client IPv6 originale.
Le intestazioni HTTP per IPv6 sono simili a quelle per IPv4. Il formato per le 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. L'ultimo elemento
mostra l'indirizzo IP del client come visto 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 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.
Converti da stack singolo a doppio 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 documentazione seguente:
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 |
Convertire il bilanciatore del carico delle applicazioni in IPv6 |
Proxy SSL e proxy TCP 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 proxy del carico di rete a IPv6 |
Prezzi
Le regole di inoltro per il termine 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 o meno. In caso contrario, i prezzi per il bilanciamento del carico IPv6 sono gli stessi per il bilanciamento del carico IPv4. Per i dettagli sui prezzi del bilanciamento del carico, consulta Prezzi di rete.