Avec l'augmentation de la technologie du cloud computing, plus d'industries migrent leurs charges de travail vers une infrastructure basée sur le cloud. À la suite de ce modèle, les technologues ont ressenti le besoin d'un mécanisme pour automatiser le processus de déploiement d'instance (et d'autres ressources cloud). Terraform est l'un de ces outils open source pour faciliter ces progrès.
Ce que nous couvrirons
Cet article montrera comment nous pouvons créer une instance EC2 sur AWS en utilisant Terraform. Nous verrons un exemple d'installation d'un serveur Web simple sur cette instance. Parlons d'abord un peu de l'installation de Terraform.
Comment installer Terraform
Packages officiels Terraform pour divers systèmes d'exploitation comme Windows, Mac et les distros basés sur Linux, tels que Ubuntu / Debian, Centos / Rhel, etc., sont disponibles. De plus, Terraform maintient également le binaire pré-compilé et peut également être compilé à partir de la source. Vous pouvez consulter les différentes procédures d'installation sur le site Web de Terraform. Pour vérifier votre installation Terraform, exécutez la commande suivante:
1 | $ Terraform - Version |
Création d'une instance AWS EC2 en utilisant Terraform
Après avoir installé Terraform sur votre système, procédez par la création d'une instance EC2 sur AWS. Il existe des fichiers pour gérer efficacement un déploiement Terraform. Bien que nous puissions créer un seul fichier et déclarer toutes les choses, cette approche rendra le scénario entier maladroit. Alors, créons d'abord un répertoire de travail comme indiqué dans ce qui suit:
Étape 1. Commencez par un dossier qui tiendra tous les fichiers de configuration. Créez le dossier et déplacez-vous comme indiqué dans ce qui suit:
1 | $ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform |
Étape 2. Créons notre premier fichier de configuration, «Variables.tf ”, qui contient des informations sur notre région AWS et le type d'instance que nous voulons utiliser, comme indiqué dans ce qui suit:
1 | $ variables nano.TF |
Maintenant, mettez le texte ci-dessous à l'intérieur et enregistrez le fichier comme indiqué dans ce qui suit:
1 2 3 4 5 6 7 8 9 dix | variable "aws_region" |
Étape 3. Par défaut, lorsque Terraform crée une nouvelle instance, le groupe de sécurité par défaut associé à l'instance nie tout le trafic. Nous créerons donc un nouveau fichier, «secgrp.tf ", pour créer un groupe de sécurité," web-sg ", qui permettra le trafic« SSH »et« HTTP »entrant, ainsi que tout le trafic sortant, comme indiqué ci-dessous:
1 | $ nano secgrp.TF |
Maintenant, mettez le code suivant à l'intérieur comme indiqué dans ce qui suit:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 | ressource "aws_security_group" "web-sg" |
Étape 4. Créer un «principal.Fichier TF ”qui définira l'infrastructure souhaitée comme indiqué dans ce qui suit:
1 | $ nano main.TF |
Maintenant, mettez la configuration suivante à l'intérieur:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | Terraform |
Dans le code précédent, n'oubliez pas de modifier le «nom d'utilisateur» au nom de votre système et au nom de «EC2-Keypair» au nom de la paire de clés dans votre cas. Voyons un peu les paramètres utilisés dans les fichiers ci-dessus:
aws_instance: Cela crée une ressource d'instance EC2. Les instances peuvent être créées, modifiées et détruites
SUIS-JE: Spécifiez l'ID AMI à utiliser avec l'instance EC2
instance_type: Cette option est utilisée pour déclarer le type de l'instance à utiliser
key_name: Spécifie le nom de la paire de clés à utiliser avec l'instance EC2
vpc_security_group_ids: Un argument pour une liste des identifiants de groupe de sécurité à joindre
associé_public_ip_address: Spécifiez si vous devez joindre IP publique avec une instance à l'intérieur d'un VPC
données d'utilisateur: Utilisé pour passer des commandes / données sur une instance lors du lancement
Maintenant, initialisez Terraform en exécutant la commande suivante:
1 | $ Terraform init |
Maintenant, appliquez les modifications en utilisant la commande suivante:
1 | $ terraform s'applique |
Vérification de la procédure
Maintenant, vérifions si l'instance EC2 souhaitée est créée. Dirigez-vous vers la console EC2 et vérifiez les instances en cours comme indiqué dans l'image suivante:
Puisque notre instance a été créée avec succès, nous verrons maintenant si le site Web que nous avons déployé fonctionne correctement ou non. Copiez le nom DNS ou l'IP publique de l'instance et entrez-le dans un navigateur Web comme indiqué dans les éléments suivants:
Bien joué! Notre serveur Web fonctionne bien.
Nettoyer les ressources
Lorsque vous avez testé votre infrastructure ou lorsque vous n'en avez pas besoin, nettoyez les ressources en exécutant la commande suivante:
1 | $ terraform détruire |
Conclusion
Ce guide nous a appris à créer une instance EC2 sur AWS en utilisant Terraform. Nous avons également démontré comment provisionner un simple serveur Web AWS à l'aide de Terraform.