Come Distribuire DataSunrise con il Modello Terraform su Azure
In precedenza abbiamo descritto come configurare DataSunrise su Microsoft Azure usando Azure Resource Manager. Poiché la configurazione di Alta Disponibilità richiede un’implementazione accurata delle impostazioni con tutte le dipendenze applicate correttamente, non c’è dubbio che i modelli siano utili. Senza di essi, l’installazione del prodotto potrebbe richiedere molto più tempo, includendo anche la manutenzione di una soluzione affidabile e stabile per eseguire l’ambiente del prodotto. Per evitare tali inconvenienti, DataSunrise fornisce uno script dedicato per il deployment dell’infrastruttura HA all’interno del servizio Microsoft Azure basato su un modello Terraform. Il processo di deployment è automatizzato e non richiede ulteriori regolazioni manuali.
L’infrastruttura di DataSunrise include:
- Rete Virtuale Personalizzata dove sono memorizzati i sottoreti.
- Nodi di autoscaling di DataSunrise (istanze).
- Configurazione e archiviazione di audit basati su Azure Databases.
- Il Load Balancer di Azure viene utilizzato per distribuire il traffico tra i nodi attivi.
- ScaleSet include la configurazione del cluster failover.
- Key Vault è utilizzato per memorizzare le credenziali per le risorse.
Tutti questi componenti si trovano all’interno di una Rete Virtuale Personalizzata con la sottorete specificata.
Preparazione per il Deployment del Modello Terraform
Alcune entità devono esistere nel tuo ambiente Azure prima del processo di deployment. Ecco l’elenco degli elementi richiesti:
- AZ CLI è installato.
- Scaricato/Installato Terraform CLI.
- Account di archiviazione con un contenitore accessibile con la build di DataSunrise all’interno o qualsiasi posizione da cui è possibile scaricare la build di DataSunrise.
Importante:
L’abbonamento del tuo account Azure deve essere assegnato al ruolo di Proprietario per consentire l’uso della risorsa Identità Gestita per connettersi ad Azure CLI e distribuire le risorse Azure richieste per l’implementazione di successo di DataSunrise. Puoi verificarlo in Abbonamenti -> <tuo-abbonamento> -> Controllo accesso -> Assegnazioni ruoli.
Distribuzione di un Modello Terraform
Registra o seleziona un’app esistente e fornisci “CLIENT_ID”, “CLIENT_SECRET”, “SUBSCRIPTION_ID”, “TENANT_ID”.


Script Terraform
Scarica lo script Terraform dal repository per distribuire DataSunrise in una configurazione HA. Apri il file terraform.tfvars e sostituisci xxxxxxxxx con i valori che corrispondono al tuo ambiente:

Apri la console e imposta queste variabili di ambiente:
Set ARM_CLIENT_ID="INSERISCI-CHIAVE-CLIENTE-QUI" Set ARM_CLIENT_SECRET="INSERISCI-SEGRETO-CLIENTE-QUI" Set ARM_SUBSCRIPTION_ID="INSERISCI-ID-ABBONAMENTO-QUI" Set ARM_TENANT_ID="INSERISCI-ID-TENANT-QUI"
Importante: su Windows, è necessario copiare il file eseguibile scaricato, terraform.exe, nella cartella scripts.
Comandi Terraform
Il comando terraform init.
Questo comando è utilizzato per inizializzare una directory di lavoro contenente file di configurazione Terraform. Questo è il primo comando che dovrebbe essere eseguito dopo la configurazione di una nuova configurazione Terraform o dopo aver clonato una configurazione esistente dal controllo di versione. È sicuro eseguire questo comando più volte.

Il comando terraform plan.
Questo comando crea un piano di esecuzione che ti consente di visualizzare in anteprima le modifiche che Terraform intende apportare alla tua infrastruttura. Di default, quando Terraform crea un piano, svolge le seguenti operazioni:
- Legge lo stato attuale di qualsiasi oggetto remoto già esistente per assicurarsi che lo stato di Terraform sia aggiornato.
- Confronta la configurazione attuale con lo stato precedente e annota eventuali differenze.
- Propone un insieme di azioni di cambiamento che, se applicate, dovrebbero far corrispondere gli oggetti remoti alla configurazione.

Il comando terraform apply.
Questo comando esegue le azioni proposte in un piano Terraform.
Il comando terraform destroy.
Questo comando distrugge l’ambiente creato. Inoltre, è un modo conveniente per distruggere tutti gli oggetti remoti gestiti da una particolare configurazione Terraform. Inoltre, il comando terraform destroy ti consente di pulire convenientemente tutti gli oggetti temporanei una volta finito il lavoro.
Terminare il Deployment
Dopo aver eseguito terraform apply, la creazione delle risorse richiede circa 10-15 minuti, e l’ulteriore configurazione e installazione delle librerie aggiuntive richiede circa 15-20 minuti.
Puoi vedere tutte le risorse create nel gruppo di risorse creato con il nome impostato in terraform.tfvars – prefisso.
Se tutte le risorse sono state distribuite con successo, saranno elencate all’interno del gruppo di risorse:

Debugging
Se il tuo server è inattivo per lungo tempo, puoi connetterti alla macchina virtuale creata tramite SSH utilizzando il nome utente e la password specificati nel file terraform.tfvars. Dopo la connessione, esegui il comando sudo cat /var/log/cloud-init-output.log e verifica il motivo per cui l’installazione del server non è corretta.
Connessione alla UI Web di DataSunrise
Per connetterti alla Console Web di DataSunrise, utilizza l’indirizzo IP pubblico del Load Balancer. Ti connetterà automaticamente a uno dei nodi configurati. Devi usare anche questo indirizzo IP per connetterti al tuo database di destinazione tramite un proxy e per connetterti alla tua macchina virtuale tramite SSH.
Il DB di Destinazione verrà automaticamente aggiunto alle impostazioni di DataSunrise:
