Présentation de Terraform sur Google Cloud

Hashicorp Terraform est un outil IaC (Infrastructure as Code) qui vous permet de provisionner et de gérer l'infrastructure cloud. Terraform fournit des plug-ins appelés fournisseurs qui vous permettent d'interagir avec des fournisseurs cloud et d'autres API. Vous pouvez utiliser le fournisseur Terraform pour Google Cloud (fournisseur Google Cloud) pour provisionner et gérer l'infrastructure Google Cloud.

Avantages de l'utilisation de Terraform

Cette section explique certains des avantages à utiliser Terraform pour provisionner et gérer l'infrastructure Google Cloud :

  • Terraform est l'outil le plus couramment utilisé pour provisionner et automatiser l'infrastructure Google Cloud. Vous pouvez utiliser le fournisseur Google Cloud pour configurer et gérer toutes les ressources Google Cloud à l'aide de la même syntaxe et des mêmes outils déclaratifs.
  • Terraform vous permet de spécifier l'état final souhaité pour votre infrastructure. Vous pouvez ensuite déployer la même configuration plusieurs fois pour créer des environnements de développement, de test et de production reproductibles.
  • Terraform vous permet de générer un plan d'exécution qui montre ce que Terraform fera lorsque vous appliquerez votre configuration. Cela vous évite toute mauvaise surprise lorsque vous modifiez votre infrastructure via Terraform.
  • Terraform vous permet d'empaqueter et de réutiliser du code commun sous la forme de modules. Les modules présentent des interfaces standards pour créer des ressources cloud. Ils simplifient les projets en augmentant la lisibilité et permettent aux équipes d'organiser l'infrastructure en blocs lisibles. En outre, Google Cloud publie un certain nombre de modules déployables avisés en tant que plans et d'exemples de démarrage en tant que solutions de démarrage rapide.
  • Terraform enregistre l'état actuel de votre infrastructure et vous permet de le gérer efficacement. Le fichier d'état Terraform suit toutes les ressources d'un déploiement.

Installation à l'aide de Terraform

Terraform possède une syntaxe déclarative et axée sur la configuration qui vous permet de créer l'infrastructure que vous souhaitez provisionner. Cette syntaxe vous permet de définir l'état final souhaité pour votre infrastructure dans un fichier de configuration Terraform. Vous utiliserez ensuite la CLI Terraform pour provisionner l'infrastructure en fonction du fichier de configuration.

Les étapes suivantes expliquent le fonctionnement de Terraform :

  1. Vous devez décrire l'infrastructure Google Cloud que vous souhaitez provisionner dans un fichier de configuration Terraform. Vous n'avez pas besoin de créer de code décrivant comment provisionner cette configuration.
  2. Vous exécutez la commande terraform plan, qui évalue votre configuration et génère un plan d'exécution. Vous pouvez examiner le plan et apporter les modifications nécessaires.
  3. Vous exécutez ensuite la commande terraform apply, qui effectue les actions suivantes :
    • Il provisionne votre infrastructure en fonction de votre plan d'exécution en appelant les API Google Cloud correspondantes en arrière-plan.
    • Il crée un fichier d'état Terraform, qui est un mappage au format JSON des ressources de votre fichier de configuration avec les ressources de l'infrastructure réelle. Terraform utilise ce fichier pour connaître l'état le plus récent de votre infrastructure et pour déterminer quand créer, mettre à jour et détruire des ressources.
  4. Par la suite, lorsque vous exécutez terraform apply, Terraform utilise le mappage dans le fichier d'état pour comparer l'infrastructure existante au code et effectuer les mises à jour si nécessaire :
    • Si un objet de ressource défini dans le fichier de configuration n'existe pas dans le fichier d'état, Terraform le crée.
    • Si un objet de ressource existe dans le fichier d'état, mais possède une configuration différente de celle contenue dans votre fichier de configuration, Terraform met à jour la ressource en fonction de votre fichier de configuration.
    • Si un objet de ressource dans le fichier d'état correspond à votre fichier de configuration, Terraform laisse la ressource telle quelle.

Fournisseurs Google Cloud

Deux fournisseurs vous permettent de provisionner et de gérer l'infrastructure Google Cloud:

  • google: utilisez ce fournisseur pour provisionner et gérer les API Google Cloud.
  • google-beta: utilisez ce fournisseur pour provisionner et gérer les API bêta Google Cloud.

Pour obtenir des instructions sur l'utilisation de ces fournisseurs, consultez la documentation de référence sur la configuration du fournisseur Google Cloud.

Les fournisseurs google et google-beta sont développés à l'aide d'un outil appelé module Magic. Les modules magiques permettent aux contributeurs d'apporter des modifications à une seule base de code et de développer simultanément des fournisseurs google et google-beta.

Vous pouvez contribuer aux fournisseurs Google Cloud à l'aide des modules Magic Modules en suivant les instructions du guide de contribution aux modules Magic Modules.

Étapes suivantes