Punti di forza
- La gestione del backup e del ripristino secondo il modello Infrastructure as Code (IaC) contribuisce a ridurre le discrepanze di configurazione e ad allineare la protezione dei dati alle moderne pratiche cloud.
- Il provider Clumio per Terraform consente di definire in modo dichiarativo gli account AWS, le politiche e le regole di protezione, gestendone il controllo delle versioni.
- La protezione basata su tag è progettata per proteggere automaticamente le risorse esistenti e future, contribuendo a ridurre gli interventi manuali e a garantire una scalabilità efficiente in tutti gli ambienti.
- La definizione delle politiche di backup in Terraform contribuisce a migliorare la visibilità, la riproducibilità e la governance attraverso flussi di lavoro standard basati sulle pull request.
- Questo approccio può rivelarsi particolarmente utile per gli ambienti AWS con più account e per le organizzazioni che hanno già adottato Terraform come standard.
Il cloud viene sempre più spesso definito come codice. Le istanze EC2, i ruoli di gestione delle identità e degli accessi (IAM), i cloud privati virtuali e i database sono ora ospitati in repository sottoposti a controllo di versione e vengono distribuiti in modo prevedibile tramite IaC. Tuttavia, le politiche di Backup and Recovery sono spesso ancora configurate manualmente nelle console web. Questo divario comporta dei rischi. Quando l’infrastruttura è dichiarativa ma la protezione dei dati non lo è, i team rischiano:
- Errori di configurazione.
- Protezione non uniforme tra i vari account.
- Errori di compilazione.
- Visibilità limitata su ciò che è effettivamente protetto.
Per le organizzazioni che già utilizzano Terraform, il backup e il ripristino dovrebbero essere gestiti allo stesso modo del resto dello stack, ovvero tramite codice. Il provider Terraform di Clumio consente di definire la protezione dei dati AWS in modo dichiarativo insieme all’infrastruttura. È possibile esplorare il provider e la relativa documentazione qui: https://registry.terraform.io/providers/clumio-code/clumio/latest/docs/guides/getting_started. In questo articolo vedremo come automatizzare i carichi di lavoro su AWS utilizzando Terraform e Clumio by Commvault Cloud, e perché questo approccio si adatta in modo più efficace alle esigenze del cloud moderno.
Il problema della configurazione del backup tramite console
In un ambiente tradizionale, la protezione delle risorse AWS richiede:
- Il collegamento degli account AWS.
- Configurazione separata della protezione su più servizi AWS.
- La creazione di criteri di backup.
- La definizione delle regole di protezione.
- L'assegnazione manuale delle risorse.
- Ripetere questa procedura per ogni account o ambiente.
Anche in contesti ben gestiti, ciò comporta:
- Configurazione manuale ripetitiva.
- Applicazione incoerente delle politiche.
- Protezione ritardata per le risorse appena create.
- Controllo delle versioni limitato.
Terraform contribuisce già a risolvere questo problema per l'infrastruttura. Il provider Clumio per Terraform estende questo modello alla protezione dei dati.
Da zero alla protezione: l’uso di quattro file
È possibile configurare la protezione di più servizi AWS utilizzando un numero limitato di file Terraform, anziché una sequenza di operazioni manuali nell’interfaccia utente.
La configurazione segue una struttura semplice.
- Definizione dei provider (AWS + Clumio)
Il primo passo consiste nel dichiarare i provider. Terraform deve sapere che:
- Si sta utilizzando AWS.
- Si sta utilizzando il provider Clumio.
In questo modo Terraform viene collegato a entrambe le piattaforme. La documentazione ufficiale del fornitore illustra in dettaglio questa configurazione nella guida “Introduzione”.
- Collegare gli account AWS a Clumio
Successivamente, il modulo Clumio stabilisce la connessione tra AWS e Clumio. Ciò semplifica la configurazione dei ruoli IAM necessaria per la protezione dei dati. Anziché configurare manualmente ruoli e autorizzazioni, il modulo gestisce l’integrazione in modo standardizzato. Il codice sorgente del provider è disponibile pubblicamente su GitHub. Ciò significa che la vostra integrazione è definita nel codice, soggetta a controllo di versione e riproducibile in tutti gli ambienti.
- Definire le politiche di backup come codice
La definizione delle politiche di backup è l’ambito in cui l’IaC dà il meglio di sé. In una configurazione basata su Terraform:
- È possibile impostare diversi obiettivi di punto di ripristino (RPO) per i diversi tipi di risorse.
- All’interno della stessa politica è possibile definire più livelli di conservazione (ad esempio, conservazione a breve e a lungo termine).
- La stessa politica può essere applicata automaticamente in base a condizioni prestabilite.
Anziché dover gestire più console, un’unica configurazione Terraform definisce la frequenza, il periodo di conservazione e l’ambito delle risorse. Tale politica è riutilizzabile e verificabile come qualsiasi altra configurazione dell’infrastruttura.
- Protezione automatica basata sui tag
Uno degli elementi più scalabili di questo approccio è la protezione basata sui tag. È possibile configurare una regola di protezione in modo che protegga automaticamente qualsiasi risorsa contrassegnata con una specifica coppia chiave/valore. Ad esempio: created_by = demo_script Ciò significa che:
- Le risorse esistenti che corrispondono al tag sono protette.
- Le risorse future con quel tag vengono incluse automaticamente.
- Non è necessario alcun intervento manuale.
Per quanto riguarda specificatamente S3, i gruppi di protezione utilizzano anche i tag per gestire centinaia di bucket come un’unica unità logica, consentendo di apportare modifiche centralizzate alle politiche su larga scala. Ciò contribuisce a ridurre la deriva di configurazione.
Applicazione della configurazione
Una volta definita, Terraform inizializza la directory di lavoro, mostra un’anteprima delle modifiche pianificate e applica la configurazione. Terraform è progettato per rispettare le dipendenze tra le risorse, creandone nell’ordine corretto. La configurazione consente di collegare gli account AWS, attivare le politiche, applicare le regole di sicurezza e proteggere le risorse contrassegnate. E, cosa fondamentale, l’intera strategia di sicurezza è implementata nel codice sottoposto a controllo di versione.
Perché questo è importante per il cloud
Per i team che operano secondo i principi dell’IaC, la configurazione dei backup dovrebbe seguire la stessa disciplina del provisioning dell’infrastruttura. La definizione del backup in Terraform offre diversi vantaggi pratici:
- Controllo delle versioni: le politiche di backup sono definite nel codice e possono essere riviste, sottoposte a controllo delle versioni e approvate tramite flussi di lavoro standard basati su pull request.
- Riproducibilità: la stessa configurazione può essere implementata in modo coerente negli account di sviluppo, staging e produzione.
- Deriva ridotta: le configurazioni Terraform possono essere riapplicate per garantire il rispetto dello stato dichiarato, contribuendo a riportare le modifiche manuali o fuori banda in linea con la configurazione prevista.
- Chiara visibilità: la logica di protezione è visibile nel codice anziché nascosta nelle impostazioni dell’interfaccia utente.
- Separazione tra configurazione e interfaccia: lo stato di sicurezza viene definito in modo dichiarativo, indipendentemente dallo stato della console.
Quando è opportuno questo approccio
L’automazione dei backup con Terraform è particolarmente utile per:
- Ambienti AWS con più account.
- Settori regolamentati che richiedono una configurazione verificabile.
- Piattaforme che gestiscono infrastrutture condivise.
- Organizzazioni che hanno già adottato Terraform come standard.
Se la vostra infrastruttura è definita come codice, lo dovrebbe essere anche la vostra strategia di protezione dei dati.
Come iniziare
Per approfondire questo approccio:
- Consultate la documentazione relativa al provider Clumio per Terraform.
- Esplorate il codice sorgente del provider su GitHub.
- Guardate il video dimostrativo “Guida rapida” qui sopra.
È inoltre possibile provare Clumio tramite AWS Marketplace.
Domande frequenti
D: Perché le politiche di backup dovrebbero essere gestite come codice?
R: Quando l’infrastruttura è definita come codice, ma le politiche di backup vengono configurate manualmente, possono emergere lacune e incongruenze. Gestire il backup come codice aiuta ad allineare la protezione ai flussi di lavoro di implementazione, a ridurre gli errori manuali e a fornire una visibilità, soggetta al controllo delle versioni, sulla propria strategia di protezione dei dati.
D: Quali funzionalità offre il provider Clumio per Terraform?
A: Il provider Clumio per Terraform consente di definire in modo dichiarativo le risorse di protezione dei dati AWS, quali connessioni agli account, politiche di backup e regole di protezione. Ciò permette ai team di gestire le configurazioni di backup insieme all’infrastruttura all’interno dello stesso flusso di lavoro Terraform.
D: In che modo la protezione basata sui tag migliora la scalabilità?
A: La protezione basata sui tag è progettata per applicare automaticamente le politiche a qualsiasi risorsa che corrisponda a una coppia chiave/valore specificata. Ciò contribuisce a proteggere le risorse esistenti e future senza necessità di assegnazioni manuali, facilitando la gestione della protezione su larga scala tra account e servizi.
D: In che modo Terraform contribuisce a ridurre lo scostamento di configurazione negli ambienti di backup?
R: Terraform mantiene uno stato dichiarato per l’infrastruttura e le politiche di protezione. La riapplicazione delle configurazioni contribuisce a riportare le modifiche manuali o fuori banda in linea con lo stato previsto, contribuendo a migliorare la coerenza tra i vari ambienti.
D: In quali casi è più opportuno automatizzare il backup con Terraform?
R: Questo approccio risulta particolarmente vantaggioso negli ambienti AWS con più account, nei settori regolamentati che richiedono configurazioni verificabili, nelle piattaforme che gestiscono servizi condivisi e nelle organizzazioni che già utilizzano Terraform come standard per l’IaC.
D: In che modo i team possono iniziare a utilizzare la protezione dei dati AWS basata su Terraform?
R: I team possono iniziare consultando la documentazione del provider Clumio Terraform, esaminando il codice sorgente del provider su GitHub e guardando la demo “Quick Start”. Un altro passo pratico da compiere è valutare Clumio tramite AWS Marketplace.
Lawrence Chang è direttore tecnico di Clumio e Vir Choksi è responsabile senior del marketing di prodotto presso Commvault.