Azure Governance: come controllare le configurazioni dei sistemi in ambienti ibridi e multicloud

Diverse sono le realtà che stanno investendo in tecnologie ibride e multicloud per ottenere una elevata flessibilità, che consente di innovare e di soddisfare le esigenze aziendali in continua evoluzione. In questi scenari, ai clienti si presenta la sfida di utilizzare in modo efficiente le risorse IT, al fine di raggiungere al meglio i propri obiettivi di business, attuando un processo di IT governance strutturato. Questo risultato è possibile raggiungerlo più agilmente se si dispone di soluzioni che, in modo centralizzato, consentono di inventariare, organizzare ed applicare delle policy di controllo sulle proprie risorse IT ovunque si trovino. La soluzione Azure Arc coinvolge diverse tecnologie con l’obiettivo di sostenere scenari ibridi e multicloud, dove i servizi e i principi di gestione di Azure vengono estesi a qualsiasi infrastruttura. In questo articolo si approfondirà come, grazie all’adozione delle Azure Guest Configuration Policy è possibile controllare le configurazioni dei sistemi in esecuzione in Azure, nei datacenter locali oppure presso altri cloud provider.

Il principio alla base di Azure Arc

Il principio che sta alla base di Azure Arc è quello di estendere le pratiche di gestione e di governance di Azure anche ad ambienti differenti e di adottare soluzioni tipicamente cloud, come tecniche DevOps (infrastructure as code), anche per gli ambienti on-premises e multicloud.

Figura 1 – Panoramica di Azure Arc

L’abilitazione dei sistemi ad Azure Arc

L’abilitazione dei server ad Azure Arc permette di gestire i server fisici e le macchine virtuali che risiedono all’esterno di Azure, sulla rete aziendale on-premises oppure presso un altro cloud provider. Questo vale sia per sistemi Windows sia per i sistemi Linux. Questa esperienza di gestione è progettata per fornire coerenza con le metodologie di gestione delle macchine virtuali native di Azure. Connettendo infatti una macchina ad Azure tramite Arc viene considerata a tutti gli effetti come una risorsa Azure. Ogni macchina connessa ha un ID specifico, viene inclusa in un resource group e beneficia dei costrutti standard di Azure come le Azure Policy e l’applicazione dei tag.

Per offrire questa esperienza è richiesta l’installazione dell’agente specifico di Azure Arc su ogni macchina che si prevede di connettere ad Azure (“Azure Connected Machine”). Attualmente sono supportati i seguenti sistemi operativi:

  • Windows Server 2008 R2, Windows Server 2012 R2 oppure superiore (sono compresi i Server Core)
  • Ubuntu 16.04 and 18.04 LTS (x64)
  • CentOS Linux 7 (x64)
  • SUSE Linux Enterprise Server (SLES) 15 (x64)
  • Red Hat Enterprise Linux (RHEL) 7 (x64)
  • Amazon Linux 2 (x64)
  • Oracle Linux 7

L’Azure Arc Connected Machine agent è composto dai seguenti componenti logici:

  • L’Hybrid Instance Metadata service (HIMDS) che gestisce la connessione ad Azure e l’identità di Azure della macchina connessa.
  • Il Guest Configuration agent che fornisce le funzionalità di In-Guest Policy e Guest Configuration.
  • L’Extension Manager agent che gestisce i processi di installazione, disinstallazione ed aggiornamento delle estensioni della macchina.
Figura 2 – Componenti dell’agente Azure Arc

Il Connected Machine agent richiede una comunicazione sicura in uscita verso Azure Arc sulla porta TCP  443.

Questo agente non fornisce altre funzionalità e non sostituisce l’agente di Azure Log Analytics, il quale rimane necessario quando si desidera monitorare in modo proattivo il sistema operativo ed i carichi di lavoro in esecuzione sulla macchina.

Per maggiori informazioni sull’installazione di Azure Arc è possibile consultare questo documento ufficiale Microsoft.

I server abilitati per la soluzione Azure Arc possono beneficiare di diverse funzionalità legate ad Azure Resource Manager come Tags, Policies e RBAC, oltre che ad alcune funzionalità relative ad Azure Management.

Figura 3 – Azure Management per tutte le risorse IT

Guest Configuration Policy di Azure

Le Guest Configuration Policy permettono di controllare le impostazioni all’interno di una macchina, sia per le macchine virtuali in esecuzione in ambiente Azure che per le macchine “Arc Connected”. La convalida viene eseguita dal client e dall’estensione Guest Configuration per quanto riguarda:

  • Configurazione del sistema operativo
  • Configurazione oppure presenza di applicazioni
  • Impostazioni dell’ambiente

Al momento, la maggior parte delle Guest Configuration Policy di Azure permettono solamente di effettuare controlli sulle impostazioni all’interno della macchina, ma non applicano configurazioni. L’eccezione è una policy incorporata di configurazione del Time Zone del sistema operativo per le macchine Windows.

Requisiti

Prima di poter controllare le impostazioni all’interno di una macchina, tramite le Guest Configuration Policy, è necessario:

  • Abilitare un’extension sulla macchina virtuale di Azure, necessaria per scaricare le assegnazioni delle policy assegnate e le corrispondenti configurazioni. Questa extension non è richiesta per macchine “Arc Connected” in quanto è inclusa nell’agente Arc.
  • Fare in modo che la macchina abbia una system-managed identity, utilizzata per il processo di autenticazione durante la lettura e la scrittura nel servizio Guest Configuration.

Funzionamento

Azure fornisce built-in nella piattaforma delle specifiche initiatives e un numero elevato di Guest Configuration Policy, ma è possibile crearne anche delle personalizzate sia in ambiente Windows, sia in ambiente Linux.

L’assegnazione delle Guest Configuration policy funziona allo stesso modo delle Azure Policy standard, quindi è possibile raggrupparle in initiative. Anche per le Guest Configuration Policy sono configurabili dei parametri specifici ed esiste almeno un parametro che consente di includere i server abilitati ad Azure Arc. Nel momento in cui si possiede la definizione della policy desiderata, è possibile assegnarla a una subscription ed eventualmente in modo più circoscritto ad un Resource Group specifico. Si ha inoltre la possibilità di escludere determinate risorse dall’applicazione della policy.

In seguito all’assegnazione è possibile valutare lo stato di compliance nel dettaglio direttamente dal portale Azure.

All’interno della macchina, il Guest Configuration agent utilizza strumenti locali per eseguire l’audit delle configurazioni:

Il Guest Configuration agent verifica la presenza di assegnazioni di policy guest nuove oppure modificate ogni 5 minuti e una volta ricevuta l’assegnazione le impostazioni vengono controllate a intervalli di 15 minuti.

Costo della soluzione

Il costo delle Guest Configuration Policy di Azure si basa sul numero di server registrati al servizio e che hanno una o più configurazioni guest assegnate. Qualsiasi altro tipo di Azure Policy che non si basa sulla configurazione guest viene offerto senza costi aggiuntivi, comprese le estensioni della macchina virtuali per abilitare servizi come Azure Monitor ed Azure Security Center oppure le policy di auto tagging. La fatturazione è ripartita su base oraria e contempla anche le funzionalità di change tracking presenti tramite Azure Automation. Per maggiori dettagli sui costi è possibile consultare la pagina ufficiale Microsoft.

Conclusioni

Gli ambienti IT sono in continua evoluzione e spesso devono erogare applicazioni critiche per il business aziendale basate su differenti tecnologie, attive su infrastrutture eterogenee e che in alcuni casi utilizzano soluzioni erogate presso differenti cloud pubblici. L’adozione di un processo di IT governance strutturato è più semplice anche grazie alle Guest Configuration Policy e alle potenzialità di Azure Arc, che permettono di controllare e sostenere più facilmente ambienti ibridi e multicloud.