An Azure service that is used to provision Windows and Linux virtual machines.
Azure VMs don’t support in-place OS image upgrades. To move from deprecated Windows Server 2022 Marketplace images to a supported offer/SKU with minimal downtime, a side-by-side migration is required. Downtime is limited to the cutover when switching to the new VM(s).
High-level approach for each VM (AD and standalone app VM):
- Check if the current image has a purchase plan
This determines how urgent migration is and what breaks after enforcement.- Use Azure CLI or PowerShell as described in “How do I check if my image has a purchase plan?”.
- If the command returns
null, the image has no purchase plan (Microsoft first-party). Existing VMs keep running; main impact is on reimage/new VM creation and VMSS scale-out.
- Plan for side-by-side migration (no in-place OS upgrade)
From “How do I migrate a VM to a different image?”: Azure VMs don’t support in-place OS upgrades. The supported path is:- Create a new VM from a supported Windows Server 2022 (or later) image.
- Migrate roles/data/configuration.
- Cut over traffic/users.
- Decommission the old VM.
- Create new VMs with supported images (via Azure portal)
For each existing VM:- In Azure portal, go to Virtual machines → Create → Azure virtual machine.
- In the Basics tab, select the same subscription, resource group, and region as the existing VM.
- Under Image, choose a non-deprecated Windows Server 2022 image (or newer) from Marketplace.
- Choose a VM size comparable to the current VM.
- Configure OS disk, networking, and availability options to match the existing VM as closely as possible.
- Complete Management, Monitoring, Advanced, and Tags to mirror the current configuration.
- Create the VM.
- Migrate the AD VM with minimal downtime
For the AD domain controller VM:- Join the new Windows VM to the existing domain.
- Promote it to an additional domain controller (install AD DS, run dcpromo/Server Manager wizard).
- Allow replication to complete and verify AD health.
- Transfer/seize FSMO roles if needed.
- Once stable, demote the old domain controller and shut it down.
- Downtime is limited to brief DNS/AD failover, if any, during cutover.
- Migrate the standalone application VM with minimal downtime
For the standalone app VM:- Install required runtimes (for example, .NET 6+ or newer supported version) and prerequisites on the new VM.
- Copy application binaries/configuration and data (for example, via file copy, backup/restore, or application-specific migration tools).
- Configure IIS or other web/app server identically (sites, bindings, certificates, etc.).
- Test the application on the new VM using its private IP or a test DNS name.
- During a short maintenance window:
- Update DNS records, load balancer backend pool, or other routing to point to the new VM.
- Stop the application on the old VM.
- This keeps downtime to the DNS or routing switch interval.
- Use Azure Compute Gallery for future resilience (optional)
To avoid future Marketplace deprecation impact:- After building and hardening the new VMs, capture them as custom images in Azure Compute Gallery.
- Custom images aren’t subject to Marketplace deprecation.
- Understand what happens if the image is already enforced
From the deprecation behavior:- Existing VMs continue to run normally after enforcement.
- New VM creation from the deprecated image and reimage are blocked.
- For images without a purchase plan, backup/restore and ASR continue to work; for images with a purchase plan, restore might fail.
- Because in-place OS upgrade isn’t supported, the side-by-side approach above is the supported way to move to a new offer/SKU with only a brief cutover window.
This approach satisfies the requirement of avoiding long downtime while moving to a supported Windows Server offer/SKU and away from deprecated images.
References: