Aracılığıyla paylaş


Azure VM'leri için güncelleştirmeleri program aracılığıyla yönetme

Bu makale, Azure'da Azure Update Manager ile Azure sanal makinenizde bir değerlendirme ve güncelleştirme dağıtımı tetikleme amacıyla Azure REST API'sini kullanma işleminde size yol gösterir. Update Manager'ı yeni kullanıyorsanız ve daha fazla bilgi edinmek istiyorsanız bkz . Azure Update Manager'a genel bakış. Arc özellikli sunucuları yönetmek için Azure REST API'sini kullanmak için bkz . Arc özellikli sunucularla program aracılığıyla çalışma.

Azure'daki Azure Update Manager, program aracılığıyla erişim için Azure REST API'sini kullanmanıza olanak tanır. Ayrıca, Azure PowerShell ve Azure CLI'dan uygun REST komutlarını kullanabilirsiniz.

Azure VM'lerini yönetmeye yönelik Azure REST API desteği, Update Manager sanal makine uzantısı aracılığıyla sağlanır.

Güncelleştirme değerlendirmesi

Azure VM'nizde bir güncelleştirme değerlendirmesi tetikleme için aşağıdaki POST isteğini belirtin:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/assessPatches?api-version=2020-12-01`

POST isteğini belirtmek için Azure CLI az vm assess-patches komutunu kullanabilirsiniz.

az vm assess-patches -g MyResourceGroup -n MyVm

Dağıtımı güncelleştirme

Azure VM'nize bir güncelleştirme dağıtımı tetikleme için aşağıdaki POST isteğini belirtin:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/installPatches?api-version=2020-12-01`

Request body

Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:

Özellik Açıklama
maximumDuration İşlemin çalıştığı en uzun süre. (4 saat) gibi PT4H ISO 8601 uyumlu bir süre dizesi olmalıdır.
rebootSetting Makinenin yeniden başlatılması gerekip gerekmediğini ve Konuk işletim sistemi güncelleştirme yüklemesinin tamamlanması gerekip gerekmediğini belirten bayrak. Kabul edilebilir değerler şunlardır: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Desteklenen bir Microsoft Windows Server işletim sistemi çalıştıran Azure VM'lerinde Konuk İşletim Sistemi güncelleştirmesi için parametre seçenekleri.
windowsParameters - classificationsToInclude Makineye yüklenecek güncelleştirmeleri seçmek için kullanılacak kategorilerin/sınıflandırmaların listesi. Kabul edilebilir değerler şunlardır: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Updates
windowsParameters - kbNumbersToInclude Yüklenmesi gereken Windows Update KB Kimliklerinin listesi. Listede sağlanan classificationsToInclude sınıflandırmalara ait tüm güncelleştirmeler yüklenir. kbNumbersToInclude , sınıflandırmalara ek olarak yüklenecek belirli KB'lerin isteğe bağlı bir listesidir. Örneğin: 1234
windowsParameters - kbNumbersToExclude Yüklenmemesi gereken Windows Update KB Kimliklerinin listesi. Bu parametre geçersiz kılar windowsParameters - classificationsToInclude, yani burada belirtilen bir Windows Update KB kimliği parametresi altında classificationsToInclude sağlanan sınıflandırmaya ait olsa bile yüklenmez.
maxPatchPublishDate Bu, belirtilen en fazla yayımlama tarihinde veya öncesinde yayımlanan düzeltme eklerini yüklemek için kullanılır.
linuxParameters Desteklenen bir Linux sunucusu işletim sistemi çalıştıran Azure VM'lerinde Konuk İşletim Sistemi güncelleştirmesi için parametre seçenekleri.
linuxParameters - classificationsToInclude Makineye yüklenecek güncelleştirmeleri seçmek için kullanılacak kategorilerin/sınıflandırmaların listesi. Kabul edilebilir değerler şunlardır: Critical, Security, Other
linuxParameters - packageNameMasksToInclude Yüklenmesi gereken Linux paketlerinin listesi. Listede sağlanan classificationsToInclude sınıflandırmalara ait tüm güncelleştirmeler yüklenir. packageNameMasksToInclude , sınıflandırmalara ek olarak yüklenecek paket adlarının isteğe bağlı bir listesidir. Örneğin: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Yüklenmemesi gereken güncelleştirmelerin listesi. Bu parametre , linuxParameters - packageNameMasksToExcludeparametresi altında classificationsToInclude sağlanan sınıflandırmaya ait olsa bile burada belirtilen bir paketin yüklenmeyeceği anlamına gelir.

POST isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.

POST on 'subscriptions/{subscriptionId}/resourceGroups/acmedemo/providers/Microsoft.Compute/virtualMachines/ameacr/installPatches?api-version=2020-12-01

{
    "maximumDuration": "PT120M",
    "rebootSetting": "IfRequired",
    "windowsParameters": {
      "classificationsToInclude": [
        "Security",
        "UpdateRollup",
        "FeaturePack",
        "ServicePack"
      ],
      "kbNumbersToInclude": [
        "11111111111",
        "22222222222222"
      ],
      "kbNumbersToExclude": [
        "333333333333",
        "55555555555"
      ]
    }
  }'

Bakım yapılandırma zamanlaması oluşturma

Bakım yapılandırma zamanlaması oluşturmak için aşağıdaki PUT isteğini belirtin:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`

Request body

Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:

Özellik Açıklama
id Kaynağın tam tanımlayıcısı
location Kaynağın konumunu alır veya ayarlar
name Kaynağın adı
properties.extensionProperties maintenanceConfiguration uzantısını alır veya ayarlarÖzellikler
properties.maintenanceScope Bakımı alır veya ayarlar Yapılandırmanın kapsamı
properties.maintenanceWindow.duration Bakım penceresinin SS:MM biçimindeki süresi. Sağlanmadıysa, sağlanan bakım kapsamına göre varsayılan değer kullanılır. Örnek: 05:00.
properties.maintenanceWindow.expirationDateTime Bakım penceresinin YYYY-AA-GG ss:mm biçiminde geçerli son kullanma tarihi. Pencere, söz konusu saat dilimine göre gün ışığından yararlanmaya sağlanan saat diliminde oluşturulur. Son kullanma tarihi gelecekteki bir tarihe ayarlanmalıdır. Sağlanmadıysa, en fazla 9999-12-31 23:59:59 tarih saatine ayarlanır.
properties.maintenanceWindow.recurEvery Bakım penceresinin yineleniş hızı. Oran günlük, haftalık veya aylık zamanlamalar olarak ifade edilebilir. Günlük zamanlamalar recurEvery: [Frequency as integer]['Day(s)'] olarak biçimlendirilir. Hiçbir sıklık sağlanmazsa, varsayılan sıklık 1'dir. Günlük zamanlama örnekleri recurEvery: Day, recurEvery: 3Days şeklindedir. Haftalık zamanlamalar recurEvery olarak biçimlendirilirEvery: [Frequency as integer]['Week(s)'] [İsteğe bağlı virgülle ayrılmış hafta içi pazartesi-pazar listesi]. Haftalık zamanlama örnekleri recurEvery: 3Weeks, recurEvery: Hafta Cumartesi, Pazar. Aylık zamanlamalar [Frequency as integer]['Month(s)'] [Ay günlerinin virgülle ayrılmış listesi] veya [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday] olarak biçimlendirilir. Aylık zamanlama örnekleri recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
properties.maintenanceWindow.startDateTime Bakım penceresinin YYYY-AA-GG ss:mm biçiminde geçerli başlangıç tarihi. Başlangıç tarihini geçerli tarihe veya gelecekteki tarihe ayarlayabilirsiniz. Pencere, sağlanan saat diliminde oluşturulur ve bu saat dilimine göre gün ışığından yararlanmaya göre ayarlanır.
properties.maintenanceWindow.timeZone Saat diliminin adı. Saat dilimlerinin listesi PowerShell'de [System.TimeZoneInfo]:GetSystemTimeZones() yürütülerek elde edilebilir. Örnek: Pasifik Standart Saati, UTC, W. Avrupa Standart Saati, Kore Standart Saati, Cen. Avustralya Standart Saati.
properties.namespace Kaynağın ad alanını alır veya ayarlar
properties.visibility Yapılandırmanın görünürlüğünü alır veya ayarlar. Varsayılan değer :'Özel'.
systemData createdBy ve modifiedBy bilgilerini içeren Azure Resource Manager meta verileri.
tags Kaynağın etiketlerini alır veya ayarlar
type Kaynağın türü

POST isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview

{
  "location": "eastus2euap",
  "properties": {
    "namespace": null,
    "extensionProperties": {
      "InGuestPatchMode" : "User"
    },
    "maintenanceScope": "InGuestPatch",
    "maintenanceWindow": {
      "startDateTime": "2021-08-21 01:18",
      "expirationDateTime": "2221-05-19 03:30",
      "duration": "01:30",
      "timeZone": "India Standard Time",
      "recurEvery": "Day"
    },
    "visibility": "Custom",
    "installPatches": {
      "rebootSetting": "IfRequired",
      "windowsParameters": {
        "classificationsToInclude": [
          "Security",
          "Critical",
          "UpdateRollup"
        ]
      },
      "linuxParameters": {
        "classificationsToInclude": [
          "Other"
        ]
      }
    }
  }
}'

VM'leri zamanlamayla ilişkilendirme

Bir VM'yi bakım yapılandırma zamanlaması ile ilişkilendirmek için aşağıdaki PUT isteğini belirtin:

PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

PUT isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview

{
  "properties": {
    "maintenanceConfigurationId": "/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
  },
  "location": "eastus2euap"
}'

Makineyi zamanlamadan kaldırma

Bir makineyi zamanlamadan kaldırmak için, makineyi azure Kaynak Grafı geçerli zamanlamayla ilişkilendirmek üzere oluşturulan makinenin tüm yapılandırma atama adlarını listelendiği gibi alın:

maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id

Yukarıdaki adı aldıktan sonra DELETE isteğini izleyerek yapılandırma atamasını silin -

DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

Sonraki adımlar