Déclencher un Runbook via un Webhook
Dans un précédent article, je t’expliquais comment automatiser l’arrêt et le (re)démarrage d’une VM suivant une planification via un Runbook créé grâce au service Azure Automation.
Aujourd’hui, je vais t’expliquer comment déclencher ce Runbook via un Webhook.
Qu’est-ce qu’un Webhook ?
Un Webhook permet de démarrer un Runbook dans Azure Automation via une simple requête http POST. Cela permet à des services externes tels que VSTS, GitHub, Azure Log Analytics ou des applications tierces de démarrer des Runbooks sans implémenter une solution complète à l’aide de l’API Azure Automation. Un Webhook est authentifié via un token de sécurité passé en paramètre de l’URL.
Pourquoi un Webhook ?
Un Webhook te permet de déclencher un Runbook via une simple requête HTTP POST à une URL donnée.
Ça signifie que tu peux inclure ces Webhooks dans une page web, dans un courriel, dans un script, etc.
Te rappelles-tu le fameux courriel reçu 30 minutes avant l’arrêt de la VM lorsqu’on avait configuré l’auto-shutdown sur la VM ? Eh bien les liens pour retarder l’arrêt de la VM pointent sur des Webhooks !
Comment créer un Webhook pour un Runbook ?
En reprenant l’exemple précédent (démarrage et arrêt automatique d’une VM), nous allons offrir la possibilité de déclencher ces actions via des Webhooks.
Commences par aller sur ton instance Azure Automation :
- Sélectionne le Runbook désiré
- Depuis l’onglet « Ovierview », cliques sur « Webhook »
- Cliques sur « Create new Webhook »
- Entres les informations demandées pour le Webhook
NOTE : Penses bien à conserver en lieu sûr l’URL vers le Webhook car, pour des raisons de sécurité (car l’URL contient un token de sécurité permettant au Webhook d’être invoqué), tu ne pourras pas le retrouver après avoir cliqué sur « OK ».
- Cliques sur « OK »
- Entres les informations demandées à la section « Configure parameters and run settings »
- Cliques sur le bouton « Create » pour créer le Webhook
De retour dans la fenêtre de configuration du Runbook, tu peux voir la liste des tes Webhooks en cliquant sur… “Webhooks”:
Comment invoquer le Webhook ?
On va créer un code HTML pour simuler le contenu d’un courriel avec un hyperlien qui permettra de déclencher le Webhook :
https://gist.github.com/BelRarr/e34a6b70ce1ca77b5e453c8a8af9bf03
Tu recevras en retour l’ID du Job créé pour exécuter cette tâche (un GUID). Exemple :
9efdc241-23bd-446d-8151-0e0d4159d00a
En conclusion…
Que ce soit de façon planifiée ou via un Webhook, Azure Automation offre un large éventail de possibilité d’automatisation des tâches répétitives de gestion de ton infrastructure Azure.
À toi de combiner ces possibilités afin d’en tirer le meilleur parti.