Comment créer un VPS GandiCloud avec Terraform

Cette page va vous expliquer comme créer rapidement un serveur virtuel privé (VPS) GandiCloud avec un manifeste Terraform. Vous pouvez consulter la page solutions Terraform si vous souhaitez en savoir plus sur les possiblités offertes par Terraform sur GandiCloud.

Pour en savoir plus sur ce qu’il est possible de faire avec GandiCloud et Terraform, vous pouvez consulter la page produit Terraform Gandi

Prérequis

  • Définissez les variables d’environnement de votre projet Openstack / Organisation Gandi pour le CLI Openstack.
  • Ayez une paire de clés SSH valides dans votre porte-clés GandiCloud.
  • Installez Terraform localement sur votre PC.

Créer le manifeste Terraform

Tout d’abord, créez un répertoire vide, tel que « Terraform_Gandi/ », par exemple.

Dans ce répertoire, créez un nouveau fichier nommé « main.tf », puis copiez-collez y les lignes ci-dessous.

Ce manifeste Terraform va créer un serveur de test Ubuntu, auquel vous pourrez accéder avec votre clé SSH.

terraform {
required_version = ">= 0.14.0"
  required_providers {
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = "~> 1.35.0"
    }
  }
}

provider "openstack" {
  auth_url = "https://keystone.sd6.api.gandi.net:5000/v3"
  region = "FR-SD6"
}

variable "SSH_PUBKEY" {
  type = string
}

resource "openstack_compute_instance_v2" "tf_server" {
  name = "tf-test-server"
  key_pair = "${var.SSH_PUBKEY}"
  flavor_name = "V-R1"
  security_groups = ["default"]
  power_state = "active"
  network {
    name = "public"
}

  block_device {
    uuid = "47edd0a0-23ce-4ce5-9168-36de68990d1b"
    source_type           = "image"
    volume_size           = 25
    boot_index            = 0
    destination_type      = "volume"
    delete_on_termination = true
  }
}

output "IP_v4" {
  value = openstack_compute_instance_v2.tf_server.access_ip_v4
}

Ce manifeste Terraform va créer :

  • Un serveur V-R1 GandiCloud
  • Utilisant Ubuntu 20.04
  • Accessible via SSH (grâce à une paire de clés déjà définie).

Note

Pour que ce manifeste Terraform fonctionne correctement, les variables d’environnement suivantes doivent être exportées : TF_VAR_SSH_PUBKEY : le nom de votre PAIRE DE CLÉS SSH Openstack qui sera associée au serveur.

Si vous n’avez pas exporté la variable, l’information vous sera demandée avant l’exécution du manifeste.

Exécuter le manifeste Terraform

La première fois que vous exécuter un manifeste Terraform, exécuter la commande suivante pour initialiser Terraform :

terraform init

Puis :

terraform plan

Vérifiez qu’il n’y a aucune erreur, puis lancez la plan Terraform avec :

terraform apply

La sortie va finalement vous retourner l’IPv4 publique du serveur créé. Vous pouvez donc vous connecter via SSH à ce serveur en utilisant l’utilisateur standard “ubuntu”.

ssh ubuntu@<Your-server-IPv4>

Plus d’informations ?