Panoramica del forwarding del protocollo

L'inoltro del protocollo utilizza una regola di forwarding a livello di regione per consegnare i pacchetti di un protocollo specifico a una singola istanza di macchina virtuale (VM). La regola di forwarding può avere un indirizzo IP interno o esterno. L'inoltro del protocollo fornisce pacchetti mantenendo l'indirizzo IP di destinazione della regola di forwarding. La regola di forwarding fa riferimento a un oggetto chiamato istanza di destinazione che, a sua volta, fa riferimento a una singola istanza VM.

Puoi utilizzare l'inoltro del protocollo per:

  • Fornisci un indirizzo IP che può essere spostato da un'istanza all'altra modificando la VM a cui fa riferimento l'oggetto dell'istanza di destinazione o cambiando l'istanza di destinazione a cui fa riferimento la regola di forwarding.
  • Inoltra i pacchetti a VM diverse in base al protocollo e alla porta. Due regole di forwarding possono condividere lo stesso indirizzo IP, purché le relative informazioni su porta e protocollo siano univoche.
  • (Solo forwarding per protocollo esterno) Definisci indirizzi IP esterni aggiuntivi per una determinata interfaccia di rete. A differenza di un'interfaccia di rete con configurazione NAT 1:1 per l'indirizzo IPv4 esterno, l'inoltro del protocollo conserva l'indirizzo IP di destinazione della regola di forwarding.
  • Invia i pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di forwarding.

L'inoltro del protocollo è diverso da un bilanciatore del carico passthrough per i seguenti modi:

  • Nessun bilanciamento del carico. Un'istanza di destinazione distribuisce solo i pacchetti a una singola VM.
  • Nessun controllo di integrità. A differenza di un servizio di backend, un'istanza di destinazione non supporta un controllo di integrità. Devi utilizzare altri mezzi per assicurarti che il software necessario sia in esecuzione e operativo sulla VM a cui viene fatto riferimento nell'istanza di destinazione.

Architettura

L'inoltro del protocollo utilizza regole di forwarding interno o esterno a livello di regione e un oggetto istanza di destinazione a livello di zona. L'istanza di destinazione e la VM a cui fa riferimento devono trovarsi in una zona all'interno della regione della regola di forwarding.

  • Inoltro del protocollo esterno. Puoi configurare più regole di forwarding in modo che puntino a una singola istanza di destinazione, in modo da utilizzare più indirizzi IP esterni con un'unica istanza VM. Puoi utilizzare questa funzionalità negli scenari in cui vuoi gestire i dati da una sola istanza VM, ma tramite indirizzi IP esterni o porte e protocolli diversi. Questo è particolarmente utile per configurare l'hosting virtuale SSL. L'inoltro del protocollo esterno può gestire le connessioni dai client IPv6.

    L'inoltro del protocollo esterno supporta i seguenti protocolli: AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP

    Il seguente diagramma mostra un esempio di architettura di forwarding del protocollo esterno. Per scoprire come configurare questa funzionalità, consulta Configurare l'inoltro di protocolli esterni.

    Architettura di forwarding del protocollo esterno.
    Architettura di forwarding del protocollo esterno
  • Inoltro del protocollo interno. L'inoltro del protocollo interno utilizza un indirizzo IPv4 interno a livello di regione (dall'intervallo di indirizzi IPv4 principali di una subnet) o un indirizzo IPv6 interno a livello di regione (dall'intervallo di indirizzi IPv6 di una subnet).

    L'inoltro del protocollo interno supporta i protocolli TCP e UDP.

    Il seguente diagramma mostra un esempio di architettura di forwarding del protocollo interno. Per scoprire come configurare questa funzionalità, consulta Configurare l'inoltro del protocollo interno.

    Architettura di forwarding del protocollo interno.
    Architettura di forwarding del protocollo interno

    Con il forwarding del protocollo interno, puoi modificare la destinazione di una regola di forwarding per passare tra un'istanza di destinazione e un servizio di backend di un bilanciatore del carico passthrough. Per maggiori dettagli, consulta Passare da un'istanza di destinazione a un servizio di backend e viceversa.

Regole di forwarding

Ogni regola di forwarding corrisponde a un indirizzo IP, a un protocollo e, facoltativamente, a informazioni sulla porta (se specificate e se il protocollo supporta le porte). Quando una regola di forwarding fa riferimento a un'istanza di destinazione, Google Cloud instrada i pacchetti che corrispondono all'indirizzo, al protocollo e alla specifica della porta della regola di forwarding alla VM indicata dall'istanza di destinazione.

  • Inoltro del protocollo interno:

    • Supporto degli indirizzi IPv4: un indirizzo IPv4 interno a livello di regione (statico riservato o temporaneo) dell'intervallo IPv4 principale di una subnet.

    • Supporto degli indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo /96 di indirizzi IP dall'intervallo di indirizzi IPv6 interni /64 della subnet. La subnet deve essere una subnet a doppio stack con ipv6-access-type impostato su INTERNAL. Gli indirizzi IPv6 interni sono disponibili solo nel livello Premium. La prenotazione di un indirizzo IPv6 interno a livello di regione è supportata solo per le istanze, quindi devi utilizzare un indirizzo IPv6 temporaneo per la regola di forwarding.

    • Opzioni di protocollo: TCP(valore predefinito) e UDP.

    • Opzioni di specifica della porta: un elenco di massimo cinque porte contigue o non contigue o di tutte le porte.

  • Inoltro del protocollo esterno:

    • Supporto degli indirizzi IPv4: la regola di forwarding fa riferimento a un singolo indirizzo IPv4 esterno a livello di regione. Gli indirizzi IPv4 esterni a livello di regione provengono da un pool univoco per ogni regione Google Cloud. L'indirizzo IP può essere un indirizzo statico riservato o un indirizzo temporaneo.

    • Supporto degli indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo /96 di indirizzi IP dall'intervallo di indirizzi IPv6 esterni /64 della subnet. La subnet deve essere una subnet a doppio stack con ipv6-access-type impostato su EXTERNAL. Gli indirizzi IPv6 esterni sono disponibili solo nel livello Premium. L'intervallo di indirizzi IPv6 può essere un indirizzo statico riservato o un indirizzo temporaneo.

    • Opzioni di protocollo: AH, ESP, ICMP, SCTP, TCP (predefinito), UDP e L3_DEFAULT:

      • L'impostazione del protocollo della regola di forwarding L3_DEFAULT può essere utilizzata per gestire tutto il traffico del protocollo IP.
      • Le regole di forwarding IPv6 non supportano l'impostazione del protocollo ICMP perché il protocollo ICMP supporta solo indirizzi IPv4. Per gestire il traffico ICMPv6 e GRE, imposta il protocollo della regola di forwarding su L3_DEFAULT.
    • Opzioni di specifiche della porta:un intervallo di porte contigue o tutte le porte.

Quando utilizzi le regole di forwarding, tieni presente quanto segue:

  • Per il forwarding del protocollo, una regola di forwarding può fare riferimento solo a una singola istanza di destinazione.

  • Per i bilanciatori del carico di rete passthrough interni e i bilanciatori del carico di rete passthrough esterni basati su servizio di backend, una regola di forwarding può fare riferimento a un solo servizio di backend.

  • Puoi passare tra l'inoltro del protocollo interno e un bilanciatore del carico di rete passthrough interno senza eliminare e ricreare la regola di forwarding. Per passare tra l'inoltro del protocollo esterno e un bilanciatore del carico di rete passthrough esterno basato su servizio di backend, devi eliminare e ricreare la regola di forwarding. Per maggiori dettagli, consulta Passare da un'istanza di destinazione a un servizio di backend e viceversa.

  • Le informazioni sulla porta possono essere specificate solo per i protocolli con un concetto di porta: TCP, UDP o SCTP.

  • L'opzione di protocollo L3_DEFAULT inoltra tutti i protocolli AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP. Per i protocolli TCP, UDP e SCTP, L3_DEFAULT inoltra tutte le porte.

  • Se prevedi pacchetti UDP frammentati, esegui una delle seguenti operazioni per assicurarti che tutti i frammenti, inclusi quelli senza informazioni sulla porta, vengano consegnati all'istanza:

    • Usa una singola regola di forwarding L3_DEFAULT oppure
    • Utilizza una singola regola di forwarding UDP configurata per l'inoltro di tutte le porte.

Istanze di destinazione

Un'istanza di destinazione è una risorsa di zona che fa riferimento a un'istanza VM nella stessa zona. La regola di forwarding che fa riferimento all'istanza di destinazione deve trovarsi nella regione contenente la zona dell'istanza di destinazione. Poiché a un'istanza di destinazione non è applicato un criterio Cloud NAT, può essere utilizzata per il traffico IPsec che non può attraversare NAT.

Supporto di più NIC

Un'istanza di destinazione supporta la specifica dell'interfaccia di rete (NIC) dell'istanza VM a cui fa riferimento. Usa il flag --network per specificare il nome di una rete VPC in cui la VM a cui viene fatto riferimento ha un NIC:

  • Se ometti il flag --network, l'istanza di destinazione consegna i pacchetti all'interfaccia nic0 della VM a cui fa riferimento.
  • Se utilizzi il flag --network, la VM a cui fa riferimento l'istanza di destinazione deve avere un NIC in quella rete VPC.
  • Per il forwarding del protocollo interno, la subnet utilizzata dalla regola di forwarding deve trovarsi nella rete VPC utilizzata dall'interfaccia di rete dell'istanza di destinazione.

Supporto IPv6

Se vuoi che il deployment del forwarding del protocollo esterno supporti il traffico IPv6, l'istanza VM deve essere configurata in una subnet a doppio stack che si trova nella stessa regione della regola di forwarding IPv6. Puoi utilizzare una subnet con ipv6-access-type impostato su EXTERNAL o INTERNAL per l'istanza VM. L'utilizzo di una subnet con ipv6-access-type impostato su INTERNAL richiede l'utilizzo di una subnet a doppio stack separata con ipv6-access-type impostato su EXTERNAL per la regola di forwarding esterno. Per le istruzioni, consulta Aggiungere una subnet a doppio stack.

Inoltre, l'istanza VM deve essere a doppio stack. Imposta il valore stack-type della VM su IPv4_IPv6. La VM eredita l'impostazione ipv6-access-type (EXTERNAL o INTERNAL) dalla subnet. Per le istruzioni, consulta Creare una VM e abilitare IPv6. Se vuoi utilizzare una VM esistente, aggiornala in modo che sia a doppio stack utilizzando il comando gcloud compute instances network-interfaces update.

Indirizzi IP per i pacchetti di richiesta e reso

Quando un'istanza di destinazione riceve un pacchetto da un client, gli indirizzi IP di origine e di destinazione del pacchetto di richiesta sono visualizzati in questa tabella.

Tabella 1. Indirizzi IP di origine e di destinazione per i pacchetti di richiesta
Tipo di forwarding del protocollo Indirizzo IP di origine Indirizzo IP di destinazione
Inoltro del protocollo esterno L'indirizzo IP esterno associato a una VM Google Cloud o a un indirizzo IP esterno di un client su internet. L'indirizzo IP della regola di forwarding.
Inoltro del protocollo interno L'indirizzo IP interno di un client; per i client Google Cloud, l'indirizzo IPv4 interno principale o l'indirizzo IPv6 oppure un indirizzo IPv4 da un intervallo IP alias dell'interfaccia di rete di una VM. L'indirizzo IP della regola di forwarding.

Il software in esecuzione sulle VM dell'istanza di destinazione deve essere configurato in modo da:

  • Ascolta (associa) l'indirizzo IP della regola di forwarding o qualsiasi indirizzo IP (0.0.0.0 o ::).
  • Se il protocollo della regola di forwarding supporta le porte, esegui il binding a una porta inclusa nella regola di forwarding.

I pacchetti restituiti vengono inviati direttamente dall'istanza di destinazione al client. Gli indirizzi IP di origine e di destinazione del pacchetto di risposta dipendono dal protocollo:

  • TCP è orientato alla connessione. Le istanze di destinazione devono rispondere con pacchetti che hanno indirizzi IP di origine corrispondenti all'indirizzo IP della regola di forwarding. Ciò garantisce che il client possa associare i pacchetti di risposta alla connessione TCP appropriata.
  • AH, ESP, GRE, ICMP, ICMPv6 e UDP non prevedono alcuna connessione. Le istanze di destinazione possono inviare pacchetti di risposta che hanno indirizzi IP di origine corrispondenti all'indirizzo IP della regola di forwarding o a qualsiasi indirizzo IP assegnato al NIC della VM nella stessa rete VPC della regola di forwarding. In pratica, la maggior parte dei client si aspetta che la risposta provenga dallo stesso indirizzo IP a cui hanno inviato i pacchetti.

La seguente tabella riassume le origini e le destinazioni dei pacchetti di reso:

Tabella 2. Indirizzi IP di origine e di destinazione per i pacchetti di reso
Tipo di traffico Indirizzo IP di origine Indirizzo IP di destinazione
TCP L'indirizzo IP della regola di forwarding. L'indirizzo IP di origine del pacchetto di richiesta.
AH, ESP, GRE, ICMP, ICMPv6 e UDP* Nella maggior parte dei casi d'uso, l'indirizzo IP della regola di forwarding. L'indirizzo IP di origine del pacchetto di richiesta.

* AH, ESP, GRE, ICMP e ICMPv6 sono supportati solo con l'inoltro del protocollo esterno.

Con l'inoltro del protocollo interno, è possibile impostare l'origine del pacchetto di risposta sull'indirizzo IPv4 interno principale o IPv6 del NIC della VM oppure su un intervallo di indirizzi IP alias. Se per la VM è abilitato l'inoltro IP, è possibile utilizzare anche origini di indirizzi IP arbitrari. Il mancato utilizzo dell'indirizzo IP della regola di forwarding come origine è uno scenario avanzato perché il client riceve un pacchetto di risposta da un indirizzo IP interno che non corrisponde all'indirizzo IP a cui ha inviato un pacchetto di richiesta.

Limitazioni

  • Una regola di forwarding non può puntare a più di un'istanza di destinazione.
  • I controlli di integrità non sono supportati con le istanze di destinazione. Devi assicurarti che il software necessario sia in esecuzione e operativo sulla VM a cui fa riferimento l'istanza di destinazione.
  • L'inoltro del protocollo interno per il traffico IPv6 presenta le seguenti limitazioni:
    • Il protocollo L3_DEFAULT non è supportato. Usa TCP o UDP.
    • Il protocollo multi-NIC non è supportato.

Riferimento API e gcloud

Per le regole di forwarding, vedi:

Per le istanze di destinazione, consulta quanto segue:

Prezzi

Il forwarding del protocollo viene addebitato alla stessa tariffa del bilanciamento del carico. Sono previsti costi per la regola di forwarding e per i dati in entrata elaborati dall'istanza di destinazione.

Per tutte le informazioni sui prezzi, consulta la sezione Prezzi.

Quote e limiti

Per le quote sulle regole di forwarding per il forwarding del protocollo, consulta Quote e limiti: regole di forwarding.

Passaggi successivi