Terraform, développé par Hashicorp, est une infrastructure en tant qu'utilitaire de code. Il vous permet de fournir une infrastructure cloud de manière rapide et efficace. En utilisant Terraform, vous pouvez créer, modifier et détruire les ressources cloud dans quelques lignes de code. Il prend en charge les fournisseurs de cloud tels qu'Amazon AWS, Google Cloud, Microsoft Azure, etc., y compris les infrastructures cloud personnalisées.
Ce tutoriel enseignera l'argument META DEFENDS_ON que vous pouvez utiliser lors de l'approvisionnement des ressources dans le cloud.
Conditions préalables
Avant de poursuivre le tutoriel, vous aurez besoin de:
ATTENTION: Nous utiliserons Google Cloud comme fournisseur pour l'exemple de configurations et d'échantillons. Vous pouvez également opter pour d'autres fournisseurs pris en charge. Cependant, le code de ce tutoriel n'est pas testé sur d'autres fournisseurs.
Qu'est-ce que TerraForm Detend_on?
Le Dedised_on est une balise de méta qui vous permet de spécifier les dépendances entre les ressources et les modules. Par exemple, vous pouvez avoir une instance Google Cloud qui dépend d'un seau spécifique. L'utilisation de la balise defend_on permet à Terraform de créer ou de détruire correctement les ressources. Lorsque Terraform voit le module Defend_on, il créera d'abord ou tuera le seau avant d'effectuer les actions spécifiées dans l'instance.
Pour utiliser le paramètre defend_on sur le module et les blocs de ressources, assurez-vous d'avoir Terraform Version 0.13 et plus.
Exemple de cas d'utilisation
Utilisons un exemple simple pour illustrer l'argument Depend_on dans Terraform.
Remarque: nous supposons que TerraForm CLI soit installé et appliqué vos configurations pour votre fournisseur spécifique.
Commencez par créer un répertoire de travail comme:
Mkdir Terraform-tutorials
Accédez au répertoire créé:
CD Terraform-tutorial
Créez un fichier Terraform et appelez-le Depend_on.TF
Touch Detend_on.TF
Ensuite, en utilisant votre éditeur préféré, ajoutez un exemple de fichier de configuration comme indiqué:
Terraform
requis_providers
aws =
source = "hashicorp / google"
fournisseur "google"
insidences = fichier ("GCP-Conf.JSON ")
project = "Fine-Climber-318807"
région = "US-Central1"
zone = "US-Central1-C"
ressource "google_storage_bucket" "my_archive"
name = "my_archive"
Location = "US-Central1-A"
données "google_compute_image" "my_ubuntu_image"
Family = "Ubuntu-20"
project = "Fine-Climber-318807"
ressource "google_compute_instance" "par défaut"
name = "ubuntu-instance"
machine_type = "e2-micro"
zone = "US-Central1-A"
disque de démarrage système
initialize_params
Image = "Data.google_compute_image.my_ubuntu_image.self_link "
scratch_disk
interface = "scsi"
interface réseau
réseau = "par défaut"
Access_config
Defend_on = [google_storage_bucket.my_archive]
Enregistrez le fichier et fermez l'éditeur.
Dans l'exemple de fichier terraform, nous commençons par configurer le fournisseur comme Google et ajoutant toutes les informations d'identification requises.
Remarque: Vérifiez la documentation pour savoir comment configurer Terraform pour Google Cloud.
Ensuite, nous créons un godet Google Cloud et fournissons tous les paramètres requis. Ensuite, nous créons une instance de moteur de calcul qui dépend du seau de stockage créé.
Vérifiez que le fichier de configuration ne contient aucune erreur de syntaxe comme:
ubuntu @ cs: ~ / terraform-tutorials $ terraform valider
Succès! La configuration est valide.
Si la configuration est valide, vous devriez voir un message de réussite, comme indiqué ci-dessus.
Exécutez le fichier pour fournir les ressources requises comme:
Terraform s'applique
Tapez «Oui» dans l'invite pour confirmer les modifications.
Si les détails de Google Cloud sont configurés correctement, TerraForm provisionnera les ressources spécifiées.
Conclure
Ce didacticiel vous présente le paramètre Terraform Detid_on et comment créer des dépendances pour les ressources et les modules. Si vous êtes nouveau sur Terraform, consultez la documentation pour en savoir plus.