Comment déployer DataSunrise avec un Template Terraform sur Azure
Précédemment, nous avons décrit comment configurer DataSunrise sur Microsoft Azure en utilisant Azure Resource Manager. Étant donné que la configuration de la haute disponibilité nécessite une mise en œuvre précise des réglages avec toutes les dépendances correctement appliquées, il ne fait aucun doute que les templates sont utiles. Sans eux, l’installation du produit pourrait prendre beaucoup plus de temps, incluant également la maintenance d’une solution fiable et stable pour exécuter l’environnement du produit. Pour éviter de tels désagréments, DataSunrise fournit un script dédié pour le déploiement de l’infrastructure HA au sein du service Microsoft Azure basé sur un template Terraform. Le processus de déploiement est automatisé et ne nécessite aucun ajustement manuel supplémentaire.
L’infrastructure DataSunrise comprend :
- Réseau Virtuel Personnalisé où sont stockés les sous-réseaux.
- Nœuds de mise à l’échelle automatique (instances) de DataSunrise.
- Stockage de configuration et d’audit basé sur les bases de données Azure.
- Le Load Balancer d’Azure est utilisé pour distribuer le trafic entre les nœuds actifs.
- ScaleSet comprend la configuration du cluster de basculement.
- Key Vault est utilisé pour stocker les identifiants des ressources.
Tous ces composants sont situés à l’intérieur d’un Réseau Virtuel Personnalisé avec le sous-réseau spécifié.
Préparation au déploiement du Template Terraform
Certaines entités doivent exister dans votre environnement Azure avant le début du processus de déploiement. Voici la liste des éléments requis :
- AZ CLI est installé.
- Téléchargé/Installé Terraform CLI.
- Un compte de stockage avec un conteneur accessible contenant la build de DataSunrise ou tout autre endroit d’où vous pouvez télécharger la build de DataSunrise.
Important :
L’abonnement de votre compte Azure doit être assigné au rôle de Propriétaire pour permettre l’utilisation de la ressource Managed Identity pour se connecter à Azure CLI et déployer les ressources Azure nécessaires à la mise en œuvre réussie de DataSunrise. Vous pouvez le vérifier dans Abonnements -> <votre-abonnement> -> Contrôle d’accès -> Assignations de rôles.
Déploiement d’un Template Terraform
Enregistrez ou sélectionnez une application existante et fournissez “CLIENT_ID”, “CLIENT_SECRET”, “SUBSCRIPTION_ID”, “TENANT_ID”.


Script Terraform
Téléchargez le script Terraform depuis le dépôt pour déployer DataSunrise en configuration HA. Ouvrez le fichier terraform.tfvars et remplacez xxxxxxxxx par les valeurs correspondant à votre environnement :

Ouvrez la console et définissez ces variables d’environnement :
Set ARM_CLIENT_ID="SET-CLIENT-KEY-HERE" Set ARM_CLIENT_SECRET="SET-CLIENT-SECRET-HERE" Set ARM_SUBSCRIPTION_ID="SET-SUBSCRIPTION-ID-HERE" Set ARM_TENANT_ID="SET-TENANT-ID-HERE"
Important : sur Windows, vous devez copier le fichier exécutable téléchargé, terraform.exe, dans le dossier scripts.
Commandes Terraform
La commande terraform init.
Cette commande est utilisée pour initialiser un répertoire de travail contenant des fichiers de configuration Terraform. C’est la première commande à exécuter après avoir configuré une nouvelle configuration Terraform ou cloné une configuration existante à partir du contrôle de version. Il est sûr de lancer cette commande plusieurs fois.

La commande terraform plan.
Cette commande crée un plan d’exécution qui vous permet de prévisualiser les modifications que Terraform prévoit d’apporter à votre infrastructure. Par défaut, lorsque Terraform crée un plan, il effectue les actions suivantes :
- Lit l’état actuel de tous les objets distants déjà existants pour s’assurer que l’état de Terraform est à jour.
- Compare la configuration actuelle à l’état précédent et note les différences.
- Propose un ensemble d’actions de changement qui, si elles sont appliquées, devraient faire en sorte que les objets distants correspondent à la configuration.

La commande terraform apply.
Cette commande exécute les actions proposées dans un plan Terraform.
La commande terraform destroy.
Cette commande détruit l’environnement créé. De plus, c’est un moyen pratique de détruire tous les objets distants gérés par une configuration Terraform particulière. De plus, la commande terraform destroy vous permet de nettoyer commodément tous les objets temporaires une fois que vous avez terminé votre travail.
Finition du Déploiement
Après l’exécution de terraform apply, la création des ressources prend environ 10-15 minutes, et la configuration ultérieure ainsi que l’installation de bibliothèques supplémentaires prennent environ 15-20 minutes.
Vous pouvez voir toutes les ressources créées dans le groupe de ressources créé avec le nom défini dans terraform.tfvars – préfixe.
Si toutes les ressources sont déployées avec succès, elles seront listées dans le groupe de ressources :

Débogage
Si votre serveur est indisponible pendant une longue période, vous pouvez vous connecter à la machine virtuelle créée via SSH en utilisant le nom d’utilisateur et le mot de passe spécifiés dans le fichier terraform.tfvars. Une fois connecté, exécutez la commande sudo cat /var/log/cloud-init-output.log et voyez la raison de l’installation incorrecte du serveur.
Connexion à l’UI Web de DataSunrise
Pour vous connecter à la Console Web de DataSunrise, utilisez l’adresse IP publique du Load balancer. Il se connectera automatiquement à l’un des nœuds configurés. Vous devez également utiliser cette adresse IP pour vous connecter à votre base de données cible via un proxy et pour vous connecter à votre machine virtuelle via SSH.
La base de données cible sera automatiquement ajoutée aux paramètres de DataSunrise :
