
Terraform Associate test technique : Questions + corrigé (28 questions)
Do not index
Do not index
Primary Keyword
Statut rédaction
Terminé
IaC with Terraform
Quels sont les bénéfices de l’infrastructure as Code (IaC) ?
Réponses :
Permet de déployer de façon répétable et prédictible différentes infrastructures dans le temps
Permet de coder des infrastructures virtuelles sans avoir besoin de serveur
Pourquoi utiliser Terraform en outil d’infrastructure as Code (IaC) ?
Réponses :
Cloud agnostic
Permet d’importer toutes les ressources existantes d’un cloud provider as Code en moins de 5 min
Permet de gérer un state de l’infrastructure déployé et modifier l’infrastructure de façon idempotente en fonction
Quels clouds providers Terraform Supporte ?
Réponses :
Uniquement AWS
Uniquement les gros providers (AWS, Azure, GCP)
La plupart de tous les clouds providers (AWS, Azure, GCP, Scaleway ...)
Terraform Langage
Quel langage est utilisé lorsque l’on code en Terraform ?
Réponses :
HashiCorp Configuration Language (HCL)
HashiCorp Automation Language (HAL)
HashiCorp Automation Tool (HAT)
HashiCorp Configuration Tool (HCT)
Notes :
Terraform uses its own language known as HashiCorp Configuration Language (HCL)
Qu’est-ce qu’une output sur Terraform ?
Réponses :
Une valeur qui pourra être réutilisé dans d’autres modules ou dans une autres parties de code
Un message affiché lors de l’exécution du code Terraform utile pour débugger le comportement de création des ressources
Qu’est-ce qu’un module ?
Réponses :
Un module est un ensemble de ressources packagées ayant pour but de déployer ou initier ces ressources de façon modulaire
Un module est un composant créé par l’équipe Hashicorp pour ajouter des fonctionnalités supplémentaires à Terraform (logging, détection failles de sécurité…)
Quelles sont les deux façons de réaliser des boucles en Terraform ?
Réponses :
for_each
for
while
count
Quelle est la balise à utiliser pour injecter des blocs de façon dynamique avec une boucle par exemple ?
Réponses :
Le bloc
dynamics
Le bloc
template
Le bloc
loop_template
Terraform State
A quoi sert le tfstate ?
Réponses :
Stocke toutes les ressources déployés dans un fichier
Remonte l’état d’installation de Kubernetes (version, compatibilité…)
Dans quel endroit spécifier l’endroit ou le tfstate sera stocké en Terraform ?
Réponses :
Dans le block
data
Dans le block
backend
Dans le bock
state
Dans le block
storage
Que permettent les backend
sous Terraform ?
Réponses :
Stocker le tfstate en distant afin de pouvoir travailler en équipes.
Exécuter le code Terraform dans des runners distant en s’assurant d’installer toutes les dépendances nécessaire
Mettre en place des verrous de contrôle pour éviter les conflits lors de l’exécution du code
Comment Terraform gère les dépendances dans l’infrastructure lors d’un destroy
?
Réponses :
Les dépendances sont détruites par ordre alphabétique
Les dépendances sont détruites dans le bon ordre grâce au tfstate
Les dépendances sont détruites en fonction de leur date de création
Comment utiliser les données d’une autre infrastructure Terraform ?
Réponses :
Exposer les données dans des
outputs
puis utiliser la balise data.terraform_remote_state
Utiliser les balises
data
Exposer les données dans des
data
puis utiliser la balise remote_data.<nom de la données>
Ce n’est pas possible
Quelle est l’utilité d’un workspace sous Terraform ?
Réponses :
Sépare les variables et tfstates entre environnement et projet
Permet de versionner le code Terraform
Créer un container pour simuler l’exécution du code Terraform en local
Terraform CLI
La commande terraform init
initialise-t-elle le backend ?
Réponses :
Oui
Non
Que fait la commande terraform init
précisément ?
Réponses :
Il initialise le référentiel GitHub pour votre projet Terraform
Il initialise et configure le répertoire de travail contenant votre code Terraform
Il déploie vos ressources dans des environnements réels et les suit à travers un fichier d'état
Il normalise les différences entre votre code et l'état de l'environnement cloud
Récupère les dépendances (modules etc)
Que fait la commande terraform plan
précisément ?
Réponses :
Présente un plan des actions qui seront réalisé lors du apply
Présente un plan des actions qui seront réalisé lors de l'initialisation du code Terraform
Que réalise la commande terraform apply
lorsqu’elle est exécuté ?
Réponses :
Déploie les ressources sans les ajouter dans le Tfstate
Déploie les ressources et les ajoutes dans le Tfstate
Que fait la commande terraform destroy
?
Réponses :
Détruit toutes les ressources présentes dans le Tfstate
Détruit toutes les ressources présente sur le cloud provider connecté à Terraform
Détruit toutes les ressources déclarées dans le code
Que fait la commande terraform taint aws_instance.aws-vm
?
Réponses :
Tag la ressource en
tainted
pour que Terraform supprime la ressource du tfstateTag la ressource en
tainted
pour forcer Terraform à la recréer au prochain terrafrom apply
Cette commande n’est plus valide depuis Terraform v1.20
Quelle est la commande à utiliser pour lister toutes les ressources présentes dans le Tfstate ?
Réponses :
terraform resource list
terraform backend ls
terraform ls
terraform state list
Quelle est la commande Terraform pour auto formater le code ?
Réponses :
terraform fmt
terraform format
terraform code format
terraform lint —fix
Quelles commandes peuvent être utilisé pour importer des ressources existantes non présentes dans le tfstate ?
Réponses :
terraform import
terraform refresh
terraform reload
terraform state reload
Terraform Ecosystem
Lesquels de ces entreprises sont des grands contributeurs Opensource Terraform ?
Réponses :
Terragrunt
Cloudposse
Terrasource
Infracode
Quels sont les différents linters pouvant être utilisé pour réaliser la qualité d’un code Terraform ?
Réponses :
tflint
tfsec
checkov
snyk
terraform validate
Quels sont les différents linters pouvant être utilisé pour analyser la sécurité des configurations appliqué dans un code Terraform ?
Réponses :
tflint
tfsec
checkov
snyk
terraform validate
Quel outil utiliser pour avoir une estimation à l’avance des coûts sur Terraform ?
Réponses :
Infracost
Cloudcost
Terracloud
Qu’est-ce que Terragrunt ?
Réponses :
Terragrunt est un outil qui s’interface au-dessus de Terraform et qui permet de mieux gérer ses multiples environnements sous Terraform en mettant en place un certain nombre de dossiers dans ses repos
Terragrunt est un linter qui permet d’analyser un ensemble de bonne pratique dans son code comme la qualité ou la sécurité
Terragrunt est un projet Opensource qui a pour but de gérer le drift d’infrastructure