Configurare Azure Extended Network per permettere le estensioni L2 delle reti on-premises
Tra le novità più interessanti di Windows Server 2022 Azure Edition, di cui ho avuto modo di parlare nell’articolo Confronto tra le edizioni Standard, Datacenter e Datacenter: Azure Edition di Windows Server 2022 – ICT Power, c’è la funzionalità Azure Extended Network.
Azure Extended Network permette di estendere le reti on-premises usando una soluzione basata su una rete di sovrapposizione (overlay) di livello 3. La maggior parte delle soluzioni usano una tecnologia di sovrapposizione, ad esempio VXLAN, per estendere la rete di livello 2 usando una rete di sovrapposizione di livello 3.
La migrazione del carico di lavoro al cloud pubblico richiede un’attenta pianificazione e coordinamento. Una delle considerazioni principali può essere la possibilità di mantenere gli indirizzi IP. Ciò può essere importante soprattutto se le applicazioni hanno una dipendenza dagli indirizzi IP.
Come ne sappiamo però, nelle Azure Virtual Network non è possibile creare estensioni L2 e tutte le reti devono essere ruotate L3. Inoltre, nel caso volessimo effettuare connessioni VPN dall’on-premises, non possiamo utilizzare lo stesso spazio di indirizzamento di partenza.
Questo prima dell’avvento di Windows Server 2022 Azure Edition e delle Azure Extended Network
Grazie a questa nuova funzionalità, gli indirizzi IP della subnet possono essere assegnati alle macchine virtuali in Azure e in locale. Sia Azure che l’ambiente locale hanno una Network Virtual Appliance (NVA) inserita nelle proprie reti. Quando una macchina virtuale in Azure prova a parlare con una macchina virtuale nella rete locale, l’NVA di Azure acquisisce il pacchetto, lo incapsula e lo invia tramite VPN/ExpressRoute alla rete locale. L’NVA locale riceve il pacchetto, lo incapsula e lo inoltra al destinatario previsto nella propria rete. Il traffico di ritorno usa un percorso e una logica simili.
Architettura
Nello schema sotto ho riassunto l’architettura creata:
- A sinistra c’è l’ambiente Azure, con la macchina di test VM2 connessa alla subnet Workload-Subnet e la Network Virtual Appliance Azure-NVA connessa alla subnet Azure-NVA-Subnet
- A destra c’è l’ambiente on-premises. La VM1 è connessa al router e naviga nella Azure VNET grazie alla VPN Site-to-Site. La Network Virtual Appliance ONPREM-NVA ha due schede di rete, una connessa alla VLAN della VM1 (che verrà estesa) e l’altra connessa ad una VLAN attraverso al quale raggiunge la VPN Site-to-Site
Figura 1: Architettura utilizzata nella guida
Configurazioni in Azure
Dall’Azure portal create le seguenti risorse in Azure:
- Una virtual network che abbia almeno due subnet, oltre alla subnet richiesta dal Virtual Network gateway. Una delle subnet utilizzerà lo stesso indirizzamento della rete on-premises che volete estendere.
- Un virtual network gateway che vi permetta di fare una connessione VPN Site-to-Site o ExpressRoute con la rete on-premises.
- Una macchina virtuale con Windows Server 2022 Azure Edition che supporti la nested virtualization. L’interfaccia primaria della VM sarà collegata alla rete che permetterà il routing, la seconda invece sarà collegata alla extended subnet
Creazione della rete virtuale in Azure e delle relative subnet
In Azure ho creato una virtual network chiamata AZURE-VNET, con un address space 10.0.0.0/16. Ho poi creato le seguenti subnet:
- Workload-Subnet con indirizzi 10.0.1.0/24
- Azure-NVA-Subnet con indirizzi 10.0.3.0/24
- GatewaySubnet con indirizzi 10.0.254.0/27
Figura 2: Creazione della VNET in Azure
Figura 3: Definizione delle diverse subnet
Figura 4: Schermata di riepilogo della creazione della VNET
Figura 5: VNET e subnet create
Creazione dell’Azure Virtual Network Gateway
Create un Azure Virtual Network Gateway per collegare la VNET alla vostra infrastruttura on-premises. Nel mio caso ho utilizzato una connessione VPN Site-To-Site.
Figura 6: Creazione di un Azure Virtual Network Gateway collegato alla VNET
Figura 7: Schermata di riepilogo della creazione del Virtual Network Gateway
Figura 8: Creazione del Virtual Network Gateway completata
Per completare la connessione VPN alla vostra rete on-premises sarà necessario creare anche un Local Network Gateway. Inserite l’indirizzo IP pubblico del vostro endpoint VPN o il suo FQDN e nell’address space da utilizzare mettete quello che avete scelto per la vostra rete che permetterà il routing, da associare alla Network Virtual Appliance. Nel mio caso è 172.16.5.0/24
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti
Figura 9: Creazione del Local Network Gateway
Terminata la creazione del Local Network Gateway procedete alla connessione VPN Site-to-Site con la vostra infrastruttura on-premises.
Figura 10: Creazione della connessione Site-to-Site
Figura 11: Creazione della connessione VPN completata
Poiché on-premises ho utilizzato Microsoft Routing and Remote Access (RRAS) per connettermi alla VPN Site-to-Site, ho configurato una rotta di ritorno verso la subnet Azure-NVA-Subnet con indirizzi 10.0.3.0/24
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti.
Figura 12: Configurazione della rotta statica sull’endopint VPN on-premises
Creazione della Virtual Appliance in Azure
Create una macchina virtuale utilizzando Windows Server 2022 Azure Edition e scegliete una dimensione che supporti la nested virtualization. Io ho usato una Standard_D2s_v3.
Figura 13: Creazione della VM con Windows Server 2022 Azure edition e con il supprto alla nested virtualization
Collegate la scheda di rete della VM alla rete che utilizzerete per il routing. Nel mio caso la rete si chiama Azure-NVA-Subnet.
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti
Figura 14: Connessione della VM alla subnet da utilizzare per il routing
Figura 15: Schermata di riepilogo della creazione della VM
Terminata la creazione della VM, spegnetela e collegate una seconda scheda di rete alla subnet che avrà lo stesso indirizzamento che volete estendere dall’on-premises. Nel mio caso la subnet si chiama Workload-Subnet.
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti.
Figura 16: Aggiunta di una seconda interfaccia di rete alla VM in Azure
Figura 17: Connessione della seconda scheda di rete della VM alla subnet che ha gli stessi indirizzi da estendere on-premises
Figura 18: Configurazioni della seconda scheda di rete della VM
Accendete la macchina virtuale, collegatevi alla VM, installate Hyper-V e riavviate. Io ho utilizzando il comando PowerShell Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
Figura 19: Installazione di Hyper-V nella Azure NVA
Dopo il riavvio collegatevi alla VM e create due virtual switch associati alle schede di rete della VM. Io ho utilizzato i comandi PowerShell
1 2 3 |
New-VMSwitch -Name "External" -AllowManagementOS $true -NetAdapterName "Ethernet" New-VMSwitch -Name "Extended" -AllowManagementOS $true -NetAdapterName "Ethernet 2" |
Ovviamente sostituite i valori con i nomi delle due schede della vostra VM. Il comando ipconfig vi aiuterà ad individuarli facilmente.
Figura 20: Creazione di due virtual switch collegati alle schede di rete della Azure NVA
Creazione della VM nella Extended Network in Azure
Per testare la connessione verso la Extended Network ho creato una VM chiamata VM2 e l’ho collegata alla subnet Workload-Subnet, che ha gli indirizzi 10.0.1.0/24
Figura 21: Creazione di una seconda VM da utilizzare per i test
Figura 22: La VM è collegata alla subnet Workload-Subnet
Segnatevi l’indirizzo ricevuto dalla VM perché ci servirà successivamente per effettuare i test. Nel mio caso l’indirizzo ricevuto è 10.0.1.5
Figura 23: Creazione della VM di test completata
Configurazione on-premises
Terminate le configurazioni in Azure siamo pronti per effettuare le configurazioni on-premises. In Hyper-V ho creato una VM chiamata ONPREM-NVA con due schede di rete, ho abilitato la nested virtualization e ho installato Windows Server 2022 (va bene anche Windows Server 2019). Al termine delle configurazioni delle schede di rete ho installato Hyper-V con il comando Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart, esattamente come fatto prima per la Azure NVA.
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti. (è stato già detto? )
Figura 24: Installazione di Hyper-V nella NVA on-premises
Dopo il riavvio procedete alla creazione di due virtual switch associati alle due schede di rete della macchina ONPREM-NVA. I comandi che ho utilizzato sono:
1 2 3 |
New-VMSwitch -Name "External" -AllowManagementOS $true -NetAdapterName "WAN" New-VMSwitch -Name "Extended" -AllowManagementOS $true -NetAdapterName "LAN" |
Ovviamente sostituite i valori con i nomi delle due schede della vostra VM. Il comando ipconfig vi aiuterà a individuarli facilmente.
Figura 25: Creazione di due virtual switch associati alle schede di rete della NVA on-premises
Creazione della Azure Extended Network
La creazione della Azure Extended Network si effettua con Windows Admin Center. Installate Windows Admin Center su una macchina che NON sia una delle due virtual appliance create. Io l’ho installato su VM1.
Lanciate dal nodo Azure Hybrid Center la procedura per potervi connettere ad Azure. Nelle schermate sotto sono mostrati tutti i passaggi:
Figura 26: Registrazione del Windows Admin Center in Azure
Figura 27: Inserimento dei permessi necessari alla connessione ad Azure di Windows Admin Center
Dopo aver effettuato la connessione cliccate su Set Up nel riquadro Azure Extended Network e procedete all’installazione dell’estensione richiesta da Windows Admin Center.
Figura 28: Lancio del Set up di Azure Extended Network
Figura 29: Installazione dell’estensione richiesta da Azure Extended Networ
A questo punto dal Windows Admin Center collegatevi alla Virtual Appliance che utilizzerete per il routing. Nel mio caso si chiama ONPREM-NVA. Selezionate la voce Azure Extended Network e seguite la procedura per la configurazione.
NOTA: Fate sempre riferimento allo schema di architettura, per comprendere le configurazioni e gli indirizzamenti scelti.
Figura 30: Lancio del set up di Azure Extended Network
Come potete vedere dalla figura sotto, nella schermata di Overview sono riportati tutti i passaggi necessari per una corretta configurazione di Azure Extended Network.
Figura 31: Schermata Overview di Azure Extended Network
Scegliete la rete On-premises che volete utilizzare. La rete viene individuata facilmente grazie al fatto che la virtual appliance ONPREM-NVA ha una scheda di rete nella VLAN della rete da estendere (10.0.1.0/24).
Figura 32: Scelta della rete on-premises da estendere
Compilate i campi come richiesto per individuare la Azure Network a cui vogliamo connetterci. Le scelte sono molte semplici.
Figura 33: Scelta delle risorse Azure da utilizzare
Nella scheda On-Premises Extended Network Gateway i campi si compileranno automaticamente. Controllate che le informazioni inserite siano corrette.
Figura 34: Configurazione del gateway (NVA) on-premises
Anche nella scheda Azure Extended-Network Gateway i campi si compileranno automaticamente. Assicuratevi che i valor inseriti siano corretti.
Figura 35: Configurazione del gateway (NVA) in Azure
Figura 36: Schermata di riepilogo delle configurazioni effettuate
NOTA: Dopo alcune prove ho dovuto disabilitare il firewall nella macchina ONPREM-NVA per permettere alla configurazione di completarsi correttamente.
Lanciate il Deploy e attendete. Ci vorranno alcuni minuti per completare la configurazione.
Figura 37: Avvio del deployment
Dopo circa 7-8 minuti il deployment sarà completato e potrete procedere alla configurazione degli indirizzi IP.
Figura 38: Deployment di Azure Extended Network completato
Configurazione degli indirizzi IP
A questo punto è necessario configurare manualmente quali saranno gli indirizzi IP disponibili sia nella rete on-premises che nella Azure Virtual Network. Per testare il corretto funzionamento della configurazione effettuata ho aggiunto l’indirizzo IP della VM1 on-premises (10.0.1.24) e l’indirizzo IP della VM2 in Azure (10.0.1.5).
Gli indirizzi possono essere aggiunti manualmente oppure utilizzando il menu a tendina. Windows Admin Center cercherà nelle diverse reti gli indirizzi disponibili.
Figura 39: Scelta degli indirizzi nelle due reti, on-premises e in Azure
Figura 40: Aggiunta degli indirizzi nella console di Azure Extended Network
Figura 41: Indirizzi aggiunti correttamente
Se cliccate sull’indirizzo della Extended Network verrete reindirizzati direttamente alla pagina di configurazione della scheda di rete della VM2.
Figura 42: Configurazione della scheda di rete della VM2
Provate a questo punto ad effettuare un test di connessione tra VM1 e VM2. Attenti a permettere il ping nel firewall di Windows, poiché è disabilitato di default.
Figura 43: Test di connessione tra VM1 (on-premises) e VM2 (in Azure)
Conclusioni
Grazie ad un tunnel VXLAN bidirezionale è possibile estendere le nostre reti on-premises anche in Azure, in modo tale da poter utilizzare lo stesso spazio di indirizzamento. Questo ci aiuta a semplificare molto la migrazione verso Azure o a far girare parte del nostro workload nel Cloud. Windows Server 2022 Azure Edition ha aggiunto una funzionalità che sono sicuro piacerà molto alle aziende.
Maggiori informazioni sono disponibili alla pagina Extend your on-premises subnets into Azure using extended network for Azure | Microsoft Docs