For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-analytics/analytics/analytics-order-terraform.md.

Analytics - Premiers pas avec Terraform

Voir en Markdown

Découvrez comment commander et gérer votre service Analytics avec Terraform

Objectif

Les services Analytics managés Public Cloud vous permettent de vous concentrer sur la création et le déploiement de vos applications cloud, pendant qu'OVHcloud prend en charge l'infrastructure Analytics et son maintien en conditions opérationnelles.

Ce guide explique comment commander une instance OpenSearch d'un service Analytics avec Terraform.

Prérequis

En pratique

Étape 1 : Rassemblez les paramètres requis par OVHcloud

Récupérer les informations de vos tokens de cluster/API

Le « fournisseur OVH » doit être configuré avec un ensemble d'identifiants :

  • une application_key
  • un application_secret
  • une consumer_key

Pourquoi ?

Parce que, en coulisses, le « fournisseur Terraform OVH » effectue des requêtes vers les API OVHcloud.

Afin de récupérer ces informations nécessaires, veuillez suivre notre tutoriel Premiers pas avec les API OVHcloud.

Plus précisément, vous devez générer ces identifiants via la avec les droits suivants :

Droits API OVHcloud

Une fois vos tokens OVHcloud générés avec succès, veuillez les enregistrer car vous devrez les utiliser très prochainement.

La dernière information nécessaire est le service_name : il s'agit de l'ID de votre projet Public Cloud.

Comment l'obtenir ?

Dans la section Public Cloud, vous pouvez récupérer l'ID de votre nom de service grâce au bouton Copier dans le presse-papiers.

Copier-coller le nom du service

Vous utiliserez également cette information dans les fichiers de définition des ressources Terraform.

Étape 2 : Rassemblez l'ensemble des paramètres requis

Afin de créer un nouveau cluster OpenSearch, vous devrez spécifier au minimum :

  • la version (par exemple « 2.0 »)
  • la région (par exemple « GRA »)
  • le plan (par exemple « business »)
  • le flavor du cluster (par exemple « db1-7 »)

Étape 3 : Créez les fichiers Terraform

Créez d'abord un fichier main.tf définissant les ressources qui seront créées

terraform {
  required_providers {
    ovh = {
      source  = "ovh/ovh"
      version = "0.22"
    }
  }

  required_version = ">= 0.17.1"
}

provider "ovh" {
  endpoint           = var.ovh.endpoint
  application_key    = var.ovh.application_key
  application_secret = var.ovh.application_secret
  consumer_key       = var.ovh.consumer_key
}

resource "ovh_cloud_project_database" "service" {
  service_name = var.product.project_id
  description  = var.product.name
  engine       = "opensearch"
  version      = var.product.version
  plan         = var.product.plan
  nodes {
    region = var.product.region
  }
  flavor = var.product.flavor
}

resource "ovh_cloud_project_database_opensearch_user" "analyticsuser" {
  service_name = ovh_cloud_project_database.service.service_name
  cluster_id   = ovh_cloud_project_database.service.id
  name         = var.access.name
}

resource "ovh_cloud_project_database_ip_restriction" "iprestriction" {
  service_name = ovh_cloud_project_database.service.service_name
  engine       = ovh_cloud_project_database.service.engine
  cluster_id   = ovh_cloud_project_database.service.id
  ip           = var.access.ip
}

Créez ensuite un fichier variables.tf définissant les variables utilisées dans main.tf :

variable "ovh" {
  type = map(string)
  default = {
    endpoint           = "ovh-eu"
    application_key    = ""
    application_secret = ""
    consumer_key       = ""
  }
}

variable "product" {
  type = map(string)
  default = {
    name       = "opensearch-terraform"
    project_id = ""
    region     = "GRA"
    plan       = "business"
    flavor     = "db1-7"
    version    = "2.0"
  }
}

variable "access" {
  type = map(string)
  default = {
    name = "johndoe"
    ip = "xx.xx.xx.xx/32"
  }
}

Ici, nous avons défini l'endpoint ovh-eu car nous souhaitons appeler l'API OVHcloud Europe. D'autres endpoints existent, selon vos besoins :

  • ovh-eu pour l'API OVHcloud Europe
  • ovh-ca pour l'API OVHcloud Amérique du Nord

Créez ensuite un fichier secrets.tfvars contenant les valeurs des variables requises :

ovh = {
  endpoint           = "ovh-eu"
  application_key    = "<application_key>"
  application_secret = "<application_secret>"
  consumer_key       = "<consumer_key>"
}

product = {
  project_id = "`<service_name>`"
  name       = "opensearch-terraform"
  region     = "GRA"
  plan       = "business"
  flavor     = "db1-7"
  version    = "2.0"
}

access = {
  name = "johndoe"
  ip = "<ip_range>"
}
Info

N'oubliez pas de remplacer <service_name>, <application_key>, <application_secret>, <consumer_key>, <ip_range> par les données réelles.

Enfin, créez un fichier outputs.tf définissant les ressources qui seront exportées :

output "cluster_uri" {
  value = ovh_cloud_project_database.service.endpoints.0.uri
}

output "user_name" {
  value = ovh_cloud_project_database_opensearch_user.analyticsuser.name
}

output "user_password" {
  value     = ovh_cloud_project_database_opensearch_user.analyticsuser.password
  sensitive = true
}

Étape 4 : Exécutez

Nous devons maintenant initialiser Terraform, générer un plan, puis l'appliquer.

$ terraform init

La commande init initialisera votre répertoire de travail qui contient les fichiers de configuration .tf.

C'est la première commande à exécuter pour une nouvelle configuration, ou après avoir effectué un checkout d'une configuration existante dans un dépôt git donné, par exemple.

La commande init va :

  • Télécharger et installer les fournisseurs/plugins Terraform
  • Initialiser le backend (s'il est défini)
  • Télécharger et installer les modules (s'ils sont définis)

Nous pouvons maintenant générer notre plan :

$ terraform plan -var-file=secrets.tfvars

Grâce à la commande plan, nous pouvons vérifier ce que Terraform va créer, modifier ou supprimer.

Le plan nous convient, appliquons-le donc avec apply :

$ terraform apply -var-file=secrets.tfvars -auto-approve

Enfin, exportez les identifiants de l'utilisateur et l'URI :

export PASSWORD=$(terraform output -raw user_password)
export USER=$(terraform output -raw user_name)
export URI=$(terraform output -raw cluster_uri)

Et voilà, le cluster OpenSearch est créé.

Comment déployer avec un autre moteur

Dans ce guide, nous avons expliqué comment déployer un service OpenSearch, mais vous pouvez trouver un exemple pour le service Kafka ici et l'adapter selon vos besoins :

https://github.com/ovh/public-cloud-databases-examples/tree/main/databases/kafka/terraform/hello-world

Aller plus loin

Fonctionnalités d'OpenSearch

Débuter avec le service Analytics OpenSearch

Configurer vRack pour Public Cloud

Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud. Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services Analytics.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?