Aller au contenu
Infrastructure as Code medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Découvrir HCP Terraform : plateforme, compte et organisation

10 min de lecture

logo terraform

Vous utilisez Terraform CLI en local et tout fonctionne, mais vous vous demandez ce que la plateforme HCP Terraform apporte de plus. La réponse courte : elle déplace l’exécution, le state et les variables dans un environnement distant partagé, et ajoute une couche de gouvernance (approbations, politiques, audit) que Terraform CLI seul ne fournit pas.

Note : si vous voyez encore le nom Terraform Cloud dans certains articles ou vidéos, il s’agit de l’ancien nom de HCP Terraform, renommé le 22 avril 2024 sans changement fonctionnel.

  • Ce qu’HCP Terraform fait et ce qu’il ne remplace pas
  • La différence entre exécution locale et exécution distante
  • Comment créer un compte, une organisation et un premier project
  • Les fonctionnalités disponibles en édition gratuite
  • Quand HCP Terraform est pertinent — et quand il ne l’est pas

HCP Terraform est une plateforme SaaS gérée par HashiCorp qui exécute vos plan et apply à distance, stocke le state de manière sécurisée, et permet à une équipe de collaborer sur l’infrastructure avec des approbations et des politiques de conformité.

Terraform CLI reste le moteur d’exécution. HCP Terraform ne le remplace pas — il l’enveloppe dans une couche collaborative et gouvernée.

CapacitéTerraform CLI seulAvec HCP Terraform
Exécution plan/applySur votre posteÀ distance par défaut sur des VM jetables, ou localement selon le mode d’exécution
StateFichier local ou backend externeStocké, versionné et géré par workspace
Variables et secrets.tfvars locaux, variables d’envCentralisés dans la plateforme, masquables
CollaborationPartage manuel du stateWorkspaces partagés, approbations, historique
GouvernanceAucune nativementPolicies, permissions, health assessments selon le plan
Intégration VCSManuelleSpeculative plans sur PR, auto-trigger
TraçabilitéTrès limitéeHistorique des runs, états et événements

HCP Terraform propose trois façons de déclencher des runs. Vous les rencontrerez dans les guides suivants :

WorkflowDéclencheurCas d’usage
CLI-driventerraform plan / terraform apply depuis votre terminalApprentissage, développement, itération rapide
VCS-drivenPush ou merge sur une branche liée au workspaceProduction, review via PR, speculative plans
API-drivenAppel HTTP à l’API HCP TerraformPipelines CI/CD, automatisation avancée

Le workflow CLI-driven est le point de départ recommandé : il ressemble à ce que vous faites déjà en local, mais l’exécution se produit à distance.

  1. Connectez-vous à HCP Terraform

    Rendez-vous sur app.terraform.io.

    La méthode recommandée est d’utiliser votre compte HCP. Si vous n’en avez pas, vous pouvez aussi créer un compte HCP Terraform classique avec un username, un email et un mot de passe.

  2. Créez une organisation

    Une fois connecté, créez une organisation. C’est le conteneur de plus haut niveau dans HCP Terraform : il regroupe vos workspaces, projects, variable sets et équipes.

    Choisissez un nom explicite. Pour les labs de cette section, nous utilisons :

    stephrobert-terraform-labs
  3. Créez vos premiers projects

    Un project regroupe des workspaces liés à un même contexte. Chaque workspace appartient à un seul project. Une organisation possède toujours un Default Project créé automatiquement, que vous pouvez renommer mais pas supprimer.

    Créez-en trois pour organiser vos labs :

    ProjectUsage
    associate-004Labs liés à la certification Associate
    professionalLabs liés à la certification Professional
    sandboxExpérimentations libres
  4. Authentifiez votre CLI

    Sur votre poste, lancez :

    Fenêtre de terminal
    terraform login

    Cette commande ouvre un navigateur, génère un token API et le stocke dans ~/.terraform.d/credentials.tfrc.json. Toutes les commandes terraform plan et terraform apply ultérieures utiliseront ce token pour communiquer avec HCP Terraform.

    Une fois le login effectué, ajoutez un bloc cloud {} à votre configuration puis exécutez :

    Fenêtre de terminal
    terraform init

    C’est cette initialisation qui valide réellement l’intégration entre votre répertoire Terraform et le workspace HCP Terraform.

Pour connecter une configuration Terraform à HCP Terraform, vous remplacez le bloc backend par un bloc cloud :

terraform {
cloud {
organization = "stephrobert-terraform-labs"
workspaces {
project = "associate-004"
name = "associate-004-01-init"
}
}
}

Ce bloc indique à Terraform CLI :

  • d’envoyer la configuration à HCP Terraform pour exécution distante,
  • de stocker le state dans le workspace indiqué,
  • de lire les variables définies dans la plateforme.

Pour garder vos labs organisés, adoptez une convention claire :

<project>-<numéro>-<sujet>

Exemples :

WorkspaceContexte
associate-004-01-initPremier lab Associate
associate-004-02-variablesLab sur les variables
professional-01-workspacesLab workspaces Professional
sandbox-aws-networking-devExpérimentation réseau AWS

La limite est de 90 caractères par nom de workspace. Utilisez uniquement des lettres, chiffres, tirets (-) et underscores (_).

HCP Terraform n’est pas toujours nécessaire. Voici une grille de décision rapide :

Votre situationRecommandation
Vous apprenez Terraform seul, en localPas encore — restez sur CLI + backend local ou S3
Vous travaillez en équipe sur la même infraOui — le state partagé et les approbations évitent les conflits
Vous voulez des speculative plans sur vos PROui — le VCS-driven workflow le fournit nativement
Vous devez appliquer des politiques de conformitéOui — Policy as Code (Sentinel / OPA)
Vous préparez la certification Associate ou ProfessionalOui — les objectifs 8 (Associate) et 6 (Professional) couvrent HCP Terraform
Vous avez besoin d’audit logging ou de drift detectionPayant — ces fonctionnalités nécessitent Standard+
TermeCe que c’estConcrètement
OrganizationLe conteneur de plus haut niveauRegroupe projects, workspaces, équipes et policies
ProjectUn regroupement logique de workspacesSépare les contextes (certif, sandbox, prod)
WorkspaceL’unité de travail dans HCP TerraformContient le state, les variables et l’historique des runs
RunUne exécution plan + applyPeut être manuelle, CLI-driven, VCS-driven ou API-driven
Variable setUn ensemble de variables partageableS’applique à un ou plusieurs workspaces
Policy setUn ensemble de politiques de conformitéVérifie le plan avant l’apply
AgentUn processus qui exécute les runs en privéPour les infras non accessibles depuis Internet
  • HCP Terraform ajoute l’exécution distante, la collaboration et la gouvernance à Terraform CLI. Il ne remplace pas le moteur d’exécution.
  • L’édition gratuite sur app.terraform.io suffit pour les labs d’introduction. Certaines fonctions avancées nécessitent un plan payant.
  • Le bloc cloud {} connecte votre configuration à HCP Terraform. En exécution distante, un bloc backend {} explicite n’est plus nécessaire.
  • terraform login authentifie votre CLI une seule fois.
  • Les certifications Associate 004 et Professional incluent HCP Terraform dans leurs objectifs.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn