Azure VM 的自動 VM 客體修補

警告

本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

適用於:✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集

為您的 Azure VM 啟用自動 VM 客體修補,透過安全且自動的虛擬機器修補流程來協助簡化更新管理,以維持安全合規性,同時限制 VM 的影響半徑。

自動 VM 客體修補具有下列特性:

  • 分類為 [重大] 或 [安全性] 的修補檔會自動下載並套用至 VM 上。
  • 修補檔會在 VM 時區的 IaaS VM 離峰期間套用。
  • 修補檔會在 VMSS Flex 的所有時數期間套用。
  • 修補檔協調流程由 Azure 管理,而修補檔會遵循可用性優先的原則來套用。
  • 監視透過平台健康情況訊號確定的虛擬機器健康情況,以偵測修補失敗。
  • 您可透過應用程式健康情況擴充功能監視應用程式健康情況。
  • 適用於所有 VM 大小。

自動 VM 客體修補如何運作?

如果 VM 上已啟用了自動 VM 客體修補,則會在 VM 上下載並自動套用可用的 [重大] 和 [安全性] 修補檔。 此流程會在每個月發行新的修補檔時自動啟動。 修補檔的評量和安裝都是自動的,而且此流程包含了視需要重新開機 VM。

VM 會每隔幾天定期評估一次,並在 30 天期間內多次進行評估,以判斷是否有適用於該 VM 的修補檔。 修補檔可以在任意日期的 VM 離峰時段安裝。 此自動評量可確保在盡可能地盡早探索到任何遺漏的修補檔。

修補檔會在每月修補檔發布的 30 天內安裝,依據如下所述的可用性優先協調流程進行。 修補檔只會在 VM 的離峰期間安裝,具體時間視 VM 的時區而定。 VM 必須在離峰期間保持運行,才能自動安裝修補檔。 如果 VM 在定期評估期間時關閉了電源,在下一個定期評估期間 (通常會在幾天內) 當 VM 接上電源時,VM 將會進行自動評估,並自動安裝適用的修補檔。

定義更新和其他未分類為 [重大] 或 [安全性] 的修補檔,將不會透過自動 VM 客體修補進行安裝。 若要使用其他修補檔分類來安裝修補檔,或在您自訂的維護期間內排程修補檔安裝,您可以使用更新管理

針對 IaaS VM,客戶可選擇將 VM 設定為啟用自動 VM 客體修補。 這將限制 VM 取得更新修補檔的影響半徑,並執行 VM 的協調更新。 此服務也提供狀況監控來偵測任何更新的問題。

可用性優先更新

針對已啟用自動 VM 客體修補的所有 VM,Azure 會全域協調修補檔安裝流程。 此協調流程會遵循 Azure 所提供,針對不同可用性層級的可用性優先原則。

針對進行更新的虛擬機器群組,Azure 平臺會協調更新:

跨區域:

  • 每月更新會以階段性方式跨 Azure 進行協調,以防止全域部署失敗。
  • 一個階段可能會有一個或多個區域,而更新僅會在符合資格的 VM 成功更新後,才會進到下一個階段。
  • 異地配對區域不會同時更新,亦無法處於同一個區域階段。
  • 更新的成功會以追蹤 VM 更新後的健全狀況來測量。 VM 健康情況會透過 VM 的平臺健康情況指標來追蹤。

區域內:

  • 不同可用性區域的 VM 不會以相同更新同時進行更新。
  • 不屬於可用性設定組的 VM 會以最佳方式批次處理,以避免訂閱中所有的 VM 進行並行更新。

可用性設定組內:

  • 在可用性設定組中的所有 VM 不會同時更新。
  • 通用可用性設定組中的 VM 會在更新網域界限內更新,且跨多個更新網域的 VM 不會同時更新。

縮小跨區域、在區域或可用性設定組內修補 VM 的範圍,限制修補檔的影響半徑。 透過狀況監控,任何潛在問題均被標記,不會影響整體機群。

任一 VM 的修補檔安裝日期可能會隨著月而異,因為在每月修補週期之間,可能於不同的批次中挑選到特定的 VM。

安裝了哪些修補檔?

安裝的修補檔取決於 VM 的推出階段。 每個月都會開始一次新的全域推出,其中會針對該 VM 安裝針對個別 VM 評估的所有安全性和重大修補檔。 首度發行會跨批次的在所有 Azure 區域上協調 (如上述可用性優先修補一節所述)。

要安裝的確切修補檔案集會根據 VM 組態而有所不同,其中包括了 OS 類型和評量時間。 如果修補檔協調流程在不同的時間到達不同的區域時,則可能會有兩個在不同地區的相同 VM 安裝上了不同的修補檔。 相似但較少發生的狀況還有,位於相同區域但在不同時間存取的 VM (因為可用性區域或可用性設定組的不同),可能也會安裝到不同的修補檔。

由於自動 VM 客體修補並未設定修補檔來源,因此設定為不同修補檔來源的兩個相似 VM,例如公用存放庫與私人存放庫,其安裝的修補檔案集可能也會有所差異。

針對以固定頻率發行修補檔的 OS 類型,設定為 OS 公用存放庫的 VM 可能會在一個月的不同推出階段時收到相同的修補檔案集。 例如,設定為公用 Windows Update 存放庫的 Windows VM。

在每個月觸發新的推出時,如果 VM 在離峰期間開啟電源,則每個月至少會收到一個修補檔推出。 此流程可確保 VM 每月能以最新的可用安全性和重大修補檔進行修補。 若要確保已安裝修補檔案集的一致性,您可以將 VM 設定為從您自己的私人存放庫評估及下載修補檔。

支援的作業系統映像

重要

只有以下支援的 OS 映像清單所列出的確切組合發行者、供應項目和 SKU 組合中產生的映像所建立的 VM,才支援自動 VM 客體修補、隨選修補檔評量和隨選修補檔安裝。 不支援自訂映像或任何其他發行者、供應專案、SKU 組合。 我們會定期新增更多映像。 在清單中看不到 SKU? 提出映像支援要求,以要求支援。

發行者 OS 供應項目 Sku
Canonical UbuntuServer 16.04-LTS
Canonical UbuntuServer 16.04.0-LTS
Canonical UbuntuServer 18.04-LTS
Canonical UbuntuServer 18.04-LTS-gen2
Canonical 0001-com-ubuntu-pro-bionic pro-18_04-lts
Canonical 0001-com-ubuntu-server-focal 20_04-lts
Canonical 0001-com-ubuntu-server-focal 20_04-lts-gen2
Canonical 0001-com-ubuntu-pro-focal pro-20_04-lts
Canonical 0001-com-ubuntu-pro-focal pro-20_04-lts-gen2
Canonical 0001-com-ubuntu-server-jammy 22_04-lts
Canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2
microsoftcblmariner cbl-mariner cbl-mariner-1
microsoftcblmariner cbl-mariner 1-gen2
microsoftcblmariner cbl-mariner cbl-mariner-2
microsoftcblmariner cbl-mariner cbl-mariner-2-gen2
Redhat RHEL 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7_9, 7-RAW, 7-LVM
Redhat RHEL 8、8.1、81gen2、8.2、82gen2、8_3、83-gen2、8_4、84-gen2、8_5、85-gen2、8_6、86-gen2、8_7、8-lvm、8-lvm-gen2
Redhat RHEL 9_0、9_1、9-lvm、9-lvm-gen2
Redhat RHEL-RAW 8-raw、8-raw-gen2
OpenLogic CentOS 7.2、7.3、7.4、7.5、7.6、7.7、7_8、7_9、7_9-gen2
OpenLogic centos-lvm 7-lvm
OpenLogic CentOS 8.0、8_1、8_2、8_3、8_4、8_5
OpenLogic centos-lvm 8-lvm
SUSE sles-12-sp5 gen1, gen2
SUSE sles-15-sp2 gen1, gen2
MicrosoftWindowsServer WindowsServer 2008-R2-SP1
MicrosoftWindowsServer WindowsServer 2012-R2-Datacenter
MicrosoftWindowsServer WindowsServer 2012-R2-Datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2012-R2-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2012-R2-Datacenter-smalldisk-g2
MicrosoftWindowsServer WindowsServer 2016-Datacenter
MicrosoftWindowsServer WindowsServer 2016-datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2016-Datacenter-Server-Core
MicrosoftWindowsServer WindowsServer 2016-datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2016-datacenter-with-containers
MicrosoftWindowsServer WindowsServer 2019-Datacenter
MicrosoftWindowsServer WindowsServer 2019-Datacenter-Core
MicrosoftWindowsServer WindowsServer 2019-datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2019-datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2019-datacenter-smalldisk-g2
MicrosoftWindowsServer WindowsServer 2019-datacenter-with-containers
MicrosoftWindowsServer WindowsServer 2022-datacenter
MicrosoftWindowsServer WindowsServer 2022-datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2022-datacenter-smalldisk-g2
MicrosoftWindowsServer WindowsServer 2022-datacenter-g2
MicrosoftWindowsServer WindowsServer 2022-datacenter-core
MicrosoftWindowsServer WindowsServer 2022-datacenter-core-g2
MicrosoftWindowsServer WindowsServer 2022-datacenter-azure-edition
MicrosoftWindowsServer WindowsServer 2022-datacenter-azure-edition-core
MicrosoftWindowsServer WindowsServer 2022-datacenter-azure-edition-core-smalldisk
MicrosoftWindowsServer WindowsServer 2022-datacenter-azure-edition-smalldisk

修補檔協調流程模式

Azure 上的 VM 現在支援下列修補檔協調流程模式:

AutomaticByPlatform (平臺自動,由 Azure 協調的修補):

  • Linux 和 Windows VM 二者都支援此模式。
  • 此模式會啟用虛擬機器的自動 VM 客體修補,而後續的修補檔安裝會由 Azure 協調。
  • 在安裝流程期間,此模式將評估 VM 是否有可用的修補檔,並將詳細資料儲存在 Azure Resource Graph 中。 (預覽版)。
  • 可用性優先修補需要此模式。
  • 只有使用上述支援的 OS 平台映像所建立的 VM,才會支援此模式。
  • 針對 Windows VM,設定此模式也會停用 Windows 虛擬機器上的原生自動更新,以避免重複。
  • 若要在 Linux VM 上使用這個模式,請在 VM 範本中設定 osProfile.linuxConfiguration.patchSettings.patchMode=AutomaticByPlatform 屬性。
  • 若要在 Windows VM 上使用這個模式,請在 VM 範本中設定 osProfile.windowsConfiguration.patchSettings.patchMode=AutomaticByPlatform 屬性。
  • 啟用此模式會將登錄機碼 SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate 設定為 1

AutomaticByOS (作業系統自動):

  • 只有 Windows VM 才支援此模式。
  • 此模式會啟用 Windows 虛擬機器上的自動更新,而修補檔會透過自動更新安裝在 VM 上。
  • 此模式不支援可用性優先修補。
  • 如果未為 Windows VM 指定其他修補檔模式,預設會設定此模式。
  • 若要在 Windows VM 上使用這個模式,請在 VM 範本中設定 osProfile.windowsConfiguration.enableAutomaticUpdates=true 屬性,接著設定 osProfile.windowsConfiguration.patchSettings.patchMode=AutomaticByOS 屬性。
  • 啟用此模式會將登錄機碼 SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate 設定為 0

手動

  • 只有 Windows VM 才支援此模式。
  • 此模式會停用 Windows 虛擬機器上的自動更新。 在使用 CLI 或 PowerShell 部署 VM 時,將 --enable-auto-updates 設定為 false 時,也會同時將 patchMode 設定為 manual,並停用自動更新。
  • 此模式不支援可用性優先修補。
  • 使用自訂修補解決方案時,請設定此模式。
  • 若要在 Windows VM 上使用這個模式,請在 VM 範本中設定 osProfile.windowsConfiguration.enableAutomaticUpdates=false 屬性,接著設定 osProfile.windowsConfiguration.patchSettings.patchMode=Manual 屬性。
  • 啟用此模式會將登錄機碼 SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate 設定為 1

ImageDefault (映像預設):

  • 只有 Linux VM 才支援此模式。
  • 此模式不支援可用性優先修補。
  • 在用來建立 VM 的影像中,此模式會接受預設的修補檔設定。
  • 如果未為 Linux VM 指定其他修補檔模式,預設會設定此模式。
  • 若要在 Linux VM 上使用這個模式,請在 VM 範本中設定 osProfile.linuxConfiguration.patchSettings.patchMode=ImageDefault 屬性。

注意

針對 Windows VM,只有在第一次建立 VM 時,才能設定 屬性 osProfile.windowsConfiguration.enableAutomaticUpdates。 這會影響某些修補檔模式轉換。 具有 osProfile.windowsConfiguration.enableAutomaticUpdates=false 的 VM,支援在 AutomaticByPlatform 和 Manual 模式之間切換。 同樣地,在具有 osProfile.windowsConfiguration.enableAutomaticUpdates=true 的 VM 上,則支援在 AutomaticByPlatform (平臺自動) 與AutomaticByOS (作業系統自動) 模式之間的切換。 不支援在 AutomaticByOS 和 Manual 模式之間切換。 Azure 建議在 VM 上啟用評估模式,即使 Azure 協調流程未啟用修補也一樣。 這可讓平台每隔 24 小時評估 VM 是否有擱置的更新,並將詳細資料儲存在 Azure Resource Graph 中。 (預覽版)。 平台會在套用或確認機器所需的修補檔組態狀態時,執行評量以報告合併結果。 這將以「平台」起始的評估報告。

啟用自動 VM 客體修補的需求

  • 虛擬機器必須安裝適用於 WindowsLinux 的 Azure VM 代理程式。
  • 針對 Linux VM,Azure Linux 代理程式必須是 2.2.53.1 版或更新的版本。 如果目前的版本低於所需的版本,請更新 Linux 代理程式
  • 對於 Windows VM,Windows Update 服務必須在虛擬機器上執行。
  • 虛擬機器必須能夠存取已設定的更新端點。 如果您的虛擬機器設定為針對使用私人存放庫 (系統為 Linux),或 Windows Server Update Services (WSUS,系統為 Windows),則相關的更新端點必須為可供存取的狀態。
  • 請使用 Compute API 2021-03-01 版或更新版本來取用所有功能,包括隨選評定和隨選修補。
  • 目前不支援自訂映像。
  • VMSS 彈性協調流程需要安裝應用程式健康情況擴充功能。 此動作對 IaaS VM 為選擇性。

啟動自動 VM 客體修補

您可以從支援的平臺映射所建立的任何 Windows 或 Linux VM 上啟用自動 VM 客體修補。

適用於 Linux VM 的 REST API

下列範例將說明如何啟用自動 VM 客體修補:

PUT on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine?api-version=2020-12-01`
{
  "location": "<location>",
  "properties": {
    "osProfile": {
      "linuxConfiguration": {
        "provisionVMAgent": true,
        "patchSettings": {
          "patchMode": "AutomaticByPlatform"
        }
      }
    }
  }
}

適用於 Windows VM 的 REST API

下列範例將說明如何啟用自動 VM 客體修補:

PUT on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine?api-version=2020-12-01`
{
  "location": "<location>",
  "properties": {
    "osProfile": {
      "windowsConfiguration": {
        "provisionVMAgent": true,
        "enableAutomaticUpdates": true,
        "patchSettings": {
          "patchMode": "AutomaticByPlatform"
        }
      }
    }
  }
}

Azure PowerShell (建立 Windows VM 時)

使用 Set-AzVMOperatingSystem Cmdlet 以在建立 VM 時啟用自動 VM 客體修補。

Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate -PatchMode "AutomaticByPlatform"

Azure PowerShell (更新 Windows VM 時)

使用 Set-AzVMOperatingSystemUpdate-AzVM Cmdlet 以在現有 VM 上啟用自動 VM 客體修補。

$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
Set-AzVMOperatingSystem -VM $VirtualMachine -PatchMode "AutomaticByPlatform"
Update-AzVM -VM $VirtualMachine

用於 Windows VM 的 Azure CLI

使用 az vm create 以在建立新的 VM 時啟用自動 VM 客體修補。 下列範例會在名為 myResourceGroup 的資源群組中,為名為 myVM 的 VM 設定自動 VM 客體修補:

az vm create --resource-group myResourceGroup --name myVM --image Win2019Datacenter --enable-agent --enable-auto-update --patch-mode AutomaticByPlatform

若要修改現有的 VM,請使用 az vm update

az vm update --resource-group myResourceGroup --name myVM --set osProfile.windowsConfiguration.enableAutomaticUpdates=true osProfile.windowsConfiguration.patchSettings.patchMode=AutomaticByPlatform

Azure 入口網站

在使用 Azure 入口網站 建立 VM 時,不論是 Linux 或 Windows,皆可以在 [管理] 索引標籤下設定修補檔協調流程模式。

顯示用來啟用修補程式協調流程模式之 Azure 入口網站 中的 [管理] 索引標籤。

啟用和評量

注意

在 VM 上啟用自動 VM 客體更新可能需要超過三小時的時間,因為啟用會在 VM 的離峰期間才會完成。 由於評量和修補檔安裝只會在離峰期間發生,您的 VM 也必須在離峰期間持續運行,才能套用修補檔。

在 VM 啟用自動 VM 客體修補後,類型為 Microsoft.CPlat.Core.LinuxPatchExtension 的 VM 擴充功能會安裝在 Linux VM 上,而類型為 Microsoft.CPlat.Core.WindowsPatchExtension VM 擴充功能則會安裝在Windows VM 上。 此擴充功能不需要手動安裝或更新,因為此擴充功能由 Azure 平臺作為自動 VM 客體修補檔的一部分管理。

在 VM 上啟用自動 VM 客體更新可能需要超過三小時的時間,因為啟用會在 VM 的離峰期間才會完成。 此擴充功能也會在 VM 的離峰期間安裝並更新。 如果 VM 的離峰時間在啟用完成之前結束,啟用流程將會在下一個可用的離峰時間期間繼續。

請注意,平台將定期修補設定呼叫,確保在 IaaS VM 或 VMSS 彈性協調流程上偵測到模型變更時保持一致。 特定模型變更 (例如但不限於更新評估模式、修補模式和擴充功能更新) 都可能觸發修補設定呼叫。

在大部分情況下,自動更新都會停用,而修補檔安裝則會透過延伸模組進行。 適用條件如下。

  • 如果先前 Windows VM 已透過 AutomaticByOS (作業系統自動) 修補模式開啟了自動 Windows Update,則在安裝擴充功能時,VM 便會關閉自動 Windows Update。
  • 針對 Ubuntu VM,當自動 VM 客體修補完成啟用時,會自動停用預設的自動更新。
  • 針對 RHEL,則必須手動停用自動更新。 執行:
sudo systemctl stop packagekit
sudo systemctl mask packagekit

若要確認 VM 客體修補是否已經完成,以及確認修補擴充功能是否已安裝在 VM 上,您可以查看 VM 的執行個體檢視。 如果啟用程式已經完成,將會安裝擴充功能,並在 patchStatus 下提供關於 VM 的評估結果。 您可以透過多種方式來存取 VM 的執行個體檢視,如下所示。

REST API

GET on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine/instanceView?api-version=2020-12-01`

Azure PowerShell

使用 Get-AzVM Cmdlet 搭配 -Status 參數來存取 VM 的執行個體檢視。

Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM" -Status

PowerShell 目前僅提供修補檔擴充功能的相關資訊。 關於 patchStatus 的資訊將在不久後也能透過 PowerShell 提供。

Azure CLI

使用 az vm get-instance-view 來存取 VM 的執行個體檢視。

az vm get-instance-view --resource-group myResourceGroup --name myVM

瞭解 VM 的修補檔狀態

執行個體檢視回應的 patchStatus 區段提供了有關 VM 的最新評量,以及上次修補檔安裝的詳細資料。

您可以在 availablePatchSummary 區段下檢閱 VM 的評量結果。 系統會針對已啟用自動 VM 客體修補的 VM 定期進行評量。 在 criticalAndSecurityPatchCountotherPatchCount 結果下會提供在經過評量之後,找到的可用修補檔數。 自動 VM 客體修補將會安裝在 [重大] 和 [安全性] 修補檔分類下評估的所有修補檔。 任何其他經評估的修補檔則會被忽略。

您可以在 lastPatchInstallationSummary 區段下檢閱 VM 的修補檔安裝結果。 本節提供 VM 上最後一次試圖安裝修補檔的詳細資料,包括已安裝、擱置、失敗或略過的修補檔數目。 修補檔只會在 VM 的離峰時段維護期間安裝。 在下一個離峰時段維護期間,則會自動重試安裝擱置和失敗的修補檔。

停用自動 VM 客體修補

您可以藉由變更 VM 的修補檔協調流程模式來停用自動 VM 客體修補。

若要停用 Linux VM 上的自動 VM 客體修補,請將修補檔模式變更為 ImageDefault

若要在Windows VM 上啟用自動 VM 客體修補,osProfile.windowsConfiguration.enableAutomaticUpdates 屬性會決定可以在 VM 上設定哪些修補檔模式,而此屬性只能在第一次建立 VM 時設定。 這會影響某些修補檔模式轉換:

  • 針對具有 osProfile.windowsConfiguration.enableAutomaticUpdates=false 的 VM,請將修補檔模式變更為 Manual 以停用自動 VM 客體修補。
  • 針對具有 osProfile.windowsConfiguration.enableAutomaticUpdates=true 的 VM,請將修補檔模式變更為 AutomaticByOS 以停用自動 VM 客體修補。
  • 不支援在 AutomaticByOS 和 Manual 模式之間切換。

針對 API、PowerShell 和 CLI 使用範例,請使用本文前述啟用一節中的範例來設定必要的修補模式。

隨選修補檔評估

如果 VM 已啟用了自動 VM 客體修補,則會在 VM 的離峰時段對 VM 執行定期修補評估。 此流程是自動的,而且可以透過 VM 的執行個體檢視來檢閱最新的評量結果,如本文件稍早所述。 您也可以隨時觸發 VM 的隨選修補檔評估。 修補檔評量可能需要幾分鐘的時間才能完成,且 VM 執行個體檢視上會更新最新評量的狀態。

注意

隨選修補檔評估並不會自動觸發修補檔的安裝。 如果您已啟用了自動 VM 客體修補,則會在 VM 的離峰時段內安裝已經評估且適用的 VM 修補檔,並會遵循本檔文件稍早所述的可用性優先修補流程。

REST API

使用評估修補檔 API 來評估虛擬機器的可用修補檔。

POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine/assessPatches?api-version=2020-12-01`

Azure PowerShell

使用 Invoke-AzVmPatchAssessment Cmdlet 來評估虛擬機器的可用修補檔。

Invoke-AzVmPatchAssessment -ResourceGroupName "myResourceGroup" -VMName "myVM"

Azure CLI

使用 az vm assess-patches 來評估虛擬機器的可用修補檔。

az vm assess-patches --resource-group myResourceGroup --name myVM

隨選修補檔安裝

如果 VM 已啟用了自動 VM 客體修補,則會在 VM 的離峰時間期間,對 VM 執行安全性和重大修補檔的定期修補檔安裝。 此流程是自動的,而且可以透過 VM 的執行個體檢視來檢閱最新的安裝結果,如本文件稍早所述。

您也可以隨時觸發 VM 的隨選修補檔安裝。 修補檔安裝可能需要幾分鐘的時間才能完成,且 VM 執行個體檢視上會更新最新安裝的狀態。

您可以使用隨選修補檔安裝來安裝一個或多個修補檔分類的所有修補檔。 您也可以為 Linux 系統選擇包含或排除特定套件,或為 Windows 系統包含或排除特定 KB 識別碼。 觸發隨選修補檔安裝時,請確定您至少指定一個修補檔分類,或至少一個包含在內含清單內的修補檔 (在 Linux 上為套件,在 Windows 上為 KB 識別碼)。

REST API

使用 安裝修補檔 API 以在虛擬機器上安裝修補檔。

POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine/installPatches?api-version=2020-12-01`

Linux 的範例要求本文:

{
  "maximumDuration": "PT1H",
  "rebootSetting": "IfRequired",
  "linuxParameters": {
    "classificationsToInclude": [
      "Critical",
      "Security"
    ]
  }
}

Windows 的範例要求本文:

{
  "maximumDuration": "PT1H",
  "rebootSetting": "IfRequired",
  "windowsParameters": {
    "classificationsToInclude": [
      "Critical",
      "Security"
    ]
  }
}

Azure PowerShell

使用 Invoke-AzVMInstallPatch Cmdlet 以在虛擬機器上安裝修補檔。

在 Linux VM 上安裝特定套件的範例:

Invoke-AzVmInstallPatch -ResourceGroupName "myResourceGroup" -VMName "myVM" -MaximumDuration "PT90M" -RebootSetting "Always" -Linux -ClassificationToIncludeForLinux "Security" -PackageNameMaskToInclude ["package123"] -PackageNameMaskToExclude ["package567"]

在 Windows VM 上安裝所有重大修補檔的範例:

Invoke-AzVmInstallPatch -ResourceGroupName "myResourceGroup" -VMName "myVM" -MaximumDuration "PT2H" -RebootSetting "Never" -Windows   -ClassificationToIncludeForWindows Critical

在 Windows VM 上安裝所有安全性修補檔的範例,於此同時包含和排除具有特定 KB 識別碼的修補檔,以及排除任何需要重新開機的修補檔:

Invoke-AzVmInstallPatch -ResourceGroupName "myResourceGroup" -VMName "myVM" -MaximumDuration "PT90M" -RebootSetting "Always" -Windows -ClassificationToIncludeForWindows "Security" -KBNumberToInclude ["KB1234567", "KB123567"] -KBNumberToExclude ["KB1234702", "KB1234802"] -ExcludeKBsRequiringReboot

Azure CLI

使用 az vm install-patches 以在虛擬機器上安裝修補檔。

在 Linux VM 上安裝所有重大修補檔的範例:

az vm install-patches --resource-group myResourceGroup --name myVM --maximum-duration PT2H --reboot-setting IfRequired --classifications-to-include-linux Critical

在 Windows VM 上安裝所有重大和安全性修補檔的範例,同時排除任何需要重新開機的修補檔:

az vm install-patches --resource-group myResourceGroup --name myVM --maximum-duration PT2H --reboot-setting IfRequired --classifications-to-include-win Critical Security --exclude-kbs-requiring-reboot true

Canonical 映像的嚴格安全部署 (預覽)

Microsoft 和 Canonical 共同合作,讓客戶更容易掌握 Linux OS 更新,並增加 Azure 上的 Ubuntu 工作負載安全性和復原能力。 透過運用 Canonical 快照集服務,Azure 現在會將相同一組 Ubuntu 更新一致套用至整個區域中的機群。

Azure 會根據可用空間,將封裝相關更新儲存在客戶存放庫中,最多 90 天。 這可讓客戶針對落後 3 個月更新的 VM,利用嚴格安全部署來更新其機群。

已啟用自動修補的客戶不需要採取任何動作。 依預設,平台會安裝擷取快照集時間點的封裝。 如果無法安裝以快照集為基礎的更新,Azure 將在 VM 上套用最新的封裝,以確保 VM 保持安全。 時間點更新在區域中的所有 VM 上都保持一致,以確保同質性。 客戶可檢視與 Azure Resource Graph 中套用更新相關的已發佈日期資訊,以及 VM 的執行個體檢視

映像生命週期結束 (EOL)

發行者可能不支援在特定日期後產生映像的新更新。 這通常稱為映像的生命週期結束 (EOL)。 Azure 不建議在 EOL 日期之後使用映像,因為這將使服務發生安全性弱點或效能問題。 Azure 自動 VM 客體修補 (AzGPS) 會為客戶和受影響的合作夥伴傳達必要的步驟。 AzGPS 將在 EOL 日期後從支援清單移除映像。 在 Azure 上使用結束生命週期映像的 VM 可能會在該日期後繼續運作。 不過,這些 VM 遇到的任何問題都不符合支援資格。

下一步