Fermer

novembre 20, 2020

Gérer l'infrastructure en tant que code


Le déploiement et la gestion de l'infrastructure ne sont pas un processus simple; en fait, il implique plusieurs étapes et outils pour provisionner l'infrastructure. Nous avons besoin d'outils qui rendent ce processus transparent, simple et efficace. Prenez Terraform, un outil utilisé pour provisionner et gérer l'infrastructure dans n'importe quel cloud. Cet outil open-source créé par HashiCorp vous permet de codifier votre infrastructure sous forme de fichiers de configuration déclaratifs versionnés à partager et à examiner.

Nous passerons en revue les avantages de Terraform, ainsi que les catégories et les pratiques utilisées pour gérer l'infrastructure sur Cloud AWS.

Comment utiliser et comprendre Terraform

Non seulement Terraform vous permet de regrouper votre infrastructure sous forme de code, mais il présente également divers avantages, tels que:

  • Provisionnement automatisé de l'infrastructure [19659006] Faites évoluer votre infrastructure et versez-la
  • Collaborez et partagez la configuration de l'infrastructure
  • Ressources et dépendances mappées
  • Séparation d'un plan et appliquez
  • Combinez plusieurs fournisseurs de cloud
  • Modules partagés d'un modèle d'infrastructure commun
  • Re -Utilisez la configuration pour une infrastructure similaire
  • Évitez les erreurs et gagnez du temps

Ecriture de la configuration Terraform

Nous pouvons utiliser deux formats o écrire du code de configuration Terraform en langage HCL ( .tf) ou au format json ( .tf.json). Je recommande HCL, car le format json est une machine ciblée avec une génération automatique plutôt qu'un code spécifié par l'homme, et les fichiers Terraform traitent principalement des ressources et des sources de données.

Understanding Commands

Terraform works en détectant les tests d'infrastructure actuels et en calculant la différence entre l'état connu et l'état souhaité. Nous pouvons vérifier avec ces deux commandes couramment utilisées: «Terraform Plan», qui génère et affiche le plan d'exécution, et «Terraform Apply», qui construit ou change au sein de l'infrastructure.

Terraform comprend également des commandes qui exécutent plusieurs actes différents, tels que:

  • Terraform Console: Une console interactive pour les interpolations Terraform
  • Terraform init: Un répertoire de travail Terraform initialisé
  • Terraform Destroy: Détruire l'infrastructure gérée Terraform
  • Terraform env: La gestion de l'espace de travail
  • Terraform fmt : Réécriture des fichiers de configuration au format conique
  • Terraform get: Téléchargez et installez les modules pour la configuration
  • Terraform validate: Validez le fichier de configuration Terraform
  • Importation Terraform: Importez l'infrastructure existante dans Terraform
  • Terraform show: Inspectez Terraform state or plan
  • Version Terraform: Imprimer la version Terraform
  • Sortie Terraform: Lire la sortie à partir de l'état Terraform f ile

Types de modules Terraform

 Plates-formes et technologie - Un guide des chefs d'entreprise sur les principales tendances du cloud

Chaque configuration Terraform possède au moins un module connu sous le nom de module racine, qui se compose de la ressource définie dans le * fichier .tf dans le répertoire de travail principal. Le module racine est le conteneur de ressources que nous utilisons ensemble et le module racine peut faire appel à un autre module.

Types de variables Terraform

Les variables d'entrée servent de paramètres pour un module Terraform, permettant pour la personnalisation des aspects du module sans altérer le code source du module, et permettant le partage de modules entre différentes configurations. Lorsque vous déclarez des variables dans le module racine de votre configuration, vous pouvez définir leurs valeurs à l'aide des options CLI et des variables d'environnement.

Meilleures pratiques pour l'utilisation de Terraform sur AWS Cloud

Pour vous assurer que vous utilisez Terraform au mieux dans AWS Cloud, suivez ces étapes de pré-configuration:

Pour vous assurer que vous utilisez Terraform au mieux dans AWS Cloud, suivez ces étapes de pré-configuration:

  1. Installez Terraform à l'aide de ce lien: https: // learn .hashicorp.com / tutorials / terraform / install-cli
  2. Téléchargez le code Terraform: https://github.com/amitmehar123/AWS-TF

Connectez votre machine Terraform de base Linux à votre AWS compte en suivant les étapes ci-dessous:

  1. Dans la console AWS, cliquez sur «créer un nouvel utilisateur» dans la section IAM.
  2. Sélectionnez « Accès par programmation» ci-dessous et entrez votre détails de l'utilisateur.
  3. Joindre le « AdministratorAccess » pol
  4. Vérifier et créer.
  5. Télécharger Accès par programme
  6. Installez AWS CLI sur la machine installée Terraform et exécutez «aws configure»
  7. Fournissez la clé d'accès et l'accès secret à la région en sélectionnant «us-east-1».
  1. Découvrez comment Terraform fonctionne dans l'architecture AWS.

Vous verrez le déploiement de l'application sur les instances Ec2, qui font partie du groupe de mise à l'échelle automatique. Ensuite, l'équilibrage de charge s'applique au groupe d'instances à mise à l'échelle automatique avec la configuration du pare-feu HTTP. Toutes les ressources sont créées à l'aide de la structure de répertoire de base du module Terraform, avec les modifications appliquées via le fichier de configuration main.tf et le serveur Web Apache configuré sur les instances utilisant userdata.sh.

En utilisant une structure de dossiers, les environnements Terraform (et leurs états) sont séparés par répertoires et Terraform charge tous les fichiers * .tf d'un répertoire dans un espace de noms sans ordre spécifique.

Dans cette image, nous développons le modèle de configuration Terraform et effectuons tout type d'opération Terraform. Le modèle de configuration principal, Main.tf est le fichier dans lequel nous décrivons toutes les ressources à déployer sur le cloud AWS dans la région us-east-1 .

[19659038] Vérifiez auprès du Terraform Plan pour vous assurer que toutes les ressources sont correctement déployables sans erreur. La sortie correcte indique «Plan: 18 pour ajouter, 0 pour modifier et 0 pour détruire» .

  1. Enfin, exécutez la commande «Terraform Apply» pour effectuer une compilation et déployer des modifications sur l'infrastructure AWS Cloud. La sortie ci-dessous montre que les 18 ressources sont déployées avec succès dans AWS Cloud. Si vous voulez détruire les ressources, exécutez simplement la commande «Terraform Destroy» .

Terraform est un outil précieux pour la gestion de l'infrastructure

L'apprentissage de nouveaux sujets et outils vaut toujours la peine d'être ajouté à vos compétences techniques, et des outils tels que Terraform peuvent changer la façon dont vous gérez ou provisionnez votre cloud AWS infrastructure simplement et efficacement. Pour en savoir plus sur la mise en œuvre de Terraform dans votre infrastructure technique, veuillez contacter nos experts aujourd'hui .

À propos de l'auteur

Amit Mehar est un consultant technique et ingénieur cloud basé à Nagpur, en Inde. Il a plus de 6 ans d'expérience dans le cloud, l'automatisation du cloud et DevOps. Il a une solide connaissance d'AWS Cloud et de GCP.

Plus de cet auteur




Source link