S’applique à : ✔️ Machines virtuelles Windows ✔️ Machines virtuelles Linux ✔️ Environnement local ✔️ Serveurs compatibles avec Azure Arc ✔️ Machines virtuelles Azure.
Les pré-événements et post-événements vous permettent d’exécuter des actions définies par l’utilisateur avant et après la configuration de la maintenance planifiée. Pour plus d’informations, passez par les tâches d’un événement de pré-publication dans Azure Update Manager.
Cet article explique comment créer les pré-événements et post-événements dans Azure Update Manager.
Event Grid dans les configurations de maintenance de planification
Le Gestionnaire de mise à jour Azure tire parti d’Event Grid pour créer et gérer des pré- et post-événements. Pour plus d’informations, consultez la vue d’ensemble Event Grid. Pour déclencher un événement avant ou après une fenêtre de maintenance planifiée, vous avez besoin des éléments suivants :
Planification de la configuration de la maintenance : vous pouvez créer des événements avant et publier des événements pour une configuration de maintenance planifiée dans Azure Update Manager. Pour plus d’informations, consultez planifier des mises à jour à l’aide de configurations de maintenance.
Actions à effectuer dans le pré ou après l’événement : vous pouvez utiliser les gestionnaires d’événements (points de terminaison) pris en charge par Event Grid pour définir des actions ou des tâches. Voici des exemples sur la création de Runbooks Azure Automation via des Webhooks et Azure Functions. Dans ces gestionnaires d’événements ou points de terminaison, vous devez définir les actions qui doivent être effectuées dans le cadre des événements antérieurs et post-événements.
Pré-événement et post-événement : vous pouvez suivre les étapes partagées dans la section suivante pour créer un événement avant et post pour planifier la configuration de maintenance. Pour en savoir plus sur les termes utilisés dans l’onglet Informations de base d’Event Grid, consultez les termes Event Grid.
Créer un pré- et post-événement
Créer des événements avant et post lors de la création d’une configuration de maintenance de planification
Sélectionnez Planifier les mises à jour dans le ruban en haut.
Dans la page Créer une configuration de maintenance, sélectionnez l’onglet Événements .
Sélectionnez +Abonnement aux événements pour créer un événement avant/post.
Dans la page Ajouter un abonnement aux événements, entrez les détails suivants : dans la section Détails de l’abonnement aux événements, indiquez un nom approprié.
Conservez Schéma Event Grid comme schéma.
Entrez le nom de la rubrique système pour le premier événement que vous créez dans cette configuration de maintenance. Le même nom de rubrique système sera renseigné automatiquement pour les événements suivants.
Dans la section Types d’événements, Filtrer les types d’événements, sélectionnez les types d’événements que vous souhaitez envoyer (push) au point de terminaison ou à la destination. Vous pouvez sélectionner l’événement de pré-maintenance ou l’événement post-maintenance ou les deux. Pour en savoir plus sur les types d’événements spécifiques à la planification des configurations de maintenance, consultez Types d’événements Azure.
Dans la section Détails du point de terminaison, sélectionnez le point de terminaison à partir duquel vous souhaitez recevoir la réponse.
Sélectionnez Ajouter pour créer les événements de pré-publication de la planification lors de sa création.
Remarque
Dans le flux ci-dessus, Webhook et Azure Functions sont les deux gestionnaires d’événements/points de terminaison parmi lesquels vous pouvez choisir. Lorsque vous sélectionnez Ajouter, l’abonnement aux événements n’est pas créé, mais ajouté à la configuration de maintenance. L’abonnement aux événements est créé avec la configuration de planification de la maintenance.
Créez une configuration de maintenance en suivant les étapes répertoriées ici.
# Obtain the Maintenance Configuration ID from Step 1 and assign it to MaintenanceConfigurationResourceId variable
$MaintenanceConfigurationResourceId = "/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
# Use the same Resource Group that you used to create maintenance configuration in Step 1
$ResourceGroupForSystemTopic = "<Resource Group for System Topic>"
$SystemTopicName = "<System topic name>"
$TopicType = "Microsoft.Maintenance.MaintenanceConfigurations"
$SystemTopicLocation = "<System topic location>"
# System topic creation
New-AzEventGridSystemTopic -ResourceGroupName $ResourceGroupForSystemTopic -Name $SystemTopicName -Source $MaintenanceConfigurationResourceId -TopicType $TopicType -Location $SystemTopicLocation
# Event subscription creation
$IncludedEventTypes = @("Microsoft.Maintenance.PreMaintenanceEvent")
# Webhook
$EventSubscriptionName = "PreEventWebhook"
$PreEventWebhookEndpoint = "<Webhook URL>"
$dest = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl $PreEventWebhookEndpoint
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Endpoint $PreEventWebhookEndpoint -IncludedEventType $IncludedEventTypes -Destination $dest
# Azure Function
$dest = New-AzEventGridAzureFunctionEventSubscriptionDestinationObject -ResourceId "<Azure Function Resource Id>"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Destination $dest -IncludedEventType $IncludedEventTypes
Créez une configuration de maintenance en suivant les étapes répertoriées ici.
SystemTopicName="<System topic name>
# Use the same Resource Group that you used to create maintenance configuration in Step 1
ResourceGroupName="<Resource Group mentioned in Step 1>"
# Obtain the Maintenance Configuration ID from Step 1 and assign it to Source variable
Source="/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
TopicType="Microsoft.Maintenance.MaintenanceConfigurations"
Location="<System topic location> "
# System topic creation
az eventgrid system-topic create --name $SystemTopicName --resource-group $ResourceGroupName --source $Source --topic-type $TopicType --location $Location
# Event subscription creation
IncludedEventTypes='("Microsoft.Maintenance.PreMaintenanceEvent")'
# Webhook
az eventgrid system-topic event-subscription create --name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type webhook --endpoint "<webhook URL>" --included-event-types IncludedEventTypes
# Azure Function
az eventgrid system-topic event-subscription create –name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type azurefunction --endpoint "<Azure Function ResourceId>" --included-event-types IncludedEventTypes
Créez une configuration de maintenance en suivant les étapes répertoriées ici.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Sous Gérer, sélectionnez Machines, Configurations de maintenance.
Dans la page Configuration de maintenance, sélectionnez la configuration de maintenance à laquelle vous souhaitez ajouter un pré-événement et un post-événement.
Dans la page Configuration de maintenance sélectionnée, sous Paramètres, sélectionnez Événements. En guise d’alternative, sous Vue d’ensemble, sélectionnez la carte Créer un événement de maintenance.
Sélectionnez +Abonnement aux événements pour créer un événement de pré/post-maintenance.
Dans la page Créer un abonnement aux événements, entrez les détails suivantes :
Dans la section Détails des abonnements aux événements, indiquez un nom approprié.
Conservez Schéma Event Grid comme schéma.
Dans la section Détails sur la rubrique, spécifiez un nom approprié dans Nom de la rubrique système.
Dans la section Types d’événements, Filtrer les types d’événements, sélectionnez les types d’événements que vous souhaitez envoyer (push) au point de terminaison ou à la destination. Vous pouvez sélectionner Pré-événement de maintenance ou Post-événement de maintenance. Pour en savoir plus sur les types d’événements spécifiques à la planification des configurations de maintenance, consultez Types d’événements Azure.
Dans la section Détails du point de terminaison, sélectionnez le point de terminaison à partir duquel vous souhaitez recevoir la réponse.
Sélectionnez Créer pour configurer les pré-événements et post-événements sur une planification existante.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Pour savoir comment utiliser des événements avant et publier des événements pour activer et désactiver vos machines virtuelles à l’aide de Webhooks, voir ici.
Pour découvrir comment utiliser des pré-événements et post-événements pour activer et désactiver vos machines virtuelles à l’aide d’Azure Functions, consultez cet article.