Comment déployer DataSunrise avec un modèle 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 avec toutes les dépendances appliquées correctement, il ne fait aucun doute que les modèles sont utiles. Sans eux, l’installation du produit pourrait prendre beaucoup plus de temps en incluant également la maintenance d’une solution fiable et stable pour exécuter l’environnement du produit. Pour éviter de tels inconvénients, DataSunrise fournit un script dédié pour le déploiement de l’infrastructure HA au sein du service Microsoft Azure basé sur un modèle Terraform. Le processus de déploiement est automatisé et ne nécessite aucun réglage manuel supplémentaire.
L’infrastructure DataSunrise inclut :
- Réseau Virtuel Personnalisé où les sous-réseaux sont stockés.
- Nœuds de mise à l’échelle automatique DataSunrise (instances).
- 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 informations d’identification 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 modèle Terraform
Certaines entités doivent exister dans votre environnement Azure avant le processus de déploiement. Voici la liste des éléments requis :
- AZ CLI est installé.
- Terraform CLI téléchargé/installé.
- Compte de stockage avec un conteneur accessible contenant la version de DataSunrise ou tout autre endroit d’où vous pouvez télécharger la version de DataSunrise.
Important :
Votre abonnement au compte Azure doit être attribué au rôle de Propriétaire pour permettre l’utilisation de la ressource Managed Identity afin de se connecter à AZ CLI et de déployer les ressources Azure nécessaires pour une mise en œuvre réussie de DataSunrise. Vous pouvez le vérifier dans Abonnements -> <votre-abonnement> -> Contrôle d’accès -> Attributions de rôles.
Déploiement d’un modèle 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 du référentiel pour déployer DataSunrise dans une configuration HA. Ouvrez le fichier terraform.tfvars et remplacez xxxxxxxxx par des 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 : sous 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 qui doit être exécutée après la mise en place d’une nouvelle configuration Terraform ou le clonage d’une configuration existante depuis un contrôle de version. Il est sûr d’exécuter 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 apporter à votre infrastructure. Par défaut, lorsque Terraform crée un plan, il effectue les opérations suivantes :
- Lit l’état actuel de tous les objets distants existants pour s’assurer que l’état de Terraform est à jour.
- Compare la configuration actuelle à l’état antérieur et note toutes les différences.
- Propose un ensemble d’actions de changement qui, si appliquées, feront correspondre les objets distants à 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, elle offre un moyen pratique de détruire tous les objets distants gérés par une configuration Terraform spécifique. En outre, la commande terraform destroy vous permet de nettoyer facilement tous les objets temporaires une fois votre travail terminé.
Finalisation du déploiement
Après avoir exécuté terraform apply, la création des ressources prend environ 10-15 minutes, et la configuration ultérieure et 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 à l’intérieur du groupe de ressources :
Débogage
Si votre serveur est indisponible pendant longtemps, 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’interface Web de DataSunrise
Pour vous connecter à la Console Web de DataSunrise, utilisez l’adresse IP publique du Load balancer. Elle 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 en utilisant SSH.
La base de données cible sera automatiquement ajoutée aux paramètres de DataSunrise :