PowerShell を使用して Azure 仮想マシン スケール セットで OS イメージをアップグレードするためのメンテナンス コントロール
適用対象: ✔️ 均一スケール セット
メンテナンス コントロールを使用すると、ゲスト OS イメージの自動アップグレードを仮想マシン スケール セットに適用するタイミングを決定できます。 このトピックでは、メンテナンス コントロール用の Azure PowerShell オプションについて説明します。 メンテナンス コントロールの使用方法の詳細については、「Azure 仮想マシン スケール セットのメンテナンス コントロール」を参照してください。
PowerShell モジュールを有効にする
PowerShellGet
が最新の状態であることを確認します。
Install-Module -Name PowerShellGet -Repository PSGallery -Force
Az.Maintenance
PowerShell モジュールをインストールします。
Install-Module -Name Az.Maintenance
ローカルにインストールする場合は、管理者として PowerShell プロンプトを開いてください。
信頼されていないリポジトリからインストールするかどうかを確認するメッセージが表示される場合もあります。 モジュールをインストールするには、Y
を入力するか、 [すべてはい] を選択します。
Azure アカウントに接続する
Connect-AzAccount および Set-AzAccount を使用して、目的の Azure アカウントに接続します。
Connect-AzAccount
Set-AzContext 00a000aa-0a00-0a0a-00aa-a00a000aaa00
$RGName="myMaintenanceRG"
$MaintenanceConfig="myMaintenanceConfig"
$location="eastus2"
$vmss="myMaintenanceVMSS"
メンテナンス構成を作成する
構成のコンテナーとして、リソースグループを作成します。 この例では、myMaintenanceRG という名前のリソース グループが、eastus2 に作成されます。 使用するリソース グループが既にある場合は、この部分をスキップできます。 この後の例では、リソース グループ名を実際の名前に置き換えてください。
New-AzResourceGroup `
-Location $location `
-Name $RGName
New-AzMaintenanceConfiguration を使用して、メンテナンス構成を作成します。 この例では、OS イメージを対象とした myConfig という名前のメンテナンス構成を作成します。
$config = New-AzMaintenanceConfiguration `
-ResourceGroup $RGName `
-Name $MaintenanceConfig `
-MaintenanceScope OSImage `
-Location $location `
-StartDateTime "2020-10-01 00:00" `
-TimeZone "Pacific Standard Time" `
-Duration "05:00" `
-RecurEvery "Day"
重要
メンテナンスの期間は、5 時間以上である必要があります。 メンテナンスの繰り返しは Day に設定する必要があります。
-MaintenanceScope OSImage
を使用すると、そのメンテナンス構成がゲスト OS に対する更新をコントロールするために確実に使用されているかを確認できます。
同じ名前の構成を別の場所に作成しようとすると、エラーが発生します。 構成名は、リソース グループに対して一意である必要があります。
Get-AzMaintenanceConfiguration を使用して、使用可能なメンテナンス構成に対してクエリを実行できます。
Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id
仮想マシン スケール セットをメンテナンス構成に関連付ける
仮想マシン スケール セットは、メンテナンス構成のリージョンとサブスクリプションに関係なく、任意のメンテナンス構成に関連付けることができます。 メンテナンス構成にオプトインすると、スケール セットに対する新しい OS イメージの更新が、次に実行可能なメンテナンス期間に自動的にスケジュールされます。
New-AzConfigurationAssignment を使用して、仮想マシン スケール セットをメンテナンス構成に関連付けます。
New-AzConfigurationAssignment `
-ResourceGroupName $RGName `
-Location $location `
-ResourceName $vmss `
-ResourceType VirtualMachineScaleSets `
-ProviderName Microsoft.Compute `
-ConfigurationAssignmentName $config.Name`
-MaintenanceConfigurationId $config.Id
OS の自動アップグレードを有効にする
メンテナンス コントロールを使用する仮想マシン スケール セットごとに、OS の自動アップグレードを有効にすることができます。 仮想マシン スケール セットでの OS の自動アップグレードの有効化については、「Azure 仮想マシン スケール セットによる OS イメージの自動アップグレード」を参照してください。