Azure Virtual Machines とスケール セットのゲストの自動パッチ適用
適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット
Azure Virtual Machines (VM) とスケール セット (VMSS) でゲストの自動パッチ適用を有効にすると、安全かつ自動的に仮想マシンにパッチを適用することで、更新プログラムの管理が容易になり、セキュリティ コンプライアンスを維持し、さらに VM の影響範囲を制限することができます。
VM ゲストの自動パッチ適用には、次の特徴があります。
- [重大] または [セキュリティ] に分類されているパッチは、自動的にダウンロードされ、VM に適用されます。
- パッチは、IaaS VM のピーク外の時間帯 (VM のタイムゾーン) に適用されます。
- VMSS Flex の場合、パッチはすべての時間に適用されます。
- Azure は、パッチ オーケストレーションを管理し、可用性優先の原則に従います。
- プラットフォーム正常性シグナルによって特定された仮想マシンの正常性は、パッチ適用の失敗を検出するために監視されます。
- アプリケーションの正常性はアプリケーション正常性拡張機能を使って監視できます。
- すべての VM サイズで機能します。
VM ゲストの自動パッチ適用はどのように機能しますか?
VM で VM ゲストの自動パッチ適用が有効になっている場合、使用可能な [重大] および [セキュリティ] パッチが自動的にダウンロードされて VM に適用されます。 このプロセスは、毎月新しいパッチがリリースされるたびに自動的に開始されます。 パッチの評価とインストールは自動的に実行され、このプロセスでは必要に応じて VM の再起動が行われます。 VM モデルの rebootSetting パラメータは、メンテナンス構成など、別のシステムの設定よりも優先されます。
VM は、その VM に適用可能なパッチを確認するため、数日ごと、または 30 日以内に複数回、定期的に評価されます。 パッチは、VM のピーク外の時間帯であればいつでも VM にインストールされる可能性があります。 この自動評価により、不足しているパッチができるだけ早く検出されるようになります。
パッチは、可用性優先のオーケストレーションに従って、毎月のパッチ リリースから 30 日以内にインストールされます。 パッチは、VM のタイムゾーンに応じて、VM のピーク外の時間帯にのみインストールされます。 パッチが自動的にインストールされるようにするには、ピーク外の時間帯に VM が実行されている必要があります。 定期的な評価の際に VM の電源がオフになっている場合、VM の電源がオンになっている時に行われる次回の定期的な評価 (通常は数日以内) の際にプラットフォームが自動的に評価され、(必要に応じて) パッチが自動的に適用されます。
定義の更新プログラムや [重要] または [セキュリティ] として分類されていない他のパッチは、VM ゲストの自動パッチ適用によってインストールされません。 他のパッチの分類が適用されたパッチをインストールしたり、独自のカスタム メンテナンス期間内でパッチをインストールするようスケジュールしたりするには、Update Management を使用します。
フレキシブル オーケストレーション モードで、単一インスタンスの VM または Virtual Machine Scale Sets に対して自動ゲスト パッチ適用を有効にすると、Azure プラットフォームでフリートを段階的に更新できます。 段階的なデプロイは、Azure の安全なデプロイ プラクティスに従っており、最新の更新プログラムで問題が特定された場合でも影響を受ける範囲を狭めることができます。 稼働状況の監視は、単一インスタンスの VM に推奨され、フレキシブル オーケストレーション モードの Virtual Machine Scale Sets で更新に関する問題を検出するために必要です。
可用性優先の更新
Azure では、自動ゲスト パッチ適用が有効になっている VM のすべてのパブリック クラウドとプライベート クラウドでパッチ インストール プロセスが調整されます。 このオーケストレーションは、Azure で提供されるさまざまなレベルの可用性全体で、可用性優先の原則に従います。
更新中の仮想マシンのグループについては、Azure プラットフォームで更新がオーケストレーションされます。
複数のリージョン間:
- 毎月の更新プログラムは、グローバル展開の失敗を防ぐために、Azure 全体で段階的にオーケストレーションされます。
- 1 つのフェーズには 1 つ以上のリージョンを含めることができ、更新は、フェーズ内の対象となる VM が正常に更新された場合にのみ、次のフェーズに移動します。
- geo ペア リージョンは同時に更新されず、同じリージョンのフェーズに置くことはできません。
- 更新の成功は、更新後に VM の正常性を追跡することによって測定できます。 VM の正常性は、VM のプラットフォーム正常性インジケーターによって追跡されます。
リージョン内:
- 異なる Availability Zones にある VM が、同じ更新で同時に更新されることはありません。
- 可用性セットの一部ではない VM は、サブスクリプション内のすべての VM が同時に更新されることを回避するために、ベスト エフォート方式でバッチ処理されます。
可用性セット内:
- 共通の可用性セット内のすべての VM が同時に更新されることはありません。
- 共通の可用性セット内の VM は更新ドメインの境界内で更新され、複数の更新ドメインにまたがる VM は同時に更新されません。
- 更新ドメイン内において、一度に更新される可用性セット内の VM の割合は 20% 以下です。 VM の数が 10 個未満の可用性セットの場合、VM は更新ドメイン内で一度に 1 つずつ更新されます。
複数のリージョン全体、リージョン内、または可用性セット内で、同時にパッチ適用される VM の数を制限すると、特定の VM セットに対する障害のあるパッチの影響が制限されます。 稼働状況の監視では、潜在的な問題はワークロード全体に影響を与える前にフラグが設定されます。
特定の VM のパッチのインストール日は、月ごとに異なる可能性があります。これは、特定の VM が毎月のパッチ適用サイクルの異なるバッチで選択される可能性があるためです。
インストールされるパッチ
インストールされるパッチは、VM のロールアウト ステージによって異なります。 毎月、新しいグローバル ロールアウトが開始され、個々の VM に対して評価されたすべてのセキュリティおよび重大パッチが、その VM 用にインストールされます。 ロールアウトは、すべての Azure リージョンにわたってバッチで調整されます。
インストールされるパッチの正確なセットは、OS の種類や評価のタイミングなどの VM の構成によって異なります。 パッチ オーケストレーションが異なるタイミングで異なるリージョンに達すると、程度の差はあってもパッチが利用可能な場合、異なるリージョンにある 2 つの同一の VM に異なるパッチがインストールされる可能性があります。 頻度は低くなりますが、同じように、同じリージョン内の VM であっても、(可用性ゾーンや可用性セットのバッチが異なるために) 評価されるタイミングが異なると、異なるパッチを適用される可能性があります。
VM ゲストの自動パッチ適用でパッチのソースは構成されないため、2 つの類似した VM に異なるパッチ ソースが構成されていると (パブリック リポジトリとプライベート リポジトリなど)、やはりインストールされるパッチの正確なセットが異なることがあります。
一定の周期でパッチがリリースされる OS の種類の場合、OS のパブリック リポジトリに構成されている VM は、ある月の異なるロールアウト フェーズで同じパッチのセットを受け取ることが予想されます。 たとえば、パブリック Windows Update リポジトリに構成されている Windows VM などです。
毎月新しいロールアウトがトリガーされるので、オフピーク時間帯に VM の電源がオンになっている場合、VM は毎月少なくとも 1 つのパッチ ロールアウトを受け取ります。 このプロセスにより、VM には、使用可能な最新のセキュリティおよび重大パッチが毎月適用されます。 インストールされるパッチのセットの整合性を保証するには、独自のプライベート リポジトリにあるパッチを評価してダウンロードするように、VM を構成することができます。
サポート対象の OS イメージ
重要
VM ゲストの自動パッチ適用、オンデマンドのパッチ評価、およびオンデマンドのパッチのインストールは、次のサポート対象の OS イメージ一覧に記載された発行元、製品、sku の正確な組み合わせのイメージから作成された VM 上でのみサポートされます。 カスタム イメージまたはその他の発行元、製品、sku の組み合わせはサポートされていません。 さらに多くのイメージが定期的に追加されます。 一覧に SKU が表示されない場合 イメージ サポート リクエストを提出してサポートを要求します。
Publisher | 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 |
正規 | 0001-com-ubuntu-server-focal | 20_04-lts |
正規 | 0001-com-ubuntu-server-focal | 20_04-lts-gen2 |
正規 | 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_8、8-lvm、8-lvm-gen2 |
Redhat | RHEL | 9_0、9_1、9-lvm、9-lvm-gen2 |
Redhat | RHEL-RAW | 8-raw、8-raw-gen2 |
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 でこのモードを使用するには、プロパティ
osProfile.windowsConfiguration.enableAutomaticUpdates=true
を設定し、VM テンプレートでプロパティosProfile.windowsConfiguration.patchSettings.patchMode=AutomaticByOS
を設定します。 - このモードを有効にすると、レジストリ キー SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate が 0 に設定されます
Manual:
- このモードは、Windows VM についてのみサポートされます。
- このモードでは、Windows 仮想マシンの自動更新が無効になります。 CLI または PowerShell を使用して VM をデプロイする場合、
--enable-auto-updates
をfalse
に設定すると、patchMode
もmanual
に設定され、自動更新が無効になります。 - このモードは、可用性優先のパッチ適用をサポートしていません。
- カスタム パッチ適用ソリューションを使用する場合は、このモードに設定する必要があります。
- Windows VM でこのモードを使用するには、プロパティ
osProfile.windowsConfiguration.enableAutomaticUpdates=false
を設定し、VM テンプレートでプロパティ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
を設定します。
Note
Windows VM の場合、プロパティ osProfile.windowsConfiguration.enableAutomaticUpdates
は VM の最初の作成時にのみ設定できます。 これは、特定のパッチ モードの切り替えに影響します。 AutomaticByPlatform モードと Manual モードの切り替えは、osProfile.windowsConfiguration.enableAutomaticUpdates=false
である VM でサポートされています。 同様に、AutomaticByPlatform モードと AutomaticByOS モードの切り替えは、osProfile.windowsConfiguration.enableAutomaticUpdates=true
である VM でサポートされています。 AutomaticByOS モードと Manual モードの切り替えはサポートされていません。
Azure では、パッチに Azure オーケストレーションが有効になっていない場合でも、VM の評価モードを有効にすることをお勧めしています。 これにより、保留中の更新プログラムがないか 24 時間ごとに VM の評価が行われ、詳細が Azure Resource Graph に保存されるようになります。 プラットフォームでは、マシンの目的のパッチ構成状態が適用または確認されたときに、統合結果を報告するための評価が実行されます。 これは、"プラットフォーム" によって開始された評価として報告されます。
VM ゲストの自動パッチ適用を有効にするための要件
- 仮想マシンには、Windows または Linux 用の Azure VM エージェントがインストールされている必要があります。
- Linux VM の場合、Azure Linux エージェントはバージョン 2.2.53.1 以降である必要があります。 現在のバージョンが必要なバージョンより古い場合は、Linux エージェントを更新します。
- Windows VM の場合、Windows Update サービスが仮想マシンで実行されている必要があります。
- 仮想マシンから構成されている更新エンドポイントにアクセスできる必要があります。 Linux 用のプライベート リポジトリまたは Windows VM 用の Windows Server Update Services (WSUS) を使用するように仮想マシンが構成されている場合は、関連する更新エンドポイントにアクセスできる必要があります。
- オンデマンド評価やオンデマンドのパッチ適用などのすべての機能にアクセスするために、Compute API バージョン 2021-03-01 以降を使用してください。
- カスタム イメージは現時点ではサポートされていません。
- VMSS フレキシブル オーケストレーションには、アプリケーション正常性拡張機能のインストールが必要です。 これは、IaaS VM の場合は省略可能です。
VM ゲストの自動パッチ適用を有効化する
VM ゲストの自動パッチ適用は、サポート対象のプラットフォーム イメージから作成された任意の Windows または Linux 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"
}
}
}
}
}
Windows VM を作成するときの Azure PowerShell
VM の作成時に VM ゲスト自動パッチ適用を有効にするには、Set-AzVMOperatingSystem コマンドレットを使います。
Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate -PatchMode "AutomaticByPlatform"
Windows VM を更新するときの Azure PowerShell
Set-AzVMOperatingSystem と Update-AzVM のコマンドレットを使い、既存の VM で自動 VM ゲスト パッチ適用を有効にします。
$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
Set-AzVMOperatingSystem -VM $VirtualMachine -PatchMode "AutomaticByPlatform"
Update-AzVM -VM $VirtualMachine
Windows VM 用の Azure CLI
新しい VM を作成するときに VM ゲストの自動パッチ適用を有効にするには、az vm create を使用します。 次の例では、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 portal
Azure portal を使用した VM の作成時に、パッチ オーケストレーションのモードを Linux と Windows 両方の [管理] タブで設定できます。
有効化と評価
Note
VM で VM のゲストの自動更新を有効にするには 3 時間以上かかることがあります。これは、有効化が VM のピーク外の時間帯に行われるためです。 評価とパッチのインストールは、ピーク外の時間帯にのみ行われるため、パッチを適用するには、ピーク外の時間帯でも VM が実行されている必要があります。
VM で VM ゲストの自動パッチ適用が有効になっていると、Linux VM には種類 Microsoft.CPlat.Core.LinuxPatchExtension
の VM 拡張機能が、また Windows VM には種類 Microsoft.CPlat.Core.WindowsPatchExtension
の VM 拡張機能が、それぞれインストールされます。 この拡張機能は、VM ゲストの自動パッチ適用プロセスの一環として Azure プラットフォームによって管理されているため、手動でインストールまたは更新する必要はありません。
VM で VM のゲストの自動更新を有効にするには 3 時間以上かかることがあります。これは、有効化が VM のピーク外の時間帯に行われるためです。 この拡張機能も、VM のピーク外の時間帯にインストールおよび更新されます。 有効化が完了する前に VM のピーク外の時間が終了した場合、有効化プロセスは、次に利用可能なピーク外の時間帯に再開されます。
プラットフォームでは、パッチ適用構成を定期的に呼び出して、フレキシブル オーケストレーションの IaaS VM またはスケール セットでモデルの変更が検出された場合に整合性を確保します。 評価モード、パッチ モード、拡張機能の更新など (ただし、これらに限定されない) の特定のモデルの変更により、パッチ適用の構成呼び出しがトリガーされる場合があります。
自動更新はほとんどのシナリオで無効になっており、パッチのインストールは今後の拡張機能によって行われます。 次の条件が適用されます。
- Windows VM でこれまで AutomaticByOS パッチ モードにより Automatic Windows Update がオンになっていた場合、拡張機能がインストールされると VM の Automatic 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
-Status
パラメーターを指定して Get-AzVM コマンドレットを使用して、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 の最後のパッチのインストールに関する詳細が提供されます。
VM の評価結果は、availablePatchSummary
セクションで確認できます。 評価は、VM ゲストの自動パッチ適用が有効になっている VM に対して定期的に実行されます。 評価後に使用可能なパッチの数は criticalAndSecurityPatchCount
と otherPatchCount
の結果として表示されます。 VM ゲストの自動パッチ適用により、 [重大] および [セキュリティ] パッチの分類で評価されたすべてのパッチがインストールされます。 その他の評価済みのパッチはスキップされます。
VM のパッチのインストール結果は、lastPatchInstallationSummary
セクションで確認できます。 このセクションでは、インストール済み、保留中、失敗、またはスキップされたパッチの数などを含む、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 のインスタンス ビューに更新されます。
Note
オンデマンドのパッチ評価では、パッチ インストールは自動的にトリガーされません。 VM ゲストの自動パッチ適用を有効にすると、評価された適用可能な VM のパッチは、このドキュメントで既に説明した可用性優先のパッチ適用プロセスに従って、VM のピーク外の時間帯にインストールされます。
REST API
Assess Patches API を使用して、仮想マシンで利用可能なパッチを評価します。
POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine/assessPatches?api-version=2020-12-01`
Azure PowerShell
Invoke-AzVmPatchAssessment コマンドレットを使用して、仮想マシンで利用可能なパッチを評価します。
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 のインスタンス ビューで更新されます。
オンデマンドのパッチ インストールを使用して、1 つ以上のパッチ分類のすべてのパッチをインストールできます。 また、Linux 用の特定のパッケージまたは Windows 用の特定の KB ID を含めるか、除外するかを選択することもできます。 オンデマンドのパッチ インストールをトリガーする場合は、少なくとも 1 つのパッチ分類または少なくとも 1 つのパッチ (Linux の場合はパッケージ、Windows の場合は KB ID) をインクルード リストに指定してください。
REST API
Install Patches API を使用して、仮想マシンにパッチをインストールします。
POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine/installPatches?api-version=2020-12-01`
Linux での要求本文の例:
{
"maximumDuration": "PT1H",
"Setting": "IfRequired",
"linuxParameters": {
"classificationsToInclude": [
"Critical",
"Security"
]
}
}
Windows での要求本文の例:
{
"maximumDuration": "PT1H",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Critical",
"Security"
]
}
}
Azure PowerShell
Invoke-AzVMInstallPatch コマンドレットを使用して、仮想マシンにパッチをインストールします。
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 ID のパッチを含め、および除外し、再起動を必要とするパッチを除外する例:
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 ゲスト パッチ サービス (AzGPS) により、お客様と影響を受けるパートナーに対して必要な手順が通知されます。 AzGPS により、サポート リストからイメージが削除されます (EOL の日付以降)。 Azure でサポートが終了したイメージを使用している VM は、その日付を過ぎても動作し続ける場合があります。 ただし、これらの VM で発生した問題はサポートの対象ではありません。