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

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

Puoi configurare indirizzi IP IPv4 e IPv6 (stack doppio) 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 gruppi di istanze IPv4 e IPv6 (doppio stack) e backend NEG a livello di zona. I NEG di zona supportano lo stack doppio 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 ti consente di gestire le richieste IPv6 provenienti dagli utenti e di inviarle tramite proxy ai tuoi backend su IPv4 o IPv6. Utilizzando IPv6, puoi:

  • Utilizza un singolo indirizzo IPv6 anycast per il deployment in più regioni. È sufficiente 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 è necessario eseguire il bilanciamento del carico tra più indirizzi IPv6. La memorizzazione nella cache dei record AAAA da parte dei client non è un problema perché c'è solo un indirizzo da memorizzare nella cache. Le richieste degli utenti all'indirizzo IPv6 vengono bilanciate automaticamente con il bilanciamento del carico nel backend integro più vicino con la capacità disponibile.

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

  • Overflow tra regioni con un singolo indirizzo del bilanciatore del carico IPv6. Se i backend in una regione hanno esaurito le risorse o sono in stato non integro, il bilanciatore del carico globale indirizza automaticamente le richieste degli utenti alla regione immediatamente più vicina più vicina con risorse disponibili. Quando nella regione più vicina sono disponibili risorse, il bilanciamento del carico globale torna alla gestione per questa regione. Il bilanciamento del carico globale richiede l'utilizzo del livello Premium di Network Service Tiers.

  • Esegui deployment con 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 associa 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 con i backend IPv4 o IPv6 a doppio stack integri più vicini, con capacità disponibile. Per sapere quali bilanciatori del carico supportano i backend a doppio stack, consulta la 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 IPv6 e proxy

La configurazione della terminazione IPv6 per i bilanciatori del carico consente ai tuoi 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 utilizzando IPv6.
  3. Il bilanciatore del carico agisce come un proxy inverso e termina la connessione client IPv6. In base al criterio di selezione dell'indirizzo IP del servizio di backend, inserisce la richiesta in una connessione IPv4 o IPv6 a un backend.
  4. Nel percorso inverso, il bilanciatore del carico riceve la risposta dal backend e poi 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 instradamento 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 prenotato per il tuo progetto oppure fare in modo che la regola di forwarding acquisisca automaticamente un indirizzo IP temporaneo quando crei la regola. Un indirizzo IP statico viene riservato al tuo progetto e puoi conservarlo finché non lo rilasci deliberatamente. Un indirizzo temporaneo appartiene alla regola di forwarding finché esiste questa regola. 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 sia 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 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'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 è connesso il client.

Durante la formattazione di un indirizzo IPv6, Google Cloud segue i suggerimenti contenuti nella RFC 5952,sezione 4.

Intestazione IP client con terminazione IPv6 per bilanciatori del carico delle applicazioni esterni

Quando il bilanciatore del carico usa come proxy la 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 altri scopi. Google Cloud fornisce un'intestazione HTTP che viene propagata ai backend che includono 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 elemento mostra l'indirizzo IP del client come 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'intestazione X-Forwarded-For di esempio può 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.

Prezzi

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

Limitazioni

  • Il traffico IPv6 non è supportato con bilanciatori del carico delle applicazioni esterni regionali, Application Load Balancer interni tra regioni, Application Load Balancer interni regionali, bilanciatori del carico di rete con proxy interno regionale, bilanciatore del carico di rete proxy interno tra regioni o bilanciatori del carico di rete proxy esterni regionali.
  • I bilanciatori del carico di rete proxy classici e gli Application Load Balancer classici non supportano 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