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/compute/use-object-storage-pulumi-backend-state.md.

Utiliser l'Object Storage OVHcloud comme backend Pulumi pour stocker votre état Pulumi

Voir en Markdown

Découvrez comment utiliser un bucket Object Storage comme backend Pulumi pour stocker votre état Pulumi

Objectif

Il est possible de stocker un état Pulumi sur un espace de stockage/backend distant, comme un bucket AWS S3, un Google Cloud Storage (GCS), etc., mais saviez-vous que vous pouvez également stocker vos états Pulumi dans un conteneur (bucket) Object Storage OVHcloud ?

Dans ce tutoriel, vous allez :

  • créer un conteneur Object Storage OVHcloud
  • vous connecter à Pulumi et initialiser votre backend Pulumi

Prérequis


Accès à l'espace client OVHcloud

  • Lien direct :
  • Pour accéder à vos services : Public Cloud > Sélectionnez votre projet

Avant de commencer

Pulumi

Pulumi

Pulumi est un outil d'Infrastructure as Code (IaC) qui vous permet de construire vos infrastructures avec un langage de programmation, en Golang par exemple. Les utilisateurs définissent l'état souhaité dans des programmes Pulumi et Pulumi crée les ressources correspondantes.

Pulumi propose une interface de ligne de commande (CLI) intuitive pour provisionner, mettre à jour ou supprimer votre infrastructure. Si vous êtes familier des CLI Docker Compose et Terraform, vous adopterez également l'interface de ligne de commande Pulumi.

Chez OVHcloud, nous avons créé un provider Pulumi que vous pouvez utiliser pour interagir avec les ressources OVHcloud et les gérer.

États et backend Pulumi

Pulumi stocke des métadonnées sur votre infrastructure afin de pouvoir gérer vos ressources cloud, par exemple vos ressources OVHcloud. Ces métadonnées sont appelées state (état) et prennent généralement la forme de fichiers JSON. Chaque stack possède son propre état, et c'est grâce à cet état que Pulumi sait quand et comment créer, lire, supprimer ou mettre à jour des ressources cloud.

Un état Pulumi est mis à jour lorsque vous exécutez les commandes pulumi login, pulumi up ou pulumi destroy.

Par défaut, les fichiers d'état sont stockés dans le cloud Pulumi, mais vous pouvez également les stocker en local. Vous pouvez stocker l'état à distance dans un backend autogéré.

Schéma de l'état Pulumi

Vous pouvez par exemple stocker votre état Pulumi dans un conteneur Object Storage High Performance d'OVHcloud.

Il existe plusieurs manières de procéder : en utilisant la commande pulumi login ou en configurant un backend dans votre fichier Pulumi.yaml.

Un état est composé de plusieurs fichiers contenus dans un dossier .pulumi :

  • meta.yaml : il s'agit du fichier de métadonnées. Il ne contient pas d'informations sur les stacks, mais sur le backend lui-même.
  • stacks/ : les fichiers d'état actifs de chaque stack (par exemple dev.json).
  • locks/ : les fichiers de verrouillage facultatifs de chaque stack, si une opération Pulumi est en cours sur celle-ci (par exemple dev/$lock.json).
  • history/ : l'historique de chaque stack (par exemple dev/dev-$timestamp.history.json, où $timestamp enregistre la date et l'heure de création du fichier d'historique).

En pratique

Création d'un conteneur/bucket Object Storage

Vous devez tout d'abord disposer d'un conteneur Object Storage. Si vous n'en possédez pas encore, consultez le guide Créer un conteneur Object Storage.

Pour ce guide, notre conteneur Object Storage possède les caractéristiques suivantes :

  • une classe Object Storage - High Performance
  • situé dans la région GRA
  • avec un utilisateur nouvellement créé
  • nommé pulumi
Object Storage OVHcloud
Info

Conservez les identifiants de votre Object Storage : vous utiliserez la clé d'accès Object Storage et la clé secrète Object Storage dans les commandes export à venir.

Cliquez sur pulumi pour accéder au bucket et afficher ses informations, dont l'Endpoint, qui vous sera utile.

Bucket pulumi de l'Object Storage OVHcloud

Exportez les identifiants de votre Object Storage dans des variables d'environnement :

export AWS_ACCESS_KEY_ID=<S3 access key>
export AWS_SECRET_ACCESS_KEY=<S3 secret key>

Configuration du backend Pulumi et connexion

Il existe plusieurs manières de définir le backend permettant de stocker un rapport Pulumi dans un backend distant. Suivez celle que vous préférez.

Connexion à Pulumi avec l'URL du backend
Configuration du backend dans le fichier Pulumi.yaml

Exécutez la commande pulumi login et passez directement en paramètre l'URL du backend S3 :

$ pulumi login 's3://pulumi?endpoint=s3.gra.perf.cloud.ovh.net&region=gra'

Logged in to ovh-tuto-27gm21h6v46 as gitpod (s3://pulumi?endpoint=s3.gra.perf.cloud.ovh.net&region=gra)

Comme vous pouvez le constater, dans les deux solutions, nous avons défini tous les paramètres nécessaires pour accéder au bucket Object Storage OVHcloud existant :

  • endpoint=s3.gra.perf.cloud.ovh.net
  • region=gra (ou la région de votre bucket Object Storage OVHcloud)

Vous pouvez maintenant coder votre programme Pulumi. Après l'exécution de la commande pulumi up, votre fichier d'état Pulumi sera stocké dans un conteneur Object Storage OVHcloud.

Bucket pulumi OVHcloud contenant les fichiers d'état

Aller plus loin

Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?