HashiCorp Terraform est un outil IaC (Infrastructure as Code) qui vous permet de provisionner et de gérer l'infrastructure cloud. Terraform fournit des plug-ins appelés fournisseurs qui vous permettent d'interagir avec des fournisseurs cloud et d'autres API. Vous pouvez utiliser le fournisseur Terraform pour Google Cloud afin de provisionner et de gérer les ressources Google Cloud , y compris Cloud Storage.
Cette page vous présente l'utilisation de Terraform avec Cloud Storage. Elle inclut une introduction au fonctionnement de Terraform et des ressources pour vous aider à commencer à utiliser Terraform avec Google Cloud. Vous trouverez également des liens vers la documentation de référence Terraform pour Cloud Storage, des exemples de code et des guides pour utiliser Terraform afin de provisionner des ressources Cloud Storage.
Pour savoir comment commencer à utiliser Terraform pour Google Cloud, consultez Installer et configurer Terraform ou le démarrage rapide Terraform pour Google Cloud .
Fonctionnement de Terraform
Terraform possède une syntaxe déclarative et axée sur la configuration qui vous permet de décrire l'infrastructure que vous souhaitez provisionner dans votre projet Google Cloud . Après avoir créé cette configuration dans un ou plusieurs fichiers de configuration Terraform, vous pouvez utiliser la CLI Terraform pour appliquer cette configuration à vos ressources Cloud Storage.
Les étapes suivantes expliquent le fonctionnement de Terraform :
- Vous devez décrire l'infrastructure que vous souhaitez provisionner dans un fichier de configuration Terraform. Vous n'avez pas besoin d'écrire de code décrivant comment provisionner l'infrastructure. Terraform provisionne l'infrastructure pour vous.
- Vous exécutez la commande
terraform plan, qui évalue votre configuration et génère un plan d'exécution. Vous pouvez examiner le plan et apporter les modifications nécessaires. -
Vous exécutez la commande
terraform apply, qui effectue les actions suivantes :- Il provisionne votre infrastructure en fonction de votre plan d'exécution en appelant les API Cloud Storage correspondantes en arrière-plan.
- Il crée un fichier d'état Terraform, qui est un fichier JSON qui mappe les ressources de votre fichier de configuration avec les ressources de l'infrastructure réelle. Terraform utilise ce fichier pour conserver un enregistrement de l'état le plus récent de votre infrastructure et pour déterminer quand créer, mettre à jour et détruire des ressources.
-
Lorsque vous exécutez
terraform apply, Terraform utilise le mappage dans le fichier d'état pour comparer l'infrastructure existante au code et effectuer les mises à jour si nécessaire :- Si un objet de ressource est défini dans le fichier de configuration, mais n'existe pas dans le fichier d'état, Terraform le crée.
- Si un objet de ressource existe dans le fichier d'état, mais possède une configuration différente de celle contenue dans votre fichier de configuration, Terraform met à jour la ressource en fonction de votre fichier de configuration.
- Si un objet de ressource dans le fichier d'état correspond à votre fichier de configuration, Terraform laisse la ressource telle quelle.
Ressources Terraform pour Cloud Storage
Les ressources sont les éléments fondamentaux du langage Terraform. Chaque bloc de ressources décrit un ou plusieurs objets d'infrastructure, tels que des réseaux virtuels ou des instances de calcul.
Le tableau suivant recense les ressources Terraform disponibles pour Cloud Storage :
| Service | Ressources Terraform | Sources de données |
|---|---|---|
|
Cloud Storage Service Terraform : |
|
|
|
Storage Intelligence Service Terraform : |
||
|
Fonctionnalité d'opérations de stockage par lot de Storage Intelligence Service Terraform : |
- | |
|
Fonctionnalité Storage Insights de Storage Intelligence Service Terraform : |
Guides basés sur Terraform pour Cloud Storage
Le tableau suivant recense les guides d'utilisation et tutoriels basés sur Terraform pour Cloud Storage :
| Guide | Détail | |
|---|---|---|
| Guide de démarrage rapide : créer un bucket et importer un objet à l'aide de Terraform | Ce guide de démarrage rapide explique comment commencer à utiliser Terraform en créant un fichier de configuration Terraform qui provisionne un bucket de stockage et y importe un exemple d'objet. | |
| Créer un bucket | Ce guide explique comment créer un bucket. | |
| Obtenir les métadonnées d'un bucket | Ce guide explique comment afficher les métadonnées d'un bucket. | |
| Importer des objets | Ce guide explique comment importer des objets dans un bucket à partir de votre système de fichiers local. | |
| Obtenir les métadonnées d'un objet | Ce guide explique comment afficher les métadonnées d'un objet. | |
| Gérer le cycle de vie des objets | Ce guide explique comment définir la configuration du cycle de vie d'un bucket. | |
| Configurer les notifications Pub/Sub | Ce guide explique comment configurer votre bucket pour qu'il envoie des notifications de modification d'objet à un sujet Pub/Sub. | |
| Créer des clés HMAC | Ce guide explique comment créer des clés HMAC (Hash-based Message Authentication Code) pour les comptes de service de votre projet. | |
| Rendre des données publiques | Ce guide explique comment rendre tous les objets d'un bucket lisibles par tous sur l'Internet public. | |
| Héberger un site web statique | Ce guide explique comment configurer un bucket pour héberger un site Web statique pour un domaine dont vous êtes propriétaire. |
Modules et plans Terraform pour Cloud Storage
Les modules et les plans vous aident à automatiser le provisionnement et la gestion des ressources Google Cloud à grande échelle. Un module est un ensemble de fichiers de configuration Terraform réutilisables qui crée une abstraction logique des ressources Terraform. Un plan comprend un package de modules déployables et réutilisables ainsi qu'une règle qui implémente et documente une solution spécifique.
Le tableau suivant regroupe les modules et les plans liés à Cloud Storage :
| Module ou plan | Détails |
|---|---|
terraform-google-cloud-storage |
Ce module crée un ou plusieurs buckets Cloud Storage et attribue des autorisations de base sur ceux-ci pour des utilisateurs aléatoires. |
Étapes suivantes
- Exemples de code Terraform pour Cloud Storage
- Documentation Terraform sur Google Cloud
- Documentation du fournisseurGoogle Cloud dans HashiCorp
- Infrastructure as Code pour Google Cloud