Utilisation de Terraform comme outil IaC pour AWS Cloud - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de Terraform comme outil IaC pour AWS Cloud

HashiCorp Terraform est un outil d'infrastructure en tant que code (IaC) qui vous aide à gérer votre infrastructure cloud. À l'aide de Terraform, vous pouvez définir des ressources cloud et sur site dans des fichiers de configuration que vous pouvez versionner, réutiliser et partager. Vous pouvez ensuite utiliser un flux de travail cohérent pour provisionner et gérer l'ensemble de votre infrastructure tout au long de son cycle de vie.

Les développeurs utilisent un langage de configuration de haut niveau appelé langage Terraform. La syntaxe native de bas niveau du langage Terraform est le langage de HashiCorpconfiguration (HCL). Le langage Terraform est conçu pour être facile à lire et à écrire pour les humains. Vous utilisez le langage Terraform pour décrire l'état final souhaité du cloud ou de l'infrastructure sur site. Terraform génère ensuite un plan pour atteindre cet état final, et vous exécutez le plan pour approvisionner l'infrastructure.

Avantages de l'utilisation de Terraform :

  • Terraform est indépendant de la plateforme. Vous pouvez l'utiliser avec n'importe quel fournisseur de services cloud. Vous pouvez configurer, tester et déployer l'infrastructure au sein AWS de nombreux autres fournisseurs de cloud. Si votre entreprise utilise plusieurs fournisseurs de cloud, Terraform peut être une solution unique, unifiée et cohérente pour gérer l'infrastructure cloud. Pour plus d'informations sur le support multicloud, consultez la section Provisionnement multicloud sur le site Web de Terraform.

  • Terraform est sans agent. Il ne nécessite l'installation d'aucun logiciel sur l'infrastructure gérée.

  • Les modules Terraform sont un moyen puissant de réutiliser le code et de respecter le principe « Don't Repeat Yourself » (DRY). Par exemple, vous pouvez avoir une configuration spécifique pour une application qui contient une instance Amazon Elastic Compute Cloud (Amazon EC2), des volumes Amazon Elastic Block Store (Amazon EBS) et d'autres ressources regroupées de manière logique. Si vous devez créer plusieurs copies de cette configuration ou de cette application, vous pouvez regrouper les ressources dans un module Terraform et créer plusieurs instances du module plutôt que de copier le code entier plusieurs fois. Ces modules peuvent vous aider à organiser, à encapsuler et à réutiliser les configurations. Ils assurent également la cohérence et garantissent les meilleures pratiques.

  • Terraform est capable de détecter et de gérer la dérive (article de blog Terraform) dans votre infrastructure. Par exemple, si les ressources gérées par Terraform sont modifiées en dehors de Terraform, vous pouvez détecter la dérive et les restaurer à l'état souhaité à l'aide de la CLI Terraform.

Inconvénients de l'utilisation de Terraform :

  • Support pour les nouvelles fonctionnalités ou les nouvelles ressources liées à un fournisseur de cloud peut ne pas être disponible.

  • Terraform ne gère pas automatiquement votre état comme. AWS CloudFormation Il est stocké par défaut dans un fichier local, mais vous pouvez également le stocker à distance dans un compartiment Amazon S3 ou via Terraform Enterprise.

  • L'état Terraform peut contenir des données sensibles, telles que des mots de passe de base de données, qui peuvent poser des problèmes de sécurité. Il est recommandé de chiffrer votre fichier d'état, de le stocker à distance, d'activer le contrôle de version des fichiers et d'utiliser le moins de privilèges pour les opérations de lecture et d'écriture sur celui-ci. Pour plus d'informations, consultez Sécurisation des données sensibles à l'aide AWS Secrets Manager de HashiCorp Terraform.

  • En août 2023, Hashicorp a annoncé qu'il ne serait plus licencié en tant que logiciel libre sous la licence publique Mozilla. Au lieu de cela, il est désormais licencié sous la licence Business Source.