Créer un workflow à l'aide de Terraform
Dans ce guide de démarrage rapide, vous allez découvrir comment créer, déployer et exécuter votre premier workflow à l'aide de Terraform. Terraform est un outil Infrastructure as Code qui permet créer, modifier et améliorer de manière prévisible votre infrastructure cloud à l'aide de code. Découvrez comment utiliser Terraform pour provisionner une infrastructure sur Google Cloud.
Dans ce guide de démarrage rapide, l'exemple de workflow envoie une requête à une API publique, puis renvoie la réponse de l'API.
Vous allez effectuer les opérations suivantes:
- Activer l'API Workflows à l'aide de Terraform
- Créer un compte de service pour le workflow à l'aide de Terraform
- Définir et déployer un workflow à l'aide de Terraform
- Exécuter le workflow à l'aide de la Google Cloud CLI
Avant de commencer
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.
Notez que Terraform est déjà intégré à Cloud Shell. Si vous devez installer Terraform, consultez la documentation HashiCorp Terraform.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com
Créer un fichier de configuration Terraform
Créez un fichier de configuration Terraform nommé main.tf
et incluez le fichier
Le fournisseur Google pour Terraform utilisé dans
dans ce guide de démarrage rapide.
Notez que vous pouvez utiliser interpolation pour les substitutions telles que des variables de référence, des attributs de ressources et des fonctions d'appel.
Créez un répertoire.
mkdir terraform
Accédez au répertoire
terraform
:cd terraform
Ajoutez un nouveau fichier,
main.tf
, au répertoire:nano main.tf
Ajoutez les ressources suivantes au fichier
main.tf
:Attribuez l'ID du projet:
provider "google" { project = "PROJECT_ID" }
Remplacez
PROJECT_ID
par l'ID de votre projet.Activer l'API Workflows
Créer un compte de service pour le workflow
Définissez le workflow à l'aide de la ressource
google_workflows_workflow
:Les arguments suivants sont utilisés dans l'exemple de workflow:
name
: Nom de votre workflow.region
: emplacement de votre workflow.description
: description de votre workflow.service_account
: adresse e-mail ou ID unique du compte de service associé à la dernière version du workflow. Ce compte de service représente l'identité du workflow et détermine les autorisations dont il dispose. Si vous ne spécifiez pas de compte de service lors de la création du workflow, celui-ci utilise le compte de service Compute Engine par défaut pour son identité. Pour en savoir plus, consultez la section Accorder à un workflow l'accès aux ressources Google Cloud.labels
: liste de paires de libellés clé-valeur à attribuer à ce workflow pour vous aider à organiser vos instances Google Cloud. Pour en savoir plus, consultez la section Que sont les libellés ?user_env_vars
: variables d'environnement définies par l'utilisateur associées à cette révision de workflow. Pour en savoir plus, consultez Utilisez des variables d'environnement.source_contents
: code Workflows à exécuter. Pour le de fichier, consultez l'article Limites de ressources :
Voici d'autres arguments facultatifs :
crypto_key_name
: ID de ressource d'une clé Cloud Key Management Service au format suivant :projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Pour en savoir plus, consultez Utilisez des clés de chiffrement gérées par le client.
call_log_level
: niveau de journalisation à appliquer aux appels pendant les exécutions de ce workflow. Les valeurs possibles sont les suivantes :CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Pour en savoir plus, consultez la page Journalisation des appels.
project
: ID du projet auquel appartient la ressource. Si elle n'est pas fournie, le projet du fournisseur est utilisé.name_prefix
: crée un nom unique commençant par le préfixe spécifié. Si ce paramètre etname
ne sont pas spécifiés, une valeur aléatoire est choisie pour le nom.
Créer et exécuter le workflow
Déployez vos ressources Terraform pour créer le workflow, puis exécutez la du workflow.
Initialisez Terraform dans le répertoire:
terraform init
Vérifiez que les modifications que vous proposez avec Terraform correspondent au plan attendu :
terraform plan
Vous pouvez ignorer la note indiquant que l'option
-out
n'est pas utilisée.Créez le workflow:
terraform apply
Lorsque l'invite Saisissez une valeur s'affiche, saisissez
yes
pour créer la ressources.Vérifiez que le workflow a bien été créé:
gcloud workflows list --location us-central1
La sortie devrait ressembler à ce qui suit :
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
Vous pouvez également exécuter le workflow:
gcloud workflows execute sample-workflow
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.
- Supprimez toutes les ressources que vous avez créées avec Terraform:
terraform destroy
- Supprimez le workflow que vous avez créé :
Lorsque vous êtes invité à poursuivre l'opération, saisissezgcloud workflows delete sample-workflow
y
. - Vous pouvez également supprimer votre projet Google Cloud pour éviter des frais. La suppression de votre projet Google Cloud arrête la facturation de toutes les ressources utilisées dans ce projet.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/29 (UTC).