Tutoriel : Superviser les modifications d’une machine virtuelle avec Azure Event Grid et Azure Logic Apps
S’applique à : Azure Logic Apps (Consommation)
Vous pouvez surveiller et répondre à des événements spécifiques qui se produisent dans des ressources Azure ou des ressources externes à l’aide d’Azure Event Grid et d’Azure Logic Apps. Vous pouvez créer un Flux de travail d’application logique consommation automatisé avec un code minimal à l’aide de Azure Logic Apps. Vous pouvez faire en sorte que ces ressources publient des événements dans Azure Event Grid. À son tour, Azure Event Grid envoie ces événements aux abonnés qui possèdent des files d’attente, webhooks ou hubs d’événements comme points de terminaison. En tant qu’abonné, votre workflow attend que ces événements arrivent dans Azure Event Grid avant d’exécuter les étapes de traitement des événements.
Par exemple, voici certains événements que les éditeurs peuvent envoyer aux abonnés via Azure Event Grid :
Créer, lire, mettre à jour ou supprimer une ressource. Par exemple, vous pouvez surveiller les modifications susceptibles d’être facturées sur votre abonnement Azure.
Ajouter ou retirer une personne d’un abonnement Azure.
Votre application effectue une action particulière.
Un nouveau message apparaît dans une file d’attente.
Ce tutoriel crée une ressource d’application logique Consommation qui s’exécute dans Azure Logic Apps multilocataire et qui est basée sur le modèle tarifaire Consommation. Avec cette ressource d’application logique, vous créez un workflow qui supervise les modifications apportées à une machine virtuelle et envoie des e-mails sur ces modifications. Si vous créez un flux de travail qui a un abonnement aux événements auprès d’une ressource Azure, ces événements sont transférés de cette ressource vers le flux de travail par le biais d’Azure Event Grid.
Dans ce tutoriel, vous allez apprendre à :
- Créer une ressource d’application logique et un flux de travail qui supervise les événements d’Azure Event Grid.
- ajouter une condition qui recherche spécifiquement les modifications apportées à la machine virtuelle ;
- envoyer un e-mail en cas de modification de la machine virtuelle.
Prérequis
Un compte et un abonnement Azure. Si vous n’avez pas d’abonnement Azure, inscrivez-vous pour bénéficier d’un compte Azure gratuit.
Un compte e-mail d’un service de messagerie qui utilise Azure Logic Apps, par exemple Outlook Office 365, Outlook.com ou Gmail, pour envoyer les notifications. Pour les autres fournisseurs, passez en revue la liste des connecteurs ici.
Ce tutoriel utilise un compte Outlook Office 365. Si vous utilisez un autre compte de messagerie, les étapes générales sont identiques, mais l’affichage de l’interface utilisateur peut être légèrement différent.
Important
Si vous souhaitez utiliser le connecteur Gmail, seuls les comptes professionnels G-Suite peuvent utiliser ce connecteur sans restriction dans Logic Apps. Si vous disposez d’un compte de consommateur Gmail, vous pouvez utiliser ce connecteur uniquement avec certains services approuvés par Google, ou vous pouvez créer une application cliente Google pour servir lors de l’authentification avec votre connecteur Gmail. Pour plus d’informations, consultez Stratégies de confidentialité et de sécurité des données pour les connecteurs Google dans Azure Logic Apps.
Une machine virtuelle qui est seule dans son propre groupe de ressources Azure. Si ce n’est pas déjà fait, créez une machine virtuelle en suivant le tutoriel Créer une machine virtuelle. Pour que la machine virtuelle publie des événements, aucun autre élément n’est nécessaire.
Si vous disposez d’un pare-feu qui limite le trafic à des adresses IP spécifiques, vous devez configurer votre pare-feu pour autoriser l’accès à Azure Logic Apps pour communiquer via le pare-feu. Vous devez autoriser l’accès aux adresses IP entrantes et sortantes utilisées par Azure Logic Apps dans la région Azure où vous créez votre application logique.
Cet exemple utilise des connecteurs managés qui exigent que votre pare-feu autorise l’accès pour toutes les adresses IP sortantes du connecteur managé dans la région Azure de votre ressource d’application logique.
Créer la ressource d’application logique
Connectez-vous au portail Azure avec votre compte Azure.
Sur la page d’accueil Azure, sélectionnez Créer une ressource>Intégration>Application logique.
Sous Créer une application logique, fournissez des informations sur votre ressource d’application logique :
Propriété Obligatoire Value Description Abonnement Oui <Azure-subscription-name> Sélectionnez le même abonnement Azure pour tous les services de ce tutoriel. Groupe de ressources Oui <Azure-resource-group> Nom du groupe de ressources Azure pour votre application logique, que vous pouvez sélectionner pour tous les services de ce tutoriel. Nom de l’application logique Oui <logic-app-name> Fournissez un nom unique pour votre application logique. Publier Oui Workflow Sélectionnez la destination de déploiement de votre application logique. Pour ce tutoriel, veillez à sélectionner Workflow, qui se déploie sur Azure. Région Oui <Azure-region> Sélectionnez la même région pour tous les services de ce didacticiel. Type de plan Oui Consommation Type de ressource pour votre application logique. Pour ce tutoriel, veillez à sélectionner Consommation. Remarque
Si, par la suite, vous souhaitez utiliser les opérations Azure Event Grid avec une ressource d’application logique standard, veillez à créer un flux de travail avec état, et non un flux de travail sans état. Ce tutoriel s’applique uniquement aux applications logiques Consommation, qui suivent une expérience utilisateur différente. Pour ajouter des opérations Azure Event Grid à votre workflow dans le concepteur, veillez à sélectionner l’onglet Azure dans le volet du sélecteur d’opérations. Pour plus d’informations sur la comparaison entre le modèle Azure Logic Apps multilocataire et monolocataire, consultez Comparaison entre les modèles monolocataire et multilocataire.
Quand vous avez terminé, sélectionnez Vérifier + créer. Dans le volet suivant, confirmez les informations fournies, puis sélectionnez Créer.
Une fois qu’Azure a déployé votre application logique, sélectionnez Accéder à la ressource.
Le concepteur de workflow affiche une page contenant une vidéo de présentation et les déclencheurs couramment utilisés.
Faites défiler la fenêtre vidéo et la section des déclencheurs couramment utilisés.
Sous Modèles, sélectionnez Application logique vide.
Notes
La galerie de modèles de flux de travail est disponible uniquement pour les applications logiques Consommation, et non pour les applications logiques standard.
Le concepteur de workflow affiche ensuite les déclencheurs que vous pouvez utiliser pour démarrer votre application logique. Chaque flux de travail doit démarrer avec un déclencheur, qui s’active lorsqu’un événement spécifique se produit ou qu’une condition particulière est remplie. Chaque fois que le déclencheur est activé, Azure Logic Apps crée une instance de workflow qui exécute votre application logique.
Ajouter un déclencheur Azure Event Grid
Maintenant, ajoutez le déclencheur Azure Event Grid qui permet de superviser le groupe de ressources de votre machine virtuelle.
Dans la zone de recherche du concepteur, entrez
event grid
. Dans la liste des déclencheurs, sélectionnez le déclencheur Quand un événement de ressource se produit.Lorsque vous y êtes invité, connectez-vous à Azure Event Grid avec les informations d’identification de votre compte Azure. Dans la liste Locataire, qui indique le locataire Microsoft Entra associé à votre abonnement Azure, vérifiez que le locataire approprié s’affiche, par exemple :
Notes
Si vous êtes connecté avec un compte Microsoft personnel, par exemple @outlook.com ou @hotmail.com, le déclencheur Azure Event Grid risque de ne pas apparaître correctement. Il existe une solution de contournement qui consiste à sélectionner Se connecter avec le principal de service ou à s’authentifier en tant que membre de l’instance Microsoft Entra associée à l’abonnement Azure, par exemple nom-utilisateur@emailoutlook.onmicrosoft.com.
Maintenant, abonnez votre application logique aux événements de l’éditeur. Renseignez les détails de votre abonnement aux événements, comme décrit dans le tableau suivant, par exemple :
Propriété Obligatoire Value Description Abonnement Oui <event-publisher-Azure-subscription-name> Sélectionnez le nom de l’abonnement Azure associé à l’éditeur d’événements. Dans le cadre de ce tutoriel, sélectionnez le nom d’abonnement Azure de votre machine virtuelle. Type de ressource Oui <event-publisher-Azure-resource-type> Sélectionnez le type de ressource Azure pour l’éditeur d’événements. Pour plus d’informations sur les types de ressources Azure, consultez Fournisseurs et types de ressources Azure. Pour ce tutoriel, sélectionnez la valeur Microsoft.Resources.ResourceGroups
pour superviser les groupes de ressources Azure.Nom de la ressource Oui <event-publisher-Azure-resource-name> Sélectionnez le nom de la ressource Azure pour l’éditeur d’événements. Cette liste varie en fonction du type de ressource que vous avez sélectionné. Pour ce tutoriel, sélectionnez le nom du groupe de ressources Azure qui contient votre machine virtuelle. Élément de type d’événement Non <event-types> Sélectionnez un ou plusieurs types d’événements spécifiques à filtrer et envoyer à Azure Event Grid. Par exemple, vous pouvez ajouter ces types d’événements pour détecter le moment où des ressources sont modifiées ou supprimées : -
Microsoft.Resources.ResourceActionSuccess
-Microsoft.Resources.ResourceDeleteSuccess
-Microsoft.Resources.ResourceWriteSuccess
Pour plus d’informations, consultez les rubriques suivantes :
- Schéma d’événements Azure Event Grid pour les groupes de ressources
- Comprendre le filtrage des événements
- Filtrer des événements pour Azure Event GridPour ajouter des propriétés facultatives, sélectionnez Ajouter un nouveau paramètre, puis les propriétés souhaitées. Non {voir les descriptions} * Filtre de préfixe : Pour ce tutoriel, laissez cette propriété vide. Le comportement par défaut s’applique à toutes les valeurs. Vous pouvez cependant spécifier une chaîne de préfixe en tant que filtre, par exemple, un chemin d’accès et un paramètre pour une ressource spécifique. * Filtre de suffixe : Pour ce tutoriel, laissez cette propriété vide. Le comportement par défaut s’applique à toutes les valeurs. Vous pouvez cependant spécifier une chaîne de suffixe en tant que filtre, par exemple, une extension de nom de fichier, si vous ne souhaitez utiliser que des types de fichiers spécifiques.
* Nom d’abonnement : Pour ce tutoriel, vous pouvez indiquer un nom unique pour votre abonnement aux événements.
Enregistrez votre workflow d’application logique. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer. Pour réduire et masquer les détails d’une action dans votre flux de travail, sélectionnez la barre de titre de l’action.
Lorsque vous enregistrez votre application logique avec un déclencheur Azure Event Grid, Azure crée automatiquement un abonnement aux événements de votre application logique pour la ressource que vous avez sélectionnée. Par conséquent, lorsque la ressource publie un événement dans la service Azure Event Grid, ce service transmet automatiquement l’événement à votre application logique. Cet événement déclenche et exécute le flux de travail d’application logique défini dans les étapes suivantes.
Votre application logique est désormais en ligne ; elle écoute les événements d’Azure Event Grid, mais ne fait rien tant que vous n’avez pas ajouté d’actions au flux de travail.
Ajouter une condition
Si vous souhaitez que votre flux de travail d’application logique s’exécute uniquement quand un événement ou une opération spécifique se produit, ajoutez une condition qui recherche l’opération Microsoft.Compute/virtualMachines/write. Lorsque cette condition est true, votre flux de travail d’application logique vous envoie par e-mail, avec des informations sur la machine virtuelle mise à jour.
Dans le concepteur de flux de travail, sous le déclencheur Azure Event Grid, sélectionnez Nouvelle étape.
Sous Choisir une action, dans la zone de recherche, entrez
condition
en guise de filtre. Dans la liste des actions, sélectionnez l’action Condition.Le concepteur de flux de travail ajoute une condition vide à votre flux de travail, y compris les chemins d’accès des actions à suivre selon que la condition est true ou false.
Renommez le titre de la condition comme suit :
If a virtual machine in your resource group has changed
. Dans la barre de titre de la condition, sélectionnez le bouton représentant des points de suspension ( ... ), puis Renommer.Créez une condition qui vérifie dans l’événement
body
un objetdata
dont la propriétéoperationName
correspond à l’opérationMicrosoft.Compute/virtualMachines/write
. En savoir plus sur le schéma d’un événement Azure Event Grid.Sur la première ligne, sous et, cliquez à l’intérieur de la zone de gauche. Dans la liste de contenu dynamique qui s’affiche, sélectionnez Expression.
Dans l’éditeur d’expressions, entrez cette expression, qui retourne le nom de l’opération à partir du déclencheur, puis sélectionnez OK :
triggerBody()?['data']['operationName']
Par exemple :
Dans la zone du milieu, conservez l’opérateur est égal à.
Dans la zone de droite, entrez l’opération que vous souhaitez superviser, qui est la valeur suivante pour cet exemple :
Microsoft.Compute/virtualMachines/write
Votre condition terminée ressemble maintenant à l’exemple suivant :
Si vous passez du mode Création au mode Code puis à nouveau au mode Création, l’expression que vous avez spécifiée dans la condition est résolue en jeton data.operationName :
Enregistrez votre application logique.
Envoyer des notifications par e-mail
Ajoutez maintenant une action pour pouvoir recevoir un e-mail quand la condition spécifiée a la valeur true.
Dans la zone Si true de la condition, sélectionnez Ajouter une action.
Sous Choisir une action, dans la zone de recherche, entrez
send an email
en guise de filtre. Selon votre fournisseur de messagerie, recherchez et sélectionnez le connecteur correspondant. Puis sélectionnez l’action « Envoyer un courrier électronique » pour votre connecteur. Par exemple :Pour un compte professionnel ou scolaire Azure, sélectionnez le connecteur Outlook Office 365.
Pour des comptes personnels Microsoft, sélectionnez le connecteur Outlook.com.
Pour des comptes Gmail, sélectionnez le connecteur Gmail.
Ce tutoriel continue d’utiliser le connecteur Outlook Office 365. Si vous utilisez un autre fournisseur, les étapes restent les mêmes, mais votre interface utilisateur peut s’afficher un peu différemment.
Si vous ne disposez pas déjà d’une connexion pour votre fournisseur de messagerie, connectez-vous à votre compte de messagerie lorsque vous êtes invité vous identifier.
Renommez le titre de l’action Envoyer un e-mail comme suit :
Send email when virtual machine updated
Fournissez des informations sur l’e-mail comme l’indique le tableau suivant :
Conseil
Pour sélectionner une sortie à partir des étapes précédentes de votre workflow, cliquez dans une zone d’édition afin d’ouvrir la liste de contenu dynamique ou sélectionnez Ajouter du contenu dynamique. Pour voir davantage de résultats, sélectionnez Plus pour chaque section de la liste. Pour fermer la liste de contenu dynamique, sélectionnez de nouveau Ajouter du contenu dynamique.
Propriété Obligatoire Value Description To Oui <destinataire@domaine> Entrez l’adresse e-mail du destinataire. À des fins de test, vous pouvez utiliser votre propre adresse e-mail. Subject Oui Resource updated:
ObjetEntrez le contenu de l’objet de l’e-mail. Dans le cadre de ce tutoriel, entrez le texte spécifié et sélectionnez le champ Subject de l’événement. Ici, l’objet de votre e-mail comprend le nom de la ressource mise à jour (machine virtuelle). Corps Oui Resource:
SujetEvent type:
Type d’événementEvent ID:
IDTime:
Heure de l’événementEntrez le contenu du corps de l’e-mail. Dans le cadre de ce tutoriel, entrez le texte spécifié et sélectionnez les champs Topic, Event Type, ID et Event Time de l’événement de façon à inclure dans votre e-mail la ressource qui a déclenché l’événement, le type d’événement, son horodatage et son ID pour la mise à jour. Pour ce tutoriel, la ressource est le groupe de ressources Azure sélectionné dans le déclencheur. Pour ajouter des lignes vides à votre contenu, appuyez sur Maj + Entrée.
Notes
Si vous sélectionnez un champ qui représente un tableau, le concepteur ajoute automatiquement une boucle For each autour de l’action qui référence ce tableau. De cette façon, votre flux de travail d’application logique effectue cette action sur chaque élément du tableau.
Votre action d’e-mail peut maintenant se présenter ainsi :
Et votre flux de travail d’application logique terminée peut se présenter ainsi :
Enregistrez votre application logique. Pour réduire et masquer les détails de chaque action dans votre application logique, sélectionnez la barre de titre de l’action.
Votre application logique est désormais en ligne, mais elle attend que votre machine virtuelle soit modifiée avant de faire quoi que ce soit. Pour tester maintenant votre flux de travail, passez à la section suivante.
Tester le flux de travail d’une application logique
Pour vérifier que votre flux de travail reçoit des événements spécifiés, mettez à jour votre machine virtuelle.
Par exemple, vous pouvez redimensionner votre machine virtuelle.
Après quelques instants, vous devriez recevoir un courrier électronique. Par exemple :
Pour consulter l’historique des exécutions et des déclenchements de votre application logique, sélectionnez Vue d’ensemble dans le menu de votre application logique. Pour afficher plus de détails sur une exécution, sélectionnez la ligne correspondante.
Pour afficher les entrées et les sorties de chaque étape, développez celle que vous souhaitez vérifier. Ces informations peuvent vous aider à diagnostiquer et déboguer les problèmes de votre application logique.
Félicitations, vous avez créé et exécuté un flux de travail d’application logique qui surveille les événements liés aux ressources grâce à Azure Event Grid et vous envoie un e-mail lorsque ces événements se produisent. Vous avez également appris comment créer facilement des flux de travaux qui automatisent les processus et intégrer des systèmes et des services cloud.
Vous pouvez surveiller les autres modifications de configuration avec des grilles d’événements et des applications logiques. Par exemple :
- Une machine virtuelle se voit attribuer des droits de contrôle d’accès en fonction du rôle Azure (Azure RBAC).
- Des modifications sont apportées à un groupe de sécurité réseau (NSG) sur une carte d’interface réseau (NIC).
- Des disques d’une machine virtuelle ont été ajoutés ou supprimés.
- Une adresse IP publique est affectée à la carte d’interface réseau (NIC) d’une machine virtuelle.
Nettoyer les ressources
Ce didacticiel utilise des ressources et effectue des actions qui peuvent entraîner des frais sur votre abonnement Azure. Par conséquent, lorsque vous aurez terminé de suivre ce didacticiel et d’effectuer les tests, veillez à désactiver ou à supprimer les ressources pour lesquelles vous ne souhaitez pas être facturé.
Pour arrêter l’exécution de votre flux de travail sans supprimer votre travail, désactivez votre application. Dans le menu de votre application logique, sélectionnez Vue d’ensemble. Dans la barre d’outils, sélectionnez Désactiver.
Conseil
Si vous ne voyez pas le menu de l’application logique, essayez de revenir au tableau de bord Azure et de rouvrir votre application logique.
Pour supprimer définitivement votre application logique, sélectionnez Vue d’ensemble dans le menu de l’application logique. Dans la barre d’outils, sélectionnez Supprimer. Confirmez que vous souhaitez supprimer votre application logique, puis sélectionnez Supprimer.
Étapes suivantes
Consultez les exemples suivants pour en savoir plus sur la publication d’événements sur Azure Event Grid et leur consommation avec différents langages de programmation.