En este artículo se describe cómo crear los eventos previos y posteriores en Administrador de actualizaciones de Azure.
Event Grid en configuraciones de mantenimiento de programación
Azure Update Manager aprovecha Event Grid para crear y administrar eventos previos y posteriores. Para obtener más información, consulte la información general de Event Grid. Para desencadenar un evento antes o después de una ventana de mantenimiento de programación, necesita lo siguiente:
Programación de la configuración de mantenimiento: puede crear eventos previos y posteriores para una configuración de mantenimiento de programación en Administrador de actualizaciones de Azure. Para obtener más información, consulte programar actualizaciones mediante configuraciones de mantenimiento.
Acción a realizar en el evento previo o posterior: puede usar los Controladores de eventos (puntos de conexión) compatibles con Event Grid para definir acciones o tareas. Estos son ejemplos sobre cómo crear runbooks de Azure Automation a través de webhooks y Azure Functions. Dentro de estos controladores de eventos o puntos de conexión, debe definir las acciones que se deben realizar como parte de los eventos previos y posteriores.
Eventos previos y posteriores: puede seguir los pasos compartidos en la sección siguiente para crear un evento previo y posterior para la configuración de mantenimiento de programación. Para más información sobre los términos usados en la pestaña Aspectos básicos de Event Grid, consulte los términos de Event Grid.
Creación de un evento previo y posterior
Crear eventos previos y posteriores al crear una nueva configuración de mantenimiento de programación
Inicie sesión en Azure Portal y vaya a Administrador de actualizaciones de Azure.
En Administrar, seleccione Máquinas.
Seleccione Programar actualizaciones en la cinta de opciones de la parte superior.
En la página Crear una configuración de mantenimiento, seleccione la pestaña Eventos.
Seleccione +Suscripción a eventos para crear un evento previo o posterior.
En la página Agregar suscripción a evento, escriba los siguientes datos: en la sección Detalles de la suscripción a eventos, proporcione un nombre apropiado.
Mantenga el esquema como Esquema de Event Grid.
Escriba el Nombre del tema del sistema para el primer evento que cree en esta configuración de mantenimiento. El mismo nombre de tema del sistema se rellenará automáticamente para los eventos subsiguientes.
En la sección Tipos de eventos, Filtro para tipos de evento, seleccione los tipos de eventos que desea insertar en el punto de conexión o destino. Puede seleccionar Evento de mantenimiento previo, Evento de mantenimiento posterior o ambos. Para más información sobre los tipos de eventos específicos de las configuraciones de mantenimiento de programación, consulte Tipos de eventos de Azure.
En la sección Detalles del punto de conexión, seleccione el punto de conexión desde el que desea recibir la respuesta.
Seleccione Agregar para crear los eventos previos y posteriores a la programación en el momento de su creación.
Nota:
En el flujo anterior, Webhook y Azure Functions son los dos controladores de eventos o puntos de conexión entre los que puede elegir. Al seleccionar Agregar, la suscripción de eventos no se crea, pero se agrega a la configuración de mantenimiento. La suscripción de eventos se crea junto con la configuración de mantenimiento de programación.
Cree una configuración de mantenimiento siguiendo los pasos que se indican aquí.
# 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
Cree una configuración de mantenimiento siguiendo los pasos que se indican aquí.
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
Cree una configuración de mantenimiento siguiendo los pasos que se indican aquí.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Tipos de eventos permitidos: Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
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
Inicie sesión en Azure Portal y vaya a Administrador de actualizaciones de Azure.
En Administrar, seleccione Máquinas, Configuraciones de mantenimiento.
En la página Configuración de mantenimiento, seleccione la configuración de mantenimiento a la que quiera agregar un evento previo y posterior.
En la página Configuración de mantenimiento seleccionada, en Configuración, seleccione Eventos. Como alternativa, en Información general, seleccione la tarjeta Crear un evento de mantenimiento.
Seleccione +Suscripción de eventos para crear eventos previos y posteriores al mantenimiento.
En la página Crear suscripción de eventos, escriba los siguientes detalles:
En la sección Detalles de la suscripción de eventos, proporcione un nombre adecuado.
Mantenga el esquema como Esquema de Event Grid.
En la sección Detalles del tema, proporcione un nombre adecuado al Nombre del tema del sistema.
En la sección Tipos de eventos, Filtro para tipos de evento, seleccione los tipos de eventos que desea insertar en el punto de conexión o destino. Puede seleccionar entre Eventos de mantenimiento previo y Evento posterior al mantenimiento. Para más información sobre los tipos de eventos específicos de las configuraciones de mantenimiento de programación, consulte Tipos de eventos de Azure.
En la sección Detalles del punto de conexión, seleccione el punto de conexión desde el que desea recibir la respuesta.
Seleccione Crear para configurar los eventos previos y posteriores según una programación existente.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Tipos de eventos permitidos: Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
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
Para obtener información sobre cómo usar eventos previos y posteriores para activar y desactivar las máquinas virtuales mediante webhooks, consulte este vínculo.
Para obtener información sobre cómo usar eventos previos y posteriores para activar y desactivar las máquinas virtuales mediante Azure Functions, consulte esto.