0Pricing
DevOps Bootcamp · Leçon

Importer des ressources existantes

Apprenez à importer une infrastructure cloud existante dans l’état Terraform afin d’intégrer les ressources préexistantes à la gestion IaC.

Importer des ressources existantes est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Intégrer une infrastructure existante à l’IaC

Vous disposez parfois de ressources cloud créées manuellement ou par d’autres outils. L’importation Terraform vous permet de placer ces ressources existantes sous la gestion de Terraform.

Terraform pourra alors suivre leur état, et les modifications futures pourront être appliquées via vos fichiers de configuration. Il s’agit d’une étape essentielle pour adopter l’infrastructure as code (IaC) dans un environnement « brownfield ».

Quand devez-vous importer ?

L’importation est utile dans plusieurs situations :

  • Migrer une infrastructure existante : intégrer à votre processus IaC des ressources créées en dehors de Terraform.
  • Adopter Terraform progressivement : commencer avec les ressources existantes plutôt que tout recréer.
  • Récupérer après une perte d’état : réassocier Terraform aux ressources si votre fichier d’état est perdu (bien que cela soit rare avec un état distant).

Maîtriser la commande d’importation

La structure de base de la commande terraform import est simple. Elle indique à Terraform de rechercher une ressource existante chez votre fournisseur cloud et de l’ajouter à votre fichier d’état, en l’associant à un bloc de ressource dans votre configuration.

Elle nécessite deux informations principales : l’adresse Terraform de la ressource et l’ID de cette ressource chez le fournisseur cloud.

Qu’est-ce qu’une adresse de ressource ?

L’adresse de ressource est la manière dont Terraform identifie une ressource donnée dans votre configuration. Elle suit le modèle resource_type.resource_name.

  • resource_type : le type de ressource (par exemple aws_s3_bucket, azurerm_resource_group).
  • resource_name : le nom local que vous attribuez à la ressource dans votre configuration Terraform (par exemple my_bucket, web_app).

Cette adresse doit déjà exister dans vos fichiers .tf.

Localiser l’identifiant cloud

Chaque ressource chez un fournisseur cloud (comme AWS, Azure ou GCP) possède un identifiant unique, souvent appelé ID. Vous aurez besoin de cet ID pour indiquer à Terraform quelle ressource existante précise importer.

Vous pouvez trouver cet ID dans la console du fournisseur cloud, via son CLI ou au moyen de son API. Par exemple, l’ID d’un compartiment AWS S3 est son nom, tandis qu’une instance EC2 possède un identifiant d’instance tel que i-0abcdef1234567890.

Définir le HCL avant l’importation

Étape essentielle : avant d’exécuter terraform import, vous devez avoir défini un bloc de ressource correspondant dans vos fichiers de configuration Terraform (fichiers .tf).

Ce bloc indique à Terraform le type de ressource attendu et les attributs qu’elle doit posséder. Terraform utilise cette définition pour comprendre le schéma de la ressource pendant l’importation.

HCL pour un compartiment S3

Supposons que vous disposiez d’un compartiment AWS S3 existant nommé my-existing-coddykit-bucket-123. Commencez par définir un bloc de ressource pour celui-ci dans votre main.tf :

resource "aws_s3_bucket" "my_imported_bucket" {
  bucket = "my-existing-coddykit-bucket-123"
  # Add other expected attributes if known
  # e.g., acl = "private"
}

Importer le compartiment S3

Maintenant que vous disposez de la définition HCL, vous pouvez exécuter la commande terraform import. Remplacez my-existing-coddykit-bucket-123 par le nom ou l’ID réel de votre compartiment existant.

Assurez-vous d’avoir déjà exécuté terraform init dans votre répertoire !

terraform import aws_s3_bucket.my_imported_bucket my-existing-coddykit-bucket-123

Vérifier l’état de Terraform

Après une importation réussie, Terraform aura ajouté la ressource à votre fichier d’état. Vous pouvez le vérifier avec terraform state show, qui affiche les attributs de la ressource importée tels que Terraform les voit.

Il est ensuite essentiel d’exécuter terraform plan pour vérifier qu’il n’existe aucune différence inattendue entre votre HCL et l’état réel de la ressource importée.

terraform state show aws_s3_bucket.my_imported_bucket

Vérification rapide : ordre d’importation

Vous souhaitez importer une instance AWS EC2 existante dans Terraform. Laquelle des étapes suivantes MUST être terminée avant d’exécuter la commande terraform import ?

Récapitulatif : intégrer l’infrastructure existante

Vous avez appris à placer des ressources cloud existantes sous la gestion de Terraform avec terraform import.

  • Commencez par définir le bloc de ressource dans votre HCL.
  • Identifiez ensuite l’ID de ressource fourni par le fournisseur cloud.
  • Enfin, exécutez terraform import ADDRESS ID.
  • Exécutez toujours ensuite terraform plan pour résoudre les éventuelles différences.

Cette commande puissante contribue à combler l’écart entre une infrastructure gérée manuellement et un environnement entièrement piloté par l’IaC.

Questions Fréquemment Posées

La leçon « Importer des ressources existantes » est-elle gratuite ?

Oui — le texte complet de « Importer des ressources existantes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Importer des ressources existantes » ?

Apprenez à importer une infrastructure cloud existante dans l’état Terraform afin d’intégrer les ressources préexistantes à la gestion IaC. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Importer des ressources existantes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Gestionnaires d’état distants
  2. Verrouillage et cohérence de l’état
  3. Importer des ressources existantes
  4. Refactoriser l’état avec moved et removed
← Retour à DevOps Bootcamp