Contrôler les mises à jour avec les configurations de maintenance et Azure CLI
S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes
Les configurations de maintenance vous permettent de décider quand appliquer les mises à jour de la plate-forme à diverses ressources Azure. Cette rubrique traite des options de l’interface Azure CLI pour l’utilisation de ce service. Pour plus d’informations sur les avantages de l’utilisation des configurations de maintenance, les limitations et les autres options de gestion, consultez Gestion des mises à jour de plateformes avec les configurations de maintenance.
Important
Il existe différentes étendues qui prennent en charge certains types de machine et de planification. Par conséquent, assurez-vous de sélectionner l’étendue appropriée pour votre machine virtuelle.
Créer une configuration de maintenance
La première étape de création d’une configuration de maintenance consiste à créer un groupe de ressources comme conteneur pour votre configuration. Dans cet exemple, un groupe de ressources nommé myMaintenanceRG est créé dans eastus. Si vous avez déjà un groupe de ressources et que vous souhaitez l’utiliser, vous pouvez ignorer cette partie et remplacer le nom du groupe de ressources par le vôtre dans le reste des exemples.
az group create \
--location eastus \
--name myMaintenanceRG
Après avoir créé le groupe de ressources, utilisez az maintenance configuration create
pour créer une configuration de maintenance.
Host
Cet exemple crée une configuration de maintenance nommée myConfig étendue aux machines hôtes, avec une fenêtre planifiée de 5 heures, le quatrième lundi de chaque mois.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
L’utilisation de --maintenance-scope host
garantit l’utilisation de la configuration de maintenance pour contrôler les mises à jour de l’infrastructure hôte. Si vous essayez de créer une configuration portant le même nom mais dans un autre emplacement, vous obtenez une erreur. Les noms de configuration doivent être uniques dans votre groupe de ressources.
Vous pouvez vérifier si vous avez créé la configuration de maintenance correctement en demandant les configurations de maintenance disponibles à l’aide de az maintenance configuration list
.
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Remarque
La récurrence de la maintenance peut être exprimée quotidiennement, hebdomadairement ou mensuellement. Quelques exemples :
- quotidiennement : la fenêtre de maintenance se reproduit tous les : « Jour » ou « 3Jours »
- hebdomadairement : la fenêtre de maintenance se reproduit toutes les : « 3Semaines » ou « Semaine samedi,dimanche »
- mensuellement : la fenêtre de maintenance se reproduit tous les : « Lundi jour23,jour24 » ou "Mois Dernier dimanche » ou « Mois Quatrième lundi »
Virtual Machine Scale Sets
Cet exemple crée une configuration de maintenance nommée myConfig avec l’étendue osimage pour des groupes de machines virtuelles identiques avec une fenêtre planifiée de 5 heures, le quatrième lundi de chaque mois.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope osimage \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
MV invitées
Cet exemple crée une configuration de maintenance nommée myConfig avec, pour étendue, les machines invitées (machines virtuelles et serveurs avec Arc), avec une fenêtre planifiée de 2 heures tous les 20 jours. Pour en savoir plus sur cette configuration de maintenance sur les machines virtuelles invitées, consultez Invité.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
Affecter la configuration
Utilisez az maintenance assignment create
pour affecter la configuration à votre machine.
Machine virtuelle isolée
Appliquez la configuration à une machine virtuelle hôte isolée à l’aide de l’ID de la configuration. Spécifiez --resource-type virtualMachines
et fournissez le nom de la machine virtuelle pour --resource-name
, le groupe de ressources de la machine virtuelle pour --resource-group
et l’emplacement de la machine virtuelle pour --location
.
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Hôte dédié
Pour appliquer une configuration à un hôte dédié, vous devez inclure --resource-type hosts
, --resource-parent-name
avec le nom du groupe hôte et --resource-parent-type hostGroups
.
Le paramètre --resource-id
est l’ID de l’hôte. Vous pouvez utiliser az-vm-host-get-instance-view pour obtenir l’ID de votre hôte dédié.
az maintenance assignment create \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
--location eastus \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Virtual Machine Scale Sets
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
MV invitées
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Vérifier la configuration
Vous pouvez vérifier que la configuration a été appliquée correctement ou vérifier quelle configuration est actuellement appliquée à l’aide de az maintenance assignment list
.
Machine virtuelle isolée
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Hôte dédié
az maintenance assignment list \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--query "[].{ResourceGroup:resourceGroup,configName:name}" \
--output table
Virtual Machine Scale Sets
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
MV invitées
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Rechercher les mises à jour en attente
Utilisez az maintenance update list
pour voir s’il existe des mises à jour en attente. Mettez à jour --subscription comme l’ID de l’abonnement contenant la machine virtuelle.
S’il n’y a aucune mise à jour, la commande retourne un message d’erreur qui contient le texte suivant : Resource not found...StatusCode: 404
.
S’il existe des mises à jour, une seule est retournée, même si plusieurs mises à jour sont en attente. Les données de cette mise à jour seront retournées dans un objet :
[
{
"impactDurationInSec": 9,
"impactType": "Freeze",
"maintenanceScope": "Host",
"notBefore": "2020-03-03T07:23:04.905538+00:00",
"resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
"status": "Pending"
}
]
Machine virtuelle isolée
Recherchez les mises à jour en attente pour une machine virtuelle isolée. Dans cet exemple, la sortie est mise en forme en tant que tableau pour faciliter la lecture.
az maintenance update list \
--subscription {subscription ID} \
--resourcegroup myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Hôte dédié
Pour rechercher les mises à jour en attente pour un hôte dédié. Dans cet exemple, la sortie est mise en forme en tant que tableau pour faciliter la lecture. Remplacez les valeurs des ressources par les vôtres.
az maintenance update list \
--subscription {subscription ID} \
--resourcegroup myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parentname myHostGroup \
--resource-parent-type hostGroups \
--output table
Appliquer des mises à jour
Utilisez az maintenance apply update
pour appliquer les mises à jour en attente. En cas de réussite, cette commande renverra un fichier JSON contenant les détails de la mise à jour. L’application des appels de mise à jour peut prendre jusqu’à 2 heures.
Machine virtuelle isolée
Créez une demande d’application des mises à jour à une machine virtuelle isolée.
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Hôte dédié
Appliquez les mises à jour à un hôte dédié.
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Virtual Machine Scale Sets
Appliquez la mise à jour à un groupe identique
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Vérifier l’état de l’application des mises à jour
Vous pouvez vérifier la progression des mises à jour à l’aide de az maintenance applyupdate get
.
Vous pouvez utiliser default
comme nom de mise à jour pour afficher les résultats de la dernière mise à jour ou remplacer myUpdateName
par le nom de la mise à jour qui a été retournée lors de l’exécution de az maintenance applyupdate create
.
Status : Completed
ResourceId : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name : default
Type : Microsoft.Maintenance/applyUpdates
LastUpdateTime correspond à l’heure à laquelle la mise à jour est terminée, soit à votre initiative, soit à celle de la plateforme au cas où la fenêtre d’automaintenance n’aurait pas été utilisée. Si aucune mise à jour n’a jamais été appliquée par le biais du contrôle de maintenance, la valeur par défaut s’affiche.
Machine virtuelle isolée
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Hôte dédié
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Virtual Machine Scale Sets
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Supprimer une configuration de maintenance
Utilisez az maintenance configuration delete
pour supprimer une configuration de maintenance. La suppression de la configuration supprime le contrôle de maintenance des ressources associées.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Étapes suivantes
Pour plus d’informations, consultez Maintenance et mises à jour.