Fournisseurs Terraform

Fournisseurs Terraform



Terraform est l'un des outils populaires et open source d'infrastructure en tant que code. Il permet aux développeurs de définir et de gérer votre infrastructure de manière déclarative. Il leur permet de créer, de gérer et de modifier les ressources de l'infrastructure à l'aide d'une syntaxe simple et cohérente, quelle que soit la plate-forme cloud ou le fournisseur de services sous-jacent.

Cet article explique comment utiliser et configurer les différents fournisseurs pour interagir avec diverses plates-formes et services cloud.

Présentation des fournisseurs Terraform

Les fournisseurs Terraform sont des plugins qui nous permettent d'interagir avec différentes plates-formes et services cloud à l'aide de Terraform. Ces fournisseurs sont chargés de traduire la configuration Terraform en appels d'API, ce qui est nécessaire pour gérer les ressources sur une plate-forme ou un service cloud spécifique.







Types de fournisseurs dans Terraform

Dans le Registre Terraform , nous pouvons voir trois types de fournisseurs :



Fournisseurs officiels

Les fournisseurs officiels sont maintenus par la société HashiCorp qui possède Terraform. Ces fournisseurs sont la meilleure option disponible si nous avons besoin de fournisseurs bien documentés et à jour.



Les fournisseurs AWS, Microsoft Azure et Google Cloud Platform peuvent être des exemples de fournisseurs officiels dans Terraform.





Fournisseurs partenaires

Des organisations tierces maintiennent ces fournisseurs et se sont associées à HashiCorp pour fournir un support officiel pour leurs services.

Les fournisseurs GitLab, MongoDB et CloudFlare sont des fournisseurs partenaires disponibles pour les utilisateurs.



Fournisseurs communautaires

Les fournisseurs de communauté sont généralement créés par des individus ou des organisations de la communauté Terraform qui souhaitent gérer les ressources sur une plate-forme cloud ou un service qui n'est pas pris en charge par un fournisseur officiel ou partenaire.

Quelques exemples de fournisseurs communautaires sont illustrés dans l'image suivante :

Comment utiliser un fournisseur Terraform

Pour utiliser un fournisseur Terraform, nous devons inclure un bloc de fournisseur dans notre fichier de configuration qui spécifie le fournisseur que nous voulons utiliser et tous les paramètres de configuration requis tels que les informations d'identification ou la région.

Une fois le fournisseur configuré, nous pouvons utiliser les ressources et les sources de données fournies par le fournisseur dans notre configuration Terraform pour gérer les ressources sur la plate-forme ou le service cloud.

Créons un simple fichier de configuration Terraform qui crée une instance EC2 dans la plateforme cloud AWS.

fournisseur 'aws' {

édition = '~> 3.0'

région = 'nous-est-2'

}

Ressource 'aws_instance' 'monEC2' {

qui = 'ami-0a561b65214a47cac'

type_instance = 't3. petit'

balises = {

Nom = 'nouvelle-instance'

}

}

Tout d'abord, nous définissons le bloc de fournisseur, en spécifiant le fournisseur AWS et la région où les ressources sont créées. Ensuite, nous définissons notre bloc de ressources comme composé de aws_instance comme type de ressource, 'myEC2' comme nom de ressource et 'ami', 'instance_type' et 'tags' comme attributs. Le type de ressource peut être divisé en deux parties : Fournisseur et Ressource. Dans ce cas, 'aws' est le fournisseur et 'instance' est la ressource. De plus, si quelqu'un a besoin de provisionner dix instances EC2, l'attribut 'count' peut être utilisé avec dix comme valeur.

Maintenant, nous pouvons exécuter le flux Terraform qui comprend l'exécution des commandes terraform init, terraform plan et terraform apply pour créer la ressource que nous avons définie.

En utilisant le fournisseur AWS Terraform, nous pouvons accéder à la plate-forme cloud AWS et interagir efficacement avec ses services sans utiliser la console de gestion AWS.

Utilisation de plusieurs fournisseurs dans Terraform

Plutôt que d'utiliser un seul fournisseur, Terraform nous permet d'utiliser plusieurs fournisseurs dans le même fichier de configuration Terraform pour interagir avec différents types de services et de plates-formes cloud.

Pour votre compréhension, prenons un exemple où nous déployons un moteur de calcul dans la plate-forme Google Cloud, un référentiel dans GitHub et un compartiment S3 dans la plate-forme cloud AWS.

fournisseur 'Google' {

projet = 'premier-projet'

région = 'us-west1'

}

fournisseur 'github' {

jeton = 'VOTRE_GITHUB_TOKEN'

}

fournisseur 'aws' {

édition = '~> 3.0'

région = 'nous-ouest-2'

}

Ressource 'google_compute_instance' 'instancegcp' {

nom = 'nouvelle-instance'

type_machine = 'n1-standard-1'

secteur = 'us-west1-a'

disque de démarrage système {

initialize_params {

image = 'debian-cloud/debian-10'

}

}

}

Ressource 'github_repository' 'gitRepo' {

nom = 'nouveau-repo'

descriptif = 'Ceci est mon nouveau référentiel'

}

Ressource 'aws_s3_bucket' 'awsBucket' {

seau = 'nouveau-seau'

ACL = 'privé'

}

Dans un premier temps, nous définissons nos blocs de fournisseurs pour spécifier les fournisseurs (Google, GitHub et AWS) et les informations nécessaires telles que la région, le nom du projet, etc. Ensuite, nous déclarons nos ressources à l'aide de trois blocs de ressources : 'gcpInstance', ' gitRepo » et « awsBucket ».

Tout d'abord, nous créons un moteur de calcul dans Google Cloud Platform avec 'new-instance' comme nom, 'n1-standard-1' comme type de machine et 'us-west1-a' comme zone de disponibilité. Il utilise Debian comme système d'exploitation hôte. Ensuite, nous créons un référentiel GitHub nommé 'new-repo' et une description appropriée. Enfin, un bucket S3 est créé avec le 'new-bucket' comme nom et 'private' comme valeur ACL (Access Control List).

Avec ces trois fournisseurs Terraform, nous pouvons facilement interagir avec les plateformes cloud et leurs services.

Meilleures pratiques pour travailler avec des fournisseurs Terraform

Gestion des versions du fournisseur

Nous devons spécifier la version du fournisseur car cela permet d'assurer la cohérence et d'éviter les comportements inattendus dus à des changements avec rupture dans les versions plus récentes.

Authentification du fournisseur

Nous pouvons utiliser les mécanismes d'authentification sécurisés tels que les clés API et les jetons d'accès pour authentifier et autoriser Terraform à interagir avec la plate-forme ou le service cloud respectif.

Documentation du fournisseur

Les fournisseurs ont souvent des options de configuration, des fonctionnalités et des limitations spécifiques. Comprendre ce didacticiel nous aide à utiliser efficacement le fournisseur et à éviter les pièges courants.

Mises à jour du fournisseur

Les fournisseurs peuvent publier des correctifs de bogues, des améliorations de performances et de nouvelles fonctionnalités. Rester à jour nous permet de profiter des dernières améliorations et de maintenir la compatibilité avec l'écosystème du fournisseur.

Soutien communautaire

Nous pouvons utiliser les forums en ligne, les forums de discussion et les canaux communautaires pour résoudre les défis quotidiens rencontrés lors de l'utilisation des fournisseurs.

Gestion des erreurs et dépannage

Il est recommandé de se familiariser avec les messages d'erreur, les journaux et les techniques de débogage du fournisseur afin de nous aider à diagnostiquer et à résoudre les problèmes plus efficacement.

Conclusion

Nous avons pris une brève introduction aux fournisseurs Terraform. Nous avons expliqué comment les utiliser et les configurer pour interagir avec diverses plates-formes et services cloud et comment utiliser plusieurs fournisseurs pour gérer les ressources sur différentes plates-formes et services cloud grâce à des exemples faciles à comprendre.