Ce document explique comment utiliser les ressources Google Cloud dans Terraform pour créer des déclencheurs Eventarc.
Dans ce document, à l'aide de Terraform, vous allez :
- activer les API Cloud Run et Eventarc ;
- déployer un service Cloud Run accessible publiquement en tant que cible d'événement ;
- créer un déclencheur Pub/Sub Eventarc pour envoyer des événements au service récepteur d'événements, sur le service Cloud Run ;
- créer un déclencheur Eventarc pour filtrer les journaux d'audit et envoyer des événements Cloud Storage au service Cloud Run.
Pour obtenir des ressources et des conseils sur l'utilisation de Terraform, consultez la page Utiliser Terraform avec Google Cloud.
Avant de commencer
- Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
- Téléchargez et installez l'outil de gestion du code source Git.
Cloud Shell est un environnement shell dans lequel Terraform est déjà intégré.
Créer des déclencheurs Eventarc
Déployez vos ressources avec Terraform pour créer des déclencheurs Eventarc à l'aide de Cloud Shell.
Activer les API Eventarc et Cloud Run
Utilisez le code suivant pour activer l'API Eventarc et les API Cloud Run :
Définir un service Cloud Run en tant que cible d'événement
Créez un service Cloud Run en tant que destination d'événement pour le déclencheur.
Utilisez la ressource google_cloud_run_service
pour définir un service Cloud Run :
Définir un déclencheur Pub/Sub
Un déclencheur Pub/Sub connecte un sujet Pub/Sub à un service Cloud Run. Utilisez la ressource google_eventarc_trigger
pour définir la ressource de déclencheur Pub/Sub :
Définir un déclencheur Cloud Audit Logs
Un déclencheur Cloud Audit Logs connecte un service Google Cloud générant des journaux d'audit à un service Cloud Run. Attribuez le rôle eventarc.eventReceiver
au compte de service Compute Engine par défaut et utilisez la ressource google_eventarc_trigger
pour définir le déclencheur Cloud Audit Logs à associer aux événements Cloud Storage :
Vérifier la création des déclencheurs
Pour vérifier qu'un service Cloud Run et deux déclencheurs ont été créés, exécutez la commande suivante :
gcloud eventarc triggers list --location DESTINATION-RUN-REGION
La sortie devrait ressembler à ce qui suit :
NAME: trigger-auditlog-tf TYPE: google.cloud.audit.log.v1.written DESTINATION: Cloud Run service: cloudrun-hello-tf ACTIVE: By 16:29:08 NAME: trigger-pubsub-tf TYPE: google.cloud.pubsub.topic.v1.messagePublished DESTINATION: Cloud Run service: cloudrun-hello-tf ACTIVE: Yes
Effectuer un nettoyage
Vous pouvez supprimer toutes les ressources que vous avez créées avec Terraform à l'aide de la commande suivante:
terraform destroy -var="project_id=PROJECT-ID" -var="region=DESTINATION-RUN-REGION"
Vous pouvez également supprimer votre projet Google Cloud pour éviter des frais. La suppression de votre projet Cloud arrête la facturation de toutes les ressources utilisées dans ce projet.
- Dans la console Google Cloud, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Étape suivante
- Consultez les guides de démarrage rapide pour commencer à utiliser Eventarc.
- Consultez la page Recevoir un événement Cloud Audit Logs pour savoir comment déployer un service Cloud Run qui reçoit des événements Cloud Storage utilisant Cloud Audit Logs.