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

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:

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