Panoramica dell'inoltro del protocollo

Il forwarding del protocollo utilizza una regola di forwarding a livello di regione per distribuire 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 consegna pacchetti, conservando l'indirizzo IP di destinazione della regola di forwarding. La regola di forwarding fa riferimento a un oggetto denominato 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 istanza di destinazione o modificando 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 informazioni relative a porta e protocollo siano univoche.
  • (Solo forwarding del protocollo esterno) Definisci indirizzi IP esterni aggiuntivi per una determinata interfaccia di rete. A differenza di un'interfaccia di rete con una configurazione NAT 1:1 per l'indirizzo IPv4 esterno, il forwarding del protocollo conserva l'indirizzo IP di destinazione della regola di forwarding.
  • Invia pacchetti i cui indirizzi IP di origine corrispondono all'indirizzo IP della regola di forwarding.

Il forwarding del protocollo è diverso da un bilanciatore del carico passthrough per i seguenti modi:

  • Nessun bilanciamento del carico. Un'istanza di destinazione distribuisce i pacchetti solo su 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 garantire che il software necessario sia in esecuzione e operativo sulla VM a cui fa riferimento l'istanza di destinazione.

Architettura

Il forwarding del protocollo usa regole di forwarding interno o regionale esterno 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 della regione della regola di forwarding.

  • Inoltro esterno del protocollo. Puoi configurare più regole di forwarding per puntare a una singola istanza di destinazione, in modo da utilizzare più indirizzi IP esterni con una singola istanza VM. Puoi utilizzarlo in scenari in cui potresti voler fornire i dati da una sola istanza VM, ma tramite diversi indirizzi IP esterni o protocolli e porte differenti. Ciò è particolarmente utile per configurare l'hosting virtuale SSL. Il forwarding del protocollo esterno può gestire le connessioni dai client IPv6.

    Il forwarding 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 informazioni su come eseguire la configurazione, vedi Configurare l'inoltro del protocollo esterno.

    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 informazioni su come eseguire la configurazione, vedi 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 da un'istanza di destinazione a 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 sulle porte (se specificato 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 alle specifiche della porta, del protocollo e dell'indirizzo della regola di forwarding alla VM a cui fa riferimento l'istanza di destinazione.

  • Inoltro del protocollo interno:

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

    • Supporto di indirizzi IPv6: la regola di forwarding fa riferimento a un intervallo /96 di indirizzi IP nell'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 delle porte: un elenco di fino a cinque porte contigue o non contigue o tutte le porte.

  • Inoltro del protocollo esterno:

    • Supporto di indirizzi IPv4: la regola di forwarding fa riferimento a un singolo indirizzo IPv4 esterno a livello di regione. Gli indirizzi IPv4 esterni regionali 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 nell'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 specifica delle porte:un intervallo di porte contigue o tutte le porte.

Quando lavori con 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 servizi di backend, una regola di forwarding può fare riferimento a un solo servizio di backend.

  • Puoi passare dal forwarding del protocollo interno a un bilanciatore del carico di rete passthrough interno senza eliminare e ricreare la regola di forwarding. Per passare dal forwarding del protocollo esterno a un bilanciatore del carico di rete passthrough esterno basato sul 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 che hanno un concetto di porta: TCP, UDP o SCTP.

  • L'opzione del 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 sulle porte) vengano consegnati all'istanza:

    • Utilizza una singola regola di forwarding L3_DEFAULT oppure
    • Utilizza una singola regola di forwarding di UDP configurata per inoltrare 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 alcun 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 trovi 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. Per utilizzare una subnet con ipv6-access-type impostato su INTERNAL, devi utilizzare una subnet a doppio stack separata con ipv6-access-type impostato su EXTERNAL per la regola di forwarding esterno. Per le istruzioni, vedi Aggiungere una subnet a doppio stack.

Inoltre, l'istanza VM stessa deve essere un'istanza a doppio stack. Imposta stack-type della VM su IPv4_IPv6. La VM eredita l'impostazione ipv6-access-type (EXTERNAL o INTERNAL) dalla subnet. Per le istruzioni, vedi 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 restituzione

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

Tabella 1. Indirizzi IP di origine e di destinazione per i pacchetti di richieste
Tipo di forwarding del protocollo Indirizzo IP di origine Indirizzo IP di destinazione
Inoltro esterno del protocollo L'indirizzo IP esterno associato a una VM Google Cloud o un indirizzo IP esterno di un client su internet. L'indirizzo IP della regola di forwarding.
Inoltro interno del protocollo Indirizzo IP interno di un client; per i client Google Cloud, l'indirizzo IPv4 interno principale o l'indirizzo IPv6 interno oppure un indirizzo IPv4 proveniente 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 per:

  • Ascolta (collega) 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 l'ascolto su una porta inclusa nella regola di forwarding.

I pacchetti di ritorno 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 i cui indirizzi IP di origine corrispondono 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 sono senza connessione. Le istanze di destinazione possono inviare pacchetti di risposta con 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 ha inviato i pacchetti.

La tabella seguente riassume le origini e le destinazioni dei pacchetti restituiti:

Tabella 2. Indirizzi IP di origine e di destinazione per i pacchetti restituiti
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 il forwarding del protocollo esterno.

Con l'inoltro del protocollo interno, è possibile impostare l'origine del pacchetto di risposta sull'indirizzo IPv4 o IPv6 interno principale del NIC della VM o su un intervallo di indirizzi IP alias. Se per la VM è abilitato l'IP forwarding, è 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.
    • NIC multipli non supportati.

Riferimento API e gcloud

Per le regole di forwarding, consulta quanto segue:

Per le istanze di destinazione, consulta quanto segue:

Prezzi

Il forwarding del protocollo viene addebitato alla stessa tariffa del bilanciamento del carico. È previsto un addebito 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 l'inoltro del protocollo, consulta Quote e limiti: regole di forwarding.

Passaggi successivi