Creare e configurare domain controller in Microsoft Azure

La creazione dei domain controller in Azure richiede una serie di accorgimenti che è il caso di evidenziare. Per questo motivo ho voluto scrivere questa guida, che vi aiuterà nell’implementare le best practices per la distribuzione di Active Directory Domain Services (AD DS) in Microsoft Azure.

Esattamente come succede on-premises, è opportuno distribuire almeno due domain controller per assicurare l’alta disponibilità di Active Directory. È importante però che i domain controller vengano creati in Availability Zones diverse oppure in Availability Sets diversi. Le Availability Zones, un’alternativa agli Availability Sets delle macchine virtuali, permettono di creare le macchine virtuali in una zona fisicamente separata nella Region di Azure. Esistono tre Availability Zones (zone di disponibilità) per ogni area di Azure e ogni Availability Zone può contare su risorse di alimentazione, rete e raffreddamento autonome. Se le VM vengono create su Availability Zones diverse è possibile proteggere applicazioni e dati anche in caso di perdita di un intero data center. Se una zona è compromessa, le applicazioni e i dati replicati delle nostre VM diventano immediatamente disponibili in un’altra zona. Trovate maggiori informazioni leggendo la mia guida Aumentare l’alta affidabilità delle VM in Azure utilizzando le Availability Zones – ICT Power

Quando create la nuova VM in Azure ricordatevi quindi di scegliere l’opzione di disponibilità che avete a disposizione, preferendo le availability zones agli availability sets. Vi ricordo che questa operazione deve essere effettuata al momento della creazione della VM e non può essere fatta successivamente.

I domain controller inoltre non dovrebbero avere indirizzi IP pubblici e non dovrebbero essere accessibili dall’esterno della Virtual Network per motivi di sicurezza. Come si può vedere dalla figura sotto, al momento della creazione della VM ho deciso di utilizzare la Availability Zone 1 e ho disabilitato l’accesso pubblico alla VM.

Figura 1: Scheda Basics del wizard di creazione della VM che ospiterà i servizi di Active Directory

Create un disco a parte dove salverete il database, i log e la cartella sysvol della vostra Active Directory, avendo cura di non salvarli nello stesso disco che ospita il sistema operativo. Di default, i dischi dati che vengono aggiunti alla VM utilizzano il write-through caching.

Con il write-through caching ci potrebbero volere fino a 15 minuti prima che la cache venga scritta sul disco fisico che ospita il VHDx della vostra VM. Se l’host di virtualizzazione su cui gira la VM ha dei problemi, potreste perdere fino a 15 minuti di modifiche relative ad Active Directory.

Una volta che la VM sarà di nuovo avviata e in presenza di più domain controller, come dovrebbe essere, ci potrebbero essere dei problemi di replica dovuti ai diversi update sequence numbers sui domain controller. L’ USN (Update Sequence Number) è un contatore dell’istanza del database di Active Directory che si incrementa ogni volta che viene salvata una singola modifica nel database AD su un controller di dominio. L’USN è univoco per ogni controller di dominio e non ha alcuna correlazione con un USN su un altro controller di dominio. La replica di Active Directory tiene traccia dell’USN di ogni controller di dominio e utilizza queste informazioni per determinare quando è necessaria la replica.

Per questo motivo il disco aggiuntivo deve essere creato con l’host caching configurato su NONE. Il disco dati che ospiterà il database, i log e la cartella sysvol della vostra Active Directory può essere abbastanza piccolo. Dipende da quanti di dati che ospiterà, ma 8-16 GiB sono più che sufficienti. Io ho deciso di creare un disco da 32 GiB.

Nelle figure sotto sono riportati i diversi passaggi necessari alla creazione di un disco aggiuntivo per la Azure VM e le configurazioni richieste per ospitare il database e gli altri file di Active Directory.

Figura 2: Aggiunta di un disco secondario alla Azure VM

Figura 3: Configurazioni del disco secondario della Azure VM

Figura 4: Dimensionamento del disco secondario della Azure VM

Figura 5: Disabilitazione dell’Host caching per il disco secondario della Azure VM

Procedete nel wizard di creazione della Azure VM con la configurazione della rete. Non ho dato nessun indirizzo IP pubblico alla macchina perché dovrà essere accessibile, per motivi di sicurezza, solo dall’interno della Virtual Network.

Figura 6: Configurazione del Networking per la Azure VM che ospiterà il domain controller

Proseguite quindi nel wizard di creazione inserendo i parametri che ritenete opportuni per il Management, il Monitoring e la scheda Advanced.

Figura 7: Configurazione del Management per la Azure VM che ospiterà il domain controller

Figura 8: Configurazione del Monitoring per la Azure VM che ospiterà il domain controller

Figura 9: Configurazione Advanced per la Azure VM che ospiterà il domain controller

Figura 10: Configurazione dei Tags per la Azure VM che ospiterà il domain controller

Figura 11: Schermata riassuntiva delle configurazioni della Azure VM che ospiterà il domain controller

Figura 12: Azure VM creata con successo

Poiché questa macchina virtuale ospiterà il Domain controller ed il servizio DNS, è opportuno configurare l’indirizzo IP della VM in modo statico e modificare il DNS della Azure Virtual Network con l’IP della VM. Nelle schermate sotto viene mostrato come configurare staticamente l’indirizzo IP 10.0.2.4 della VM.

Figura 13: Modifica dell’interfaccia di rete della Azure VM per configurare l’indirizzo IP in modo statico

Figura 14: Assegnazione statica dell’indirizzo IP alla scheda di rete della VM

Figura 15: Indirizzo IP privato della VM configurato staticamente

Procedete quindi alla modifica del DNS della VNET a cui è collegata la Azure VM, inserendo l’indirizzo IP della VM che ospiterà il domain controller (nel mio caso 10.2.0.4).

Figura 16: Modifica del DNS della Azure Virtual Network

Connessione alla VM

Per connettermi alla VM utilizzerò Azure Bastion. Azure Bastion è un servizio PAAS che permette di effettuare una connessione RDP oppure un accesso SSH alle macchine virtuali in Azure attraverso il portale web di Azure. Il servizio è collegato direttamente alla Virtual Network e consente l’accesso a tutte le macchine della VNET, anche se queste non hanno un indirizzo IP pubblico. Trovate maggiori informazioni leggendo il mio articolo Azure Bastion: accesso sicuro alle macchine virtuali in Azure tramite Azure Portal – ICT Power

Nelle schermate sotto sono riportati tutti i passaggi per la creazione di un nuovo servizio Azure Bastion collegato alla VNET. Con lo stesso servizio è possibile raggiungere tutte le VM associate alla VNET e alle VNET collegate, comprese l’on-premises se avete una connessione Site-to-Site.

Figura 17: Funzionamento di Azure Bastion

Figura 18: Utilizzo di Azure Bastion per la connessione alla Azure VM

Figura 19: Creazione del nuovo servizio Azure Bastion

Figura 20: Connessione alla Azure VM utilizzando Azure Bastion

Figura 21: Connessione alla Azure VM avvenuta

Prima di procedere alla creazione di una nuova Active Directory, procedete alla formattazione e alla creazione di un nuovo volume utilizzando il disco aggiunto alla Azure VM.

Figura 22: Creazione del nuovo volume utilizzando il disco secondario della Azure VM

Procedete quindi alla promozione della Azure VM a domain controller. Nelle figure sotto sono mostrati i diversi passaggi.

Figura 23: Aggiunta di un nuovo ruolo alla Azure VM

Figura 24: Installazione dei prerequisiti per la promozione della Azure VM a domain controller

Figura 25: Conferma dell’installazione dei prerequisiti per la promozione della Azure VM a domain controller

Figura 26: Lancio del wizard per la promozione della Azure VM a domain controller

Figura 27: Creazione di una nuova foresta

Figura 28: Livello funzionale della foresta e del dominio

A questo punto del wizard di promozione della Azure VM a domain controller ricordatevi di posizionare i file del database, dei log e della cartella sysvol sul disco aggiuntivo della vostra Azure VM (nel mio caso F:).

Figura 29: Posizionamento dei file del database, dei log e della cartella sysvol sul disco aggiuntivo della Azure VM

Figura 30: Schermata finale del wizard di creazione della nuova foresta

Figura 31: Installazione della nuova foresta e promozione dalla Azure VM a domain controller completata con successo

Figura 32: La Azure VM è stata promossa correttamente a domain controller

Figura 33: I file del database, dei log e della cartella sysvol si trovano sul disco aggiuntivo della Azure VM

Creazione di un domain controller secondario

La creazione di un domain controller secondario segue le stesse regole viste prima. Create una nuova Azure VM con le stesse caratteristiche dell’altra VM che abbiamo creto, ricordandovi di scegliere una Availability Zone diversa da quella scelta prima.

Figura 34: Configurazioni Basics della Azure VM che ospiterà il domain controller secondario

Figura 35: Aggiunta del disco secondario alla Azure VM che ospiterà il domain controller secondario

Figura 36: Gestione della rete della Azure VM che ospiterà il domain controller secondario

Figura 37: Riepilogo delle configurazioni della Azure VM che ospiterà il domain controller secondario

Figura 38: Overview della seconda Azure VM creata

Figura 39: Configurazione dell’IP statico sull’interfaccia di rete della Azure VM che ospiterà il domain controller secondario

Figura 40: Connessione tramite Azure Bastion alla Azure VM che ospiterà il domain controller secondario

Figura 41: Promozione della Azure VM a domain controller secondario

Figura 42: Promozione a domain controller secondario per il dominio creato in precedenza

Figura 43: Replica delle informazioni di Active Directory dal domain controller creato in precedenza

Figura 44: Posizionamento dei file del database, dei log e della cartella sysvol sul disco aggiuntivo della Azure VM

Figura 45: Schermata di riepilogo delle configurazioni e lancio della promozione della Azure VM a domain controller secondario

Figura 46: La seconda Azure VM è stata promossa correttamente a domain controller

Ovviamente non dimenticatevi di modificare il DNS della Virtual Network e di aggiungere l’indirizzo IP della seconda Azure VM (nel mio caso 10.0.2.5) alla lista dei DNS server.

Figura 47: Modifica delle configurazioni dei DNS server della Virtual Network

Conclusioni

La creazione di domain controller in Azure VM richiede degli accorgimenti che è bene tenere a mente. È molto importante installare il database, i log e la cartella sysvol degli Active Directory Domain Services in un disco dati secondario e disabilitare la cache del disco. In questo modo vi potrete risparmiare un sacco di grattacapi.