Intervalli IP alias
Gli intervalli IP alias di Google Cloud ti consentono di assegnare intervalli di indirizzi IP interni come alias alle interfacce di rete di una macchina virtuale (VM). È 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, ti consigliamo di assegnare a ciascuno un indirizzo IP interno diverso. Puoi farlo con gli intervalli IP alias.
Intervalli CIDR principali 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 proprio indirizzo IP interno principale da questo intervallo. Puoi anche allocare intervalli IP alias da questo intervallo principale oppure aggiungere un intervallo secondario alla subnet e allocare intervalli IP alias da quello secondario. L'utilizzo di intervalli IP alias non require intervalli di subnet secondari. Questi intervalli di subnet secondarie forniscono semplicemente uno strumento di organizzazione.
Intervalli IP alias definiti in un'interfaccia di rete della VM
Con l'alias IP, puoi configurare più indirizzi IP interni che rappresentano i container o le applicazioni ospitati in una VM, senza dover definire un'interfaccia di rete separata. Puoi assegnare intervalli IP alias della VM dagli intervalli primari o secondari della subnet.
Configura intervalli IP alias descrive i comandi per configurare una subnet con intervalli secondari e per assegnare indirizzi IP alias alle VM.
Il seguente diagramma illustra gli intervalli CIDR primari e secondari e gli intervalli IP alias di una VM sull'interfaccia principale della VM:
- Un intervallo CIDR principale
10.1.0.0/16
è configurato all'interno di una subnet. - Un intervallo CIDR secondario
10.2.0.0/20
è configurato all'interno di una subnet. - L'IP principale della VM
10.1.0.2
viene allocato dall'intervallo CIDR principale10.1.0.0/16
, mentre un intervallo IP alias10.2.1.0/24
viene allocato nella VM dall'intervallo CIDR secondario10.2.0.0/20
. - Gli indirizzi nell'intervallo IP alias vengono utilizzati come indirizzi IP dei contenuti ospitati nella VM.
Vantaggi principali degli intervalli IP alias
Quando sono configurati intervalli IP di alias, Google Cloud installa automaticamente i route della rete Virtual Private Cloud (VPC) per gli intervalli IP principali e di alias per la subnet dell'interfaccia di rete principale. L'orchestratore dei contenitori non deve specificare la connettività di rete VPC per queste route. In questo modo, viene semplificato il routing del traffico e la gestione dei container. Devi eseguire la configurazione in guest come descritto in Proprietà chiave degli intervalli IP alias.
Quando gli indirizzi IP dei contenitori vengono allocati da Google Cloud, i processi di convalida in Google Cloud assicurano che gli indirizzi IP dei pod dei contenitori non siano in conflitto con gli indirizzi IP delle VM.
Quando sono 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 del 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 la rete dei container sarebbe un approccio meno sicuro rispetto all'aliasing IP perché richiederebbe la disattivazione dei controlli anti-spoofing sulle VM host dei container (i controlli anti-spoofing vengono disattivati quando è attivato il forwarding IP).
Gli intervalli IP alias sono instradabili all'interno della rete virtuale Google Cloud senza richiedere route aggiuntivi. Non è necessario aggiungere una route per ogni alias IP e non è necessario tenere conto delle quote route.
Gli indirizzi IP alias possono essere annunciati da Cloud Router a una rete on-premise connessa tramite VPN o Interconnect.
L'allocazione di intervalli IP di alias da un intervallo CIDR secondario offre dei vantaggi. Se esegui l'allocazione da un intervallo distinto da quello utilizzato per gli indirizzi IP principali, puoi separare l'infrastruttura (VM) dai servizi (contenitori). Quando configuri spazi di indirizzi separati per l'infrastruttura e i servizi, puoi configurare i controlli firewall per gli indirizzi IP alias della VM separatamente dai controlli firewall per gli indirizzi IP principali di una VM. Ad esempio, puoi consentire un determinato traffico per i pod dei contenitori 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 ospiteranno i servizi e, inoltre, i container.
In questo scenario, vuoi instradare il traffico da e verso i contenitori e da e verso le sedi on-premise collegate tramite una VPN. Tuttavia, non vuoi che gli indirizzi IP principali della VM siano raggiungibili tramite la VPN. Per creare questa configurazione, l'intervallo IP del contenitore deve essere instradabile tramite la VPN, ma non l'intervallo IP principale della VM. Al momento della creazione della VM, vuoi anche assegnare automaticamente un pool di indirizzi IP utilizzati per il contenitore.
Per creare questa configurazione:
- 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
- Un intervallo CIDR principale, ad esempio
- Utilizza un modello di istanza per creare VM e assegna automaticamente a ciascuna quanto segue:
- Un IP principale dell'intervallo
10.128.0.0/16
- Un intervallo di alias
/24
dallo spazio CIDR secondario172.16.0.0/16
, in modo da poter assegnare a ogni contenitore su una VM un IP dall'intervallo CIDR secondario/24
- Un IP principale dell'intervallo
- Crea due regole firewall.
- Una regola che impedisce al traffico che viaggia sulla VPN dall'on-premise di raggiungere l'intervallo CIDR principale della subnet.
- Una regola che consente al traffico che viaggia sulla VPN dall'on-premise di raggiungere l'intervallo CIDR secondario della subnet.
Esempio: configura i contenitori 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.
Per creare la configurazione illustrata sopra:
Crea una subnet con un intervallo CIDR 10.128.0.0/16, da cui vengono allocati gli indirizzi IP delle VM, e un intervallo CIDR secondario 172.16.0.0/20 per l'uso esclusivo dei contenitori, 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
Crea VM con un IP principale dall'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 contenitori nella 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
Gli indirizzi IP dei container sono configurati in Google Cloud come indirizzi IP alias. In questa configurazione, sia gli IP principali che gli alias saranno raggiungibili tramite il tunnel VPN. Se Cloud Router è configurato, annuncerà automaticamente l'intervallo della subnet secondaria 172.16.0.0/20. Per ulteriori informazioni sull'utilizzo della VPN con router Cloud, consulta la sezione Creare un tunnel VPN utilizzando il routing dinamico.
Per ulteriori informazioni sui comandi utilizzati per creare questa configurazione, consulta Configurare intervalli e indirizzi IP di alias.
Esempio: più intervalli IP alias configurati in un'unica istanza VM
Gli intervalli IP alias ti 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 sono migrabili tra VM e altri no. I container migrabili possono essere configurati utilizzando intervalli /32, semplificando la migrazione singolarmente. I contenitori non migrabili possono essere configurati utilizzando un intervallo più ampio, poiché rimarranno insieme.
In questi tipi di implementazioni, potresti richiedere più di un intervallo IP alias per istanza VM, ad esempio un /27 per i container non migrabili e diversi /32 per i container migrabili.
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 nelle reti VPC in modalità automatica hanno ciascuna un intervallo CIDR principale, ma nessun 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 creata 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, a condizione che nessuno dei suoi
intervalli si sovrapponga a 10.128.0.0/9
. Puoi quindi creare istanze VM nella nuova subnet e allocare intervalli IP di alias da qualsiasi intervallo della subnet.
Se vuoi aggiungere intervalli secondari alla tua subnet, consulta Aggiungere intervalli CIDR secondari a una subnet esistente.
Alias degli indirizzi IP nelle reti e nelle subnet in modalità personalizzata
Nelle reti in modalità personalizzata:
- Tutte le subnet vengono create manualmente
- È obbligatorio un intervallo CIDR principale.
- Se vuoi, 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 della VM, l'indirizzo IP principale e il gateway predefinito vengono in genere allocati utilizzando DHCP. Gli indirizzi IP alias possono essere configurati nel sistema operativo della VM, in genere Linux o Windows, manualmente o utilizzando script.
- L'indirizzo IP principale e l'intervallo IP alias dell'interfaccia devono essere allocati dagli intervalli CIDR configurati all'interno della stessa subnet.
Tieni presente i seguenti requisiti:
- L'indirizzo IP principale deve essere allocato dall'intervallo primario CIDR.
- L'intervallo IP alias può essere allocato dall'intervallo CIDR principale o da un intervallo CIDR secondario della stessa subnet.
- Per un'interfaccia di rete VM, l'IP alias deve provenire dalla stessa risorsa della subnet che fornisce l'indirizzo IP per l'interfaccia di rete principale. Non puoi selezionare un intervallo CIDR principale o secondario da un'altra risorsa subnet.
- L'indirizzo IP principale può essere un indirizzo IP interno statico o temporaneo.
- Gli intervalli IP degli 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
), come singolo indirizzo IP (ad esempio10.128.7.29/32
) o come maschera di rete (/24
). Un intervallo IP alias può essere specificato completamente o allocato automaticamente specificando la maschera di rete. - Per utilizzare un singolo indirizzo IP in un intervallo IP alias, utilizza la
/32
subnet mask. - Poiché tutte le subnet in una rete VPC condividono un unico gateway predefinito, tutti gli indirizzi IP alias all'interno di un'interfaccia condividono lo stesso gateway predefinito dell'indirizzo IP primario.
- Non puoi utilizzare indirizzi IP riservati negli intervalli IP alias.
DNS con indirizzi IP alias
Google Cloud configura automaticamente il DNS interno per l'IP principale dell'interfaccia principale di ogni istanza VM. In questo modo, il nome host dell'istanza viene associato 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 degli alias sull'interfaccia principale al nome host e non associa alcun indirizzo 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, incluso il traffico per gli intervalli IP degli alias, viene valutato da una regola firewall VPC per un tag target o un account di servizio target corrispondente. Per informazioni dettagliate su target e indirizzi IP alias, consulta Target e indirizzi IP.
Gli intervalli IP degli alias non sono 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 di hop successivo specificata da un indirizzo IPv4 interno, Google Cloud verifica che l'indirizzo IP della VM di hop successivo rientri in un intervallo IPv4 di una subnet nella rete VPC della route. Tuttavia, Google Cloud programma la route solo se l'indirizzo dell'hop successivo è un indirizzo IPv4 interno principale 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 sia un indirizzo IPv4 interno che rientra in un intervallo IP alias, Google Cloud non programma questa route, in quanto considera l'hop successivo inattivo. I pacchetti inviati alla destinazione della route potrebbero essere ignorati, a seconda che esistano altre route per la stessa destinazione e se queste altre route hanno hop successivi in esecuzione.
Per ulteriori informazioni, vedi:
Indirizzo IP interno dell'istanza hop successivo (
next-hop-address
)Comportamento quando le istanze vengono arrestate o eliminate
Peering di rete VPC
Il peering di reti VPC ti 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 con peering.
I controlli di sovrapposizione delle subnet tra le reti con i peer assicurano che gli intervalli principali e secondari non si sovrappongano a intervalli con i peer.