Azure Backup: la protezione di SQL Server sulle macchine virtuali in Azure

Azure Backup si arricchisce con una nuova importante funzionalità che consente di proteggere in modo nativo i workload SQL, in esecuzione sulle macchine virtuali IaaS che risiedono su Azure. In questo articolo si esploreranno i benefici introdotti e le caratteristiche di questa nuova funzionalità.

Figura 1 – Protezione con Azure Backup di SQL Server su VMs Azure

Azure Backup ci ha da sempre abituato ad un approccio cloud-first consentendo di effettuare la protezione dei sistemi in modo rapido, sicuro ed efficace. La protezione di SQL Server sulle macchine virtuali IaaS di Azure fornisce una soluzione unica nel suo genere, caratterizzata dai seguenti elementi:

  • Zero-infrastructure backup: non è necessario gestire una infrastruttura di backup classica, composta dal server di backup, dai vari agenti installati sui sistemi e dallo storage su cui risiedono i backup. Inoltre, non è nemmeno richiesto l’utilizzo di script di backup, spesso necessari in altre soluzioni di backup, per la protezione di SQL Server.
  • Monitor dei backup tramite Recovery Services Vault: utilizzando la dashboard è possibile monitorare facilmente e in modo intuitivo i vari job di backup per tutte le tipologie di workload protetti: Azure IaaS VMs, Azure Files e SQL server databases. Risulta inoltre possibile configurare notifiche via mail a fronte di operazioni di backup o restore non andate a buon fine.
  • Gestione centralizzata: si ha la possibilità di configurare delle policy di protezione comuni, utilizzabili per database che risiedono su server distinti, dove viene definita la schedulazione e la retention per i backup short-term e long-term.
  • Restore dei DB a una data e ora precisa: grazie ad una intuitiva interfaccia grafica viene consentito all’operatore di effettuare il restore selezionando il recovery point più opportuno per la data selezionata. Azure Backup si preoccuperà di gestire il ripristino del backup full, differenziale e della catena dei backup log per poter ottenere il ripristino del database all’ora selezionata.
  • Recovery Point Objective (RPO) di 15 minuti: si può effettuare il backup dei transaction log con una frequenza di 15 minuti.
  • Servizio Pay as you go (PAYG): la fatturazione avviene mensilmente sulla base dei consumi e non sono previsti costi anticipati per il servizio.
  • Integrazione nativa con le API di SQL Server: Azure Backup richiama le API native della soluzione per garantire una elevata efficienza e affidabilità delle operazioni svolte. I job di backup possono essere consultati anche utilizzando SQL Server Management Studio (SSMS).
  • Supporto per gli Always On Availability Group: la soluzione è in grado di effettuare il backup dei database che risiedono all’interno di un Availability Group (AG), garantendo la protezione in caso di eventi di failover, onorando la backup preference impostata a livello di AG.

Questa nuova funzionalità supporta al momento le seguenti versioni del sistema operativo e di SQL Server, indipendentemente che siano VMs generate da una immagine del marketplace o meno (installazione di SQL Server effettuata manualmente).

Sistemi Operativi supportati

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016

Linux, al momento, non è supportato.

Versioni\Edizioni di SQL Server supportate

  • SQL 2012 Enterprise, Standard, Web, Developer, Express
  • SQL 2014 Enterprise, Standard, Web, Developer, Express
  • SQL 2016 Enterprise, Standard, Web, Developer, Express
  • SQL 2017 Enterprise, Standard, Web, Developer, Express

Per poter usufruire di questa funzionalità devono essere rispettati i seguenti requisiti:

  • Disporre di un Recovery Services vault nella stessa region Azure dove risiede la macchina virtuale che ospita i database SQL da proteggere.
  • La macchina virtuale con SQL Server necessità di connettività verso gli IP pubblici di Azure.
  • Sulla macchina virtuale che detiene i database da proteggere devono essere presenti specifiche impostazioni. Azure Backup richiede la presenza della VM extension AzureBackupWindowsWorkload. Tale extension viene installata sulla macchina virtuale durante il processo di discovery e consente la comunicazione con il servizio di Azure Backup. L’installazione dell’extension comporta la creazione sulla VM, da parte di Azure Backup, del Windows virtual service account denominato NT Service\AzureWLBackupPluginSvc. Questo virtual service account necessita permessi di log in e di sysadmin lato SQL, per proteggere i database.

Per abilitare il backup dei workload SQL a bordo delle macchine virtuali Azure è necessario effettuare un processo di discovery e successivamente è possibile configurare le politiche di protezione.

Processo di discovery

Si riporta la procedura da seguire, accedendo al portale Azure, per abilitare il discovery dei database:

Figura 2 – Avvio del processo di discovery
Figura 3 – Discovery in progress
Figura 4 – Discovery dei DBs sui sistemi selezionati

 

Configurazione dei backup di SQL

Completata la fase di discovery dei database è possibile procedere con la configurazione dei backup di SQL Server.

Figura 5 – Avvio della configurazione dei backup, post discovery dei DBs nelle VMs
Figura 6 – Selezione dei DBs da proteggere
Figura 7 – Creazione della policy che definisce la tipologia di backup di SQL e la retention dei dati
Figura 8 – Abilitazione del backup

 

Monitor dei backup e processo di restore

Figura 9 – Dashboard del Recovery Service vault
Figura 10 – Numero di backup items di SQL a bordo delle VMs Azure
Figura 11 – Stato dei backup di SQL

Selezionando il singolo DB è possibile avviare il processo di restore.

Figura 12 – Avvio del processo di restore del DB
Figura 13 – Selezione della destinazione dove ripristinare il DB
Figura 14 – Selezione del restore point da utilizzare
Figura 15 – Configurazione delle impostazioni di restore e delle directory dove posizionare i file
Figura 16 – Avvio del job di restore

 

Costo della soluzione

Il costo per la protezione di SQL Server in Azure Backup è dato dal numero di istanze protette (singole VMs Azure oppure Availability Groups). Il costo di una singola istanza protetta dipende dal size, il quale è determinato dalla dimensione complessiva dei vari DB protetti (senza tenere in considerazione il fattore di compressione e l’encryption). A questo costo è da aggiungere il costo dello storage Azure effettivamente consumato. Si tratta di Block Blob Storage di tipologia locally redundant storage (LRS) oppure geo-redundant storage (GRS). Per maggiori dettagli sui costi è possibile consultare la pagina ufficiale Microsoft.

 

Conclusioni

Azure Backup si arricchisce con una importante funzionalità e conferma di essere un’ottima soluzione enterprise per la protezione dei sistemi, ovunque essi si trovino. Grazie a questa funzionalità Azure si distingue da qualsiasi altro cloud pubblico, mettendo a disposizione una soluzione per la protezione di SQL Server a bordo delle macchine virtuali IaaS, totalmente integrata nella platform. Per maggiori informazioni sulla soluzione Azure Backup è possibile consultare la documentazione ufficiale.