Aller au contenu principal

Terraform pour NumSpot - Démarrage rapide

Terraform est un outil qui permet d'automatiser la création et de versionner une infrastructure cloud.

Le provider developpé par NumSpot sert d'interface entre la définition de votre infrastructure et notre service en charge de la création de ces ressources.

Pour plus d'informations sur les ressources disponibles et la façon de les utiliser, vous pouvez vous référer à la documentation de notre provider sur le registre d'HashiCorp.

Avant de commencer

Pour réaliser les actions présentées ci-dessous, vous devez disposer :

Créer et déployer des ressources NumSpot à l'aide de Terraform

Pour les besoins de cet exemple, nous allons créer une VM.

Création du fichier de configuration Terraform

  1. Créez un nouveau fichier appelé main.tf.

  2. Ouvrez le fichier dans un éditeur de code et collez le bloc suivant pour définir NumSpot comme fournisseur pour ce déploiement :

terraform {
required_providers {
numspot = {
source = "numspot/numspot"
}
}
required_version = ">= 1.47"
}

  1. Ajoutez le bloc suivant et remplacez <CLIENT_ID>, <CLIENT_SECRET> et <SPACE_ID> par les informations du projet dans lequel vous souhaitez créer des ressources :
info

Région SecNumCloud : https://api.cloudgouv-eu-west-1.numspot.com

Availability Zone disponibles :

  • cloudgouv-eu-west-1a
  • cloudgouv-eu-west-1b
  • cloudgouv-eu-west-1c

Région standard : https://api.eu-west-2.numspot.com

Availability Zone disponibles :

  • eu-west-2a
  • eu-west-2b
provider "numspot" {
numspot_host = "<Choisissez une des deux régions ci-dessus>"
client_id = "<CLIENT_ID>"
client_secret = "<CLIENT_SECRET>"
space_id = "<SPACE_ID>"
}
  1. Ajoutez les blocs suivants pour créer un VPC, un Subnet et une VM :
resource "numspot_vpc" "net" {
ip_range = "10.0.0.0/16"
}

resource "numspot_subnet" "subnet" {
vpc_id = numspot_vpc.net.id
ip_range = "10.0.0.0/24"
availability_zone_name = "<Choisissez une AZ de la région>"
}

resource "numspot_vm" "vm" {
image_id = "<VM IMAGE>"
subnet_id = numspot_subnet.subnet.id
}
  1. Enregistrez vos modifications.

Votre configuration est maintenant prête à être déployée sur l'infrastructure de NumSpot.

Déployer votre configuration à l'aide de Terraform

  1. Ouvrez un terminal, accédez au dossier que vous venez de créer et exécutez la commande suivante pour initialiser Terraform dans ce dossier :
terraform init
  1. Exécutez la commande suivante pour afficher les actions que Terraform effectuera :
terraform plan
  1. Vérifiez le plan de déploiement pour vous assurer qu’il correspond à la configuration souhaitée.
  2. Exécutez la commande suivante pour déployer vos ressources :
terraform apply

Une fois le déploiement terminé, connectez-vous à la Console NumSpot pour voir les ressources que vous venez de créer.

Suppression des ressources NumSpot à l'aide de Terraform

  1. Ouvrez un terminal et accédez au dossier contenant la configuration Terraform que vous souhaitez supprimer.

  2. Exécutez la commande ci-dessous pour supprimer les ressources indiquées dans le fichier de configuration Terraform :

terraform destroy
attention

Seules les ressources créées avec Terraform seront supprimées. Cette action est irréversible.

Un message Destroy complete! Resources: X destroyed. apparaît, vos ressources NumSpot sont désormais supprimées.

Liens utiles