Intervalli IP alias

Gli intervalli IP alias di Google Cloud consentono di assegnare intervalli di indirizzi IP interni come alias alle interfacce di rete di una macchina virtuale (VM). Ciò è utile se hai più servizi in esecuzione su una VM e vuoi assegnare a ogni servizio un indirizzo IP diverso. Gli intervalli IP alias funzionano anche con i pod GKE.

Se hai un solo servizio in esecuzione su una VM, puoi farvi riferimento utilizzando l'indirizzo IP principale dell'interfaccia. Se hai più servizi in esecuzione su una VM, potrebbe essere utile assegnare a ciascuno un indirizzo IP interno diverso. Puoi eseguire questa operazione con gli intervalli IP alias.

Intervalli CIDR primari e secondari delle subnet

Tutte le subnet hanno un intervallo CIDR principale, ovvero l'intervallo di indirizzi IP interni che definiscono la subnet. Ogni istanza VM riceve il suo indirizzo IP interno principale da questo intervallo. Puoi anche allocare intervalli IP alias da quell'intervallo principale oppure aggiungere un intervallo secondario alla subnet e allocare intervalli IP alias dall'intervallo secondario. L'utilizzo di intervalli IP alias non require intervalli di subnet secondari. Questi intervalli di subnet secondarie forniscono solo uno strumento organizzativo.

Intervalli IP alias definiti in un'interfaccia di rete VM

Utilizzando gli alias IP, puoi configurare più indirizzi IP interni che rappresentano container o applicazioni ospitati in una VM, senza dover definire un'interfaccia di rete separata. Puoi assegnare intervalli IP alias alle VM dagli intervalli principali o secondari della subnet.

Nella sezione Configura intervalli IP alias vengono descritti i comandi per la configurazione di una subnet con intervalli secondari e per l'assegnazione di indirizzi IP alias alle VM.

Il seguente diagramma fornisce un'illustrazione di base degli intervalli CIDR primari e secondari e degli intervalli IP alias VM nell'interfaccia principale della VM:

Intervalli CIDR primari e secondari e intervalli IP alias VM (fai clic per
    ingrandire)
Intervalli CIDR primari e secondari e intervalli IP alias VM (fai clic per ingrandire)
  • Un intervallo CIDR primario 10.1.0.0/16 è configurato come parte di una subnet.
  • Un intervallo CIDR secondario 10.2.0.0/20 è configurato come parte di una subnet.
  • L'IP principale della VM 10.1.0.2 è allocato dall'intervallo CIDR primario, 10.1.0.0/16, mentre nella VM è allocato un intervallo IP alias, 10.2.1.0/24, dall'intervallo CIDR secondario 10.2.0.0/20.
  • Gli indirizzi nell'intervallo IP alias vengono utilizzati come indirizzi IP dei container ospitati nella VM.

Vantaggi principali degli intervalli IP alias

Quando vengono configurati gli intervalli IP alias, Google Cloud installa automaticamente le route di rete Virtual Private Cloud (VPC) per gli intervalli IP principali e alias per la subnet dell'interfaccia di rete principale. Lo strumento di orchestrazione dei container non deve specificare la connettività di rete VPC per queste route. Ciò semplifica il routing del traffico e la gestione dei container. Devi eseguire la configurazione in-ospite, come descritto nelle proprietà della chiave degli intervalli IP alias.

Quando gli indirizzi IP dei container vengono allocati da Google Cloud, i processi di convalida in Google Cloud garantiscono che gli indirizzi IP dei pod dei container non siano in conflitto con gli indirizzi IP delle VM.

Quando vengono configurati gli indirizzi IP alias, vengono eseguiti controlli anti-spoofing sul traffico, per garantire che il traffico in uscita dalle VM utilizzi gli indirizzi IP delle VM e gli indirizzi IP dei pod come indirizzi di origine. I controlli anti-spoofing verificano che le VM non inviino traffico con indirizzi IP di origine arbitrari. L'utilizzo di route statiche per il networking di container sarebbe un approccio meno sicuro rispetto all'aliasing IP, perché richiederebbe la disattivazione dei controlli anti-spoofing sulle VM host del container (i controlli anti-spoofing sono disabilitati quando l'IP forwarding è abilitato).

Gli intervalli IP alias sono instradabili all'interno della rete virtuale Google Cloud senza richiedere route aggiuntive. Non è necessario aggiungere una route per ogni alias IP e non è necessario tenere conto delle quote di route.

Gli indirizzi IP alias possono essere annunciati dal router Cloud su una rete on-premise connessa tramite VPN o Interconnect.

L'allocazione degli intervalli IP alias di un intervallo CIDR secondario presenta alcuni vantaggi. Allocando da un intervallo separato dall'intervallo utilizzato per gli indirizzi IP principali, puoi separare l'infrastruttura (VM) dai servizi (container). Quando configuri spazi di indirizzi separati per l'infrastruttura e i servizi, puoi configurare i controlli firewall per gli indirizzi IP alias delle VM separatamente dai controlli firewall per gli indirizzi IP principali di una VM. Ad esempio, puoi consentire un determinato traffico per i pod di container e negare un traffico simile per l'indirizzo IP principale della VM.

Architettura dei container in Google Cloud

Considera uno scenario in cui vuoi configurare servizi containerizzati su Google Cloud. Devi creare le VM che ospitano i servizi e, in aggiunta, i container.

In questo scenario, vuoi instradare il traffico da e verso i container da e verso località on-premise collegate tramite una VPN. Tuttavia, non vuoi che gli indirizzi IP delle VM principali siano raggiungibili tramite la VPN. Per creare questa configurazione, l'intervallo IP del container deve essere instradabile tramite la VPN, ma non l'intervallo IP principale della VM. Al momento della creazione della VM, vuoi inoltre assegnare automaticamente un pool di indirizzi IP utilizzati per il container.

Per creare questa configurazione, segui questi passaggi:

  • Quando crei la subnet, configuri
    • Un intervallo CIDR principale, ad esempio 10.128.0.0/16
    • Un intervallo CIDR secondario, ad esempio 172.16.0.0/16
  • Utilizza un modello di istanza per creare VM e assegnare automaticamente a ciascuna:
    • Un IP principale dell'intervallo 10.128.0.0/16
    • Un intervallo alias /24 dallo spazio CIDR secondario 172.16.0.0/16, in modo da poter assegnare a ogni container su una VM un IP dell'intervallo CIDR secondario /24
  • Crea due regole firewall.
    • Una regola che nega il traffico che viaggia attraverso la VPN da on-premise perché non raggiunga l'intervallo CIDR principale della subnet.
    • Una regola che consente al traffico che viaggia attraverso la VPN da on-premise di raggiungere l'intervallo CIDR secondario della subnet.

Esempio: configurare i container con intervalli IP alias

Utilizzando gli intervalli IP alias, gli indirizzi IP dei container possono essere allocati da un intervallo CIDR secondario e configurati come indirizzi IP alias nella VM che ospita il container.

Configurazione dei container con indirizzi IP alias (fai clic per ingrandire)
Configurazione di container con indirizzi IP alias (fai clic per ingrandire)

Per creare la configurazione illustrata sopra:

  1. Crea una subnet con un intervallo CIDR 10.128.0.0/16 da cui sono allocati gli indirizzi IP delle VM e un intervallo CIDR secondario 172.16.0.0/20 per l'utilizzo esclusivo dei container, che verrà configurato come intervalli IP alias nella VM che li ospita:

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=172.16.0.0/20
    
  2. Crea VM con un IP primario nell'intervallo 10.128.0.0/16 e un intervallo IP alias 172.16.0.0/24 dall'intervallo CIDR secondario 172.16.0.0/20 per i container in quella VM da utilizzare:

    gcloud compute instances create vm1 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.0.0/24
    gcloud compute instances create vm2 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.1.0/24
    
  3. Gli indirizzi IP dei container sono configurati in Google Cloud come indirizzi IP alias. In questa configurazione, sia gli IP principali che quelli alias saranno raggiungibili tramite il tunnel VPN. Se è configurato, il router Cloud annuncerà automaticamente l'intervallo della subnet secondaria 172.16.0.0/20. Per ulteriori informazioni sull'utilizzo della VPN con il router Cloud, consulta Creazione di un tunnel VPN utilizzando il routing dinamico.

Per ulteriori informazioni sui comandi utilizzati per creare questa configurazione, consulta Configurare indirizzi e intervalli IP alias.

Esempio: diversi intervalli IP alias configurati in una singola istanza VM

Gli intervalli IP alias consentono di gestire l'allocazione degli IP per le applicazioni in esecuzione all'interno delle VM, inclusi i container.

Potresti avere un deployment in cui alcuni container possono essere migrati tra le VM e altri no. I container di cui è possibile eseguire la migrazione possono essere configurati utilizzando intervalli /32, semplificando la migrazione individuale. I container non idonei alla migrazione possono essere configurati utilizzando un intervallo più ampio, dato che rimarranno uniti.

In questo tipo di deployment, potresti richiedere più di un intervallo IP alias per istanza VM, ad esempio /27 per i container non di migrazione e diversi /32 per i container di cui è possibile eseguire la migrazione.

Configurazione di VM con più intervalli IP alias (fai clic per ingrandire)
Configurazione delle VM con più intervalli IP alias (fai clic per ingrandire)

Per configurare questo esempio, utilizza i seguenti comandi gcloud:

gcloud compute networks create vpc1 --subnet-mode custom
gcloud compute networks subnets create subnet1 --region us-central1 --network vpc1 --range 10.128.0.0/16 --secondary-range secondaryrange1=172.16.0.0/20
gcloud compute instances create vm1 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.0/27;secondaryrange1:172.16.1.0/32"
gcloud compute instances create vm2 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.32/27;secondaryrange1:172.16.1.1/32"

Indirizzi IP alias nelle reti e nelle subnet VPC in modalità automatica

Le subnet create automaticamente in reti VPC in modalità automatica hanno ciascuna un intervallo CIDR primario, ma non un intervallo secondario. Per utilizzare l'IP alias con una rete VPC in modalità automatica, puoi allocare intervalli IP alias dall'intervallo CIDR principale della subnet creato automaticamente o aggiungere un intervallo secondario alla subnet creata automaticamente e allocare intervalli IP alias dal nuovo intervallo secondario.

In alternativa, puoi creare una nuova subnet con intervalli secondari nella rete VPC in modalità automatica, purché nessuno dei suoi intervalli si sovrapponga a 10.128.0.0/9. Potrai quindi creare istanze VM nella nuova subnet e allocare intervalli IP alias in qualsiasi intervallo della subnet.

Se vuoi aggiungere intervalli secondari alla tua subnet, consulta Aggiungere intervalli CIDR secondari a una subnet esistente.

Indirizzi IP alias in reti e subnet in modalità personalizzata

Nelle reti in modalità personalizzata:

  • Tutte le subnet vengono create manualmente
  • Un intervallo CIDR primario è obbligatorio.
  • Facoltativamente, puoi creare intervalli CIDR secondari.

Proprietà chiave degli intervalli IP alias

Le seguenti proprietà si applicano agli intervalli IP alias configurati nelle VM:

  • Dal punto di vista del sistema operativo delle VM, l'indirizzo IP principale e il gateway predefinito vengono generalmente allocati tramite DHCP. Gli indirizzi IP alias possono essere configurati nel sistema operativo delle VM, che in genere è Linux o Windows, manualmente o tramite script.
  • L'indirizzo IP principale e l'intervallo IP alias dell'interfaccia devono essere allocati da intervalli CIDR configurati come parte della stessa subnet. Tieni presente i seguenti requisiti:
    • L'indirizzo IP principale deve essere allocato dall'intervallo principale CIDR.
    • L'intervallo IP alias può essere allocato dall'intervallo CIDR primario o da un intervallo CIDR secondario della stessa subnet.
    • Per un'interfaccia di rete VM, l'IP alias deve provenire dalla stessa risorsa subnet che fornisce l'indirizzo IP per l'interfaccia di rete principale. Non puoi selezionare un intervallo CIDR primario o secondario da un'altra risorsa subnet.
    • L'indirizzo IP principale può essere un indirizzo IP interno statico o temporaneo.
    • Gli intervalli IP alias sono facoltativi e non vengono aggiunti automaticamente. Un intervallo IP alias può essere configurato durante la creazione o la modifica dell'istanza.
    • Un intervallo IP alias può essere configurato come intervallo CIDR esplicito (ad esempio 10.128.1.0/24), singolo indirizzo IP (ad esempio 10.128.7.29/32) o come netmask (/24). Un intervallo IP alias può essere specificato completamente o allocato automaticamente specificando la netmask.
    • Per utilizzare un singolo indirizzo IP in un intervallo IP alias, utilizza la netmask /32.
    • Poiché tutte le subnet in una rete VPC condividono un singolo gateway predefinito, tutti gli indirizzi IP alias all'interno di un'interfaccia condividono lo stesso gateway predefinito dell'indirizzo IP principale.
    • Non puoi utilizzare indirizzi IP riservati negli intervalli IP alias.
Gli IP alias all'interno di un'interfaccia condividono lo stesso gateway predefinito dell'indirizzo IP principale (fai clic per ingrandire)
Gli IP alias all'interno di un'interfaccia condividono lo stesso gateway predefinito dell'indirizzo IP principale (fai clic per ingrandire)

DNS con indirizzi IP alias

Google Cloud configura automaticamente il DNS interno per l'IP principale dell'interfaccia principale di ogni istanza VM. Questo associa il nome host dell'istanza all'indirizzo IP principale dell'interfaccia principale. Tuttavia, la ricerca DNS su quel nome host funziona solo nella rete che contiene l'interfaccia principale.

Google Cloud non associa automaticamente altri indirizzi IP al nome host. Google Cloud non associa gli indirizzi IP alias sull'interfaccia principale al nome host e non associa gli indirizzi IP delle interfacce secondarie al nome host.

Puoi configurare manualmente il DNS per associare altri indirizzi IP.

Firewall

Tutto il traffico in entrata o in uscita, compreso quello relativo a intervalli IP alias, viene valutato da una regola firewall VPC per un tag target o un account di servizio di destinazione corrispondente. Per maggiori dettagli sulle destinazioni e sugli IP alias, consulta Destinazioni e indirizzi IP.

Gli intervalli IP alias non vengono inclusi quando specifichi le origini per una regola firewall in entrata utilizzando i tag di origine o gli account di servizio di origine.

Route statiche

Quando crei una route statica che utilizza un'istanza dell'hop successivo specificata da un indirizzo IPv4 interno, Google Cloud verifica che l'indirizzo IP della VM dell'hop successivo rientri in un intervallo IPv4 della subnet nella rete VPC della route. Tuttavia, Google Cloud programma la route solo se l'indirizzo dell'hop successivo è un indirizzo IPv4 interno primario assegnato all'interfaccia di rete (NIC) di una VM nella rete VPC della route (non una rete VPC in peering).

Sebbene sia possibile creare una route il cui indirizzo dell'hop successivo è un indirizzo IPv4 interno che rientra in un intervallo IP alias, Google Cloud non programma la route, pertanto l'hop successivo viene considerato inattivo. I pacchetti inviati alla destinazione della route potrebbero essere eliminati, a seconda della presenza di altre route per la stessa esatta destinazione e della presenza di hop successivi in esecuzione su queste altre route.

Per ulteriori informazioni, consulta:

Peering di rete VPC

Il peering di rete VPC consente di eseguire il peering di due reti VPC in modo che le VM nelle due reti possano comunicare tramite indirizzi IP privati interni.

Sia gli intervalli IP principali che quelli secondari di una subnet sono raggiungibili dalle istanze VM in una rete in peering.

I controlli di sovrapposizione delle subnet nelle reti in peering assicurano che gli intervalli primari e secondari non si sovrappongano ad alcun intervallo in peering.

Alias IP con peering di rete (fai clic per ingrandire)
Alias IP con peering di rete (fai clic per ingrandire)

Passaggi successivi