Azure で Windows Server を実行している VM のインプレース アップグレード
インプレース アップグレードでは、設定、サーバーの役割、データを保持しながら、古いオペレーティング システムから新しいものに移行できます。 この記事では、インプレース アップグレードを使って Azure VM を Windows Server の新しいバージョンに移行する方法について説明します。 現在、Windows Server 2012、Windows Server 2016、Windows Server 2019、Windows Server 2022 へのアップグレードがサポートされています。
インプレース アップグレードを開始する前に:
ターゲット オペレーティング システムのアップグレード要件を確認します。
Windows Server 2008 (64 ビット) または Windows Server 2008 R2 から Windows Server 2012 へのアップグレード オプション
Windows Server 2012 または Windows Server 2012 R2 から Windows Server 2016 へのアップグレード オプション
Windows Server 2012 R2 または Windows Server 2016 から Windows Server 2019 へのアップグレード オプション
Windows Server 2016 または Windows Server 2019 から Windows Server 2022 へのアップグレード オプション
オペレーティング システム ディスクに、インプレース アップグレードを実行するのに十分な空き領域があることを確認します。 追加の領域が必要な場合、次の手順に従って、VM にアタッチされたオペレーティング システム ディスクを拡張します。
ウイルス対策ソフトウェア、スパイウェア対策ソフトウェア、ファイアウォールを無効にします。 これらのソフトウェアは、アップグレード プロセスと競合する可能性があります。 アップグレードが完了した後、ウイルス対策ソフトウェアとファイアウォールを再度有効にします。
Note
Azure Windows VM でインプレース アップグレードを実行するときは、Azure portal の VM プロパティは更新されません。変更は OS 内にのみ反映されます。 つまり、発行元、オファー、プランなどの、VM プロパティ内のソース イメージ情報は変更されません。 VM の展開に使用されるイメージは同じままで、OS のみがアップグレードされます。
VM をボリューム ライセンスにアップグレードする (KMS サーバーのアクティブ化)
Azure が提供するアップグレード メディアでは、VM が Windows Server のボリューム ライセンス用に構成されている必要があります。 これは、Azure の一般化されたイメージからインストールされたすべての Windows Server VM の既定の動作です。 VM が Azure にインポートされた場合、Azure が提供するアップグレード メディアを使うために、ボリューム ライセンスに変換する必要がある場合があります。 VM がボリューム ライセンスのアクティブ化用に構成されていることを確認するには、次の手順に従って、適切な KMS クライアント設定キーを構成します。 アクティブ化の構成が変更されている場合は、次の手順に従って Azure KMS サービスへの接続を確認します。
Managed Disks へのアップグレード
インプレース アップグレード プロセスでは、アップグレード対象の VM 上で Managed Disks を使う必要があります。 Azure のほとんどの VM は Managed Disks を使っており、アンマネージド ディスクのサポートは 2022 年 11 月に廃止が発表されました。 VM が現在アンマネージド ディスクを使っている場合、次の手順に従って、Managed Disks に移行してください。
オペレーティング システム ディスクのスナップショットを作成する
インプレース アップグレード プロセスを開始する前に、オペレーティング システム ディスクとデータ ディスクのスナップショットを作成することをお勧めします。 これにより、インプレース アップグレード プロセス中に何か障害が発生した場合に、VM の以前の状態に戻すことができます。 各ディスクのスナップショットを作成するには、次の手順に従ってディスクのスナップショットを作成します。
アップグレード メディア ディスクの作成
インプレース アップグレードを開始するには、アップグレード メディアがマネージド ディスクとして VM にアタッチされている必要があります。 アップグレード メディアを作成するには、次の Windows Server 2022 用 PowerShell スクリプトの変数を変更します。 アップグレード メディア ディスクは、複数の VM のアップグレードに使用できますが、一度に 1 つの VM のアップグレードにしか使用できません。 複数の VM を同時にアップグレードするには、同時アップグレードごとに複数のアップグレード ディスクを作成する必要があります。
パラメーター | 定義 |
---|---|
resourceGroup | アップグレード メディアのマネージド ディスクを作成するリソース グループの名前です。 その名前のリソース グループが存在しない場合は、作成されます。 |
location | アップグレード メディアのマネージド ディスクが作成される Azure リージョンです。 これは、アップグレードする VM と同じリージョンである必要があります。 |
ゾーン | アップグレード メディア マネージド ディスクが作成される、選んだリージョンの Azure ゾーンです。 これは、アップグレードする VM と同じゾーンである必要があります。 リージョン VM (ゾーン以外) の場合、zone パラメーターは "" である必要があります。 |
diskName | アップグレード メディアを格納するマネージド ディスクの名前です |
sku | Windows Server のアップグレード メディアのバージョンです。 server2016Upgrade 、server2019Upgrade 、server2022Upgrade 、server2012Upgrade のいずれかである必要があります |
複数のサブスクリプションがある場合は、Set-AzContext -Subscription '<subscription name or id>
を実行して、使用するサブスクリプションを指定する必要があります。
PowerShell スクリプト
#
# Customer specific parameters
# Resource group of the source VM
$resourceGroup = "WindowsServerUpgrades"
# Location of the source VM
$location = "WestUS2"
# Zone of the source VM, if any
$zone = ""
# Disk name for the that will be created
$diskName = "WindowsServer2022UpgradeDisk"
# Target version for the upgrade - must be either server2022Upgrade, server2019Upgrade, server2016Upgrade or server2012Upgrade
$sku = "server2022Upgrade"
# Common parameters
$publisher = "MicrosoftWindowsServer"
$offer = "WindowsServerUpgrade"
$managedDiskSKU = "Standard_LRS"
#
# Get the latest version of the special (hidden) VM Image from the Azure Marketplace
$versions = Get-AzVMImage -PublisherName $publisher -Location $location -Offer $offer -Skus $sku | sort-object -Descending {[version] $_.Version }
$latestString = $versions[0].Version
# Get the special (hidden) VM Image from the Azure Marketplace by version - the image is used to create a disk to upgrade to the new version
$image = Get-AzVMImage -Location $location `
-PublisherName $publisher `
-Offer $offer `
-Skus $sku `
-Version $latestString
#
# Create Resource Group if it doesn't exist
#
if (-not (Get-AzResourceGroup -Name $resourceGroup -ErrorAction SilentlyContinue)) {
New-AzResourceGroup -Name $resourceGroup -Location $location
}
#
# Create Managed Disk from LUN 0
#
if ($zone){
$diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
-CreateOption FromImage `
-Zone $zone `
-Location $location
} else {
$diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
-CreateOption FromImage `
-Location $location
}
Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0
New-AzDisk -ResourceGroupName $resourceGroup `
-DiskName $diskName `
-Disk $diskConfig
アップグレード メディアの VM へのアタッチ
ターゲット Windows Server のバージョンに対応したアップグレード メディアを、アップグレードする VM にアタッチします。 これは、VM が実行中または停止中の状態で行うことができます。
ポータルの手順
Azure portal にサインインします。
[仮想マシン] を検索して選択します。
一覧からインプレース アップグレードを実行する仮想マシンを選びます。
[仮想マシン] ページで、[ディスク] を選択します。
[ディスク] ページ上で、[既存のディスクのアタッチ] を選びます。
[ディスク名] のドロップダウンで、前の手順で作成したアップグレード ディスクの名前を選びます。
[保存] を選んで、アップグレード ディスクを VM にアタッチします。
Windows Server 2016、2019、または 2022 へのインプレース アップグレードを実行する
インプレース アップグレードを開始するには、VM が Running
状態である必要があります。 VM が実行状態になったら、次の手順でアップグレードを実行します。
RDP または RDP-Bastion を使って、VM に接続します。
アップグレード ディスクのドライブ文字を決定します (通常は他にデータ ディスクがない場合、E: または F:)。
Windows PowerShell を起動します。
ディレクトリをアップグレード ディスク上の唯一のディレクトリに変更します。
次のコマンドを実行して、アップグレードを開始します。
.\setup.exe /auto upgrade /dynamicupdate disable
Windows Server アップグレード コマンドの /eula accept スイッチを使用すると、アップグレード プロセス中に Microsoft ソフトウェア ライセンス条項 (エンド ユーザー ライセンス契約または EULA) に自動的に同意できます。 /eula accept スイッチを使用すると、EULA が手動で受け入れられなかったためにアップグレード プロセスが停止する問題を回避できます。 このスイッチにより、ライセンス条項への同意のためにユーザーに操作を求めることなく、アップグレード プロセスをスムーズに進めることができます。
.\setup.exe /auto upgrade /dynamicupdate disable /eula accept
Windows Server アップグレード マトリックスを参考に、VM の現在のバージョンと構成に基づいて適切な "アップグレード先" イメージを選びます。
アップグレード プロセス中、VM は自動的に RDP セッションから切断されます。 VM が RDP セッションから切断された後、Azure portal で使用できるスクリーンショット機能を通して、アップグレードの進行状況を監視できます。
Windows Server 2012 へのインプレース アップグレードのみ実行する
インプレース アップグレードを開始するには、VM が Running
状態である必要があります。 VM が実行状態になったら、次の手順でアップグレードを実行します。
RDP または RDP-Bastion を使って、VM に接続します。
アップグレード ディスクのドライブ文字を決定します (通常は他にデータ ディスクがない場合、E: または F:)。
Windows PowerShell を起動します。
ディレクトリをアップグレード ディスク上の唯一のディレクトリに変更します。
次のコマンドを実行して、アップグレードを開始します。
.\setup.exe
Windows セットアップが起動したら、[今すぐインストール]を選びます。
[Get important updates for Windows Setup] (Windows セットアップの重要な更新プログラムの取得) で、[No thanks] (今はやめておく) を選びます。
Windows Server アップグレード マトリックスを参考に、VM の現在のバージョンと構成に基づいて、Windows Server 2012 の適切な "アップグレード先" イメージを選びます。
[ライセンス条項] ページで、[ライセンス条項に同意する]、[次へ] の順に選びます。
[What type of installation do you want?] (どのような種類のインストールが必要ですか?) で、[Upgrade: Install Windows and keep files, settings, and applications] (アップグレード: Windows をインストールし、ファイル、設定、アプリケーションを保持する) を選びます。
セットアップにより互換性レポートが生成されます。警告をすべて無視して、[次へ] を選択できます。
完了すると、マシンが再起動され、RDP セッションから自動的に切断されます。 VM が RDP セッションから切断された後、Azure portal で使用できるスクリーンショット機能を通して、アップグレードの進行状況を監視できます。
アップグレード後の手順
アップグレード プロセスが正常に完了したら、次の手順でアップグレード プロセス中に作成された成果物をクリーンアップする必要があります。
OS ディスクとデータ ディスクのスナップショットが作成されている場合、それらを削除します。
アップグレード メディアのマネージド ディスクを削除します。
アップグレード プロセスの開始時に無効になっていたウイルス対策、スパイウェア対策、またはファイアウォール ソフトウェアを有効にします。
重要
イメージ プランの情報は、アップグレード プロセスの後では変更されません。
障害からの復旧
インプレース アップグレード プロセスが正常に完了しなかった場合、オペレーティング システム ディスクとデータ ディスクのスナップショットが作成されていれば、VM の以前のバージョンに戻すことができます。 スナップショットを使って VM を以前の状態に戻すには、次の手順を実行します。
「スナップショットからディスクを作成する」の手順に従って、OS ディスクのスナップショットと各データ ディスクのスナップショットから新しいマネージド ディスクを作成し、VM がゾーン内にある場合は VM と同じ可用性ゾーンにディスクを作成します。
VM を停止します。
VM の OS ディスクを交換します。
VM からデータ ディスクをデタッチします。
手順 1 のスナップショットから作成したデータ ディスクをアタッチします。
VM を再起動します。
次のステップ
- 詳細については、「Windows Server のインプレース アップグレードの実行」を参照してください
- Azure Migrate を使用したアップグレードの詳細については、Azure Migrate Windows Server のアップグレードに関するページを参照してください