After the Free Windows VPS Trial: Credit Burn, Licensing Traps and a Migration Checklist

The trial credit runs out on a date the provider chooses, and the invoice that arrives on day 31 is priced for a machine that was never sized for RDP. Burstable vCPUs, a licence billed inside the hourly rate, and a public IP that reverts to a dynamic allocation are the three line items that turn a “free” Windows VPS into a USD 65 monthly bill. This page prices that transition with 2026 list rates, maps the licensing traps that surface after the credit expires, and gives a migration order that keeps the server reachable while you move it. If the credit has already expired and you want a fixed monthly number instead, the licensed Windows VPS plans listed on the home page bill the SPLA licence and the IP in one figure.

What the Trial Credit Actually Buys

All three major clouds include a Windows Server licence inside the compute rate. There is no way to run the trial on a “bring your own licence” discount at the entry tier — Azure Hybrid Benefit requires Software Assurance, AWS BYOL does not exist for Windows Server, and GCP charges the premium automatically when the image is a Windows SKU. That means the credit is consumed at a Windows rate from the first boot.

Provider Credit Windows-eligible shape Effective burn
Azure USD 200 / 30 days B2s: 2 vCPU, 4 GB ~USD 3.05/day, credit gone in ~22 days if the disk is premium
AWS 750 h t3.micro / 12 months t3.micro: 2 vCPU burstable, 1 GB Free hours exclude EBS above 30 GB and any Elastic IP left unattached
GCP USD 300 / 90 days e2-medium: 2 vCPU, 4 GB ~USD 1.75/day; sustained-use discount applies after the credit

The AWS row is the trap most readers miss. Windows Server 2022 with the desktop experience has a working set of 1.4 to 1.9 GB at idle, so a 1 GB t3.micro spends the month swapping to EBS. Check the memory counter after the first hour of a session:

Get-Counter '\Memory\Available MBytes','\Memory\Pages/sec' -SampleInterval 5 -MaxSamples 3
Get-CimInstance Win32_OperatingSystem | Select-Object @{n='FreeGB';e={[math]::Round($_.FreePhysicalMemory/1MB,2)}},TotalVisibleMemorySize

Run the Same Workload for a Month and Compare

Assume a 2 vCPU / 4 GB Windows Server 2022 guest with a 100 GB SSD, RDP open, IIS idle, one small SQL Express database, and continuous uptime. These are on-demand list prices before any committed-use discount.

Option Compute Disk Licence Public IPv4 Month 2 total
Azure B2s + P10 USD 46–52 USD 19 included USD 3.65 reserved USD 68–75
AWS t3.medium + 100 GB gp3 USD 47–55 USD 8 included free while attached USD 55–63
GCP e2-medium + pd-balanced USD 42–48 USD 10 included USD 3.00 USD 55–61
Fixed-price VPS, 4 vCPU / 8 GB bundled, SPLA licence included USD 25–45

Outbound bandwidth is the fourth line item and the one that is invisible during the trial. Azure bills the first 100 GB free then USD 0.087/GB; AWS charges USD 0.09/GB after 100 GB; GCP’s premium tier starts at USD 0.12/GB. A single 8 GB ISO download plus a month of Windows Update traffic on five servers can add USD 15–30 that no trial dashboard shows clearly.

Licensing Traps That Surface After the Credit

The Windows licence itself is rarely the problem at month two. The traps are structural, and each one has a concrete check you can run before the credit expires.

  • KMS activation and the 180-day clock. Cloud Windows images use a KMS endpoint on the provider’s internal network. If you snapshot the VM and restore it elsewhere — a different region, a different provider — the KMS host becomes unreachable and the guest drops into notification state after 180 days. Confirm the channel: slmgr /dlv should show VOLUME_KMSCLIENT with a remaining count. A retail or MAK key from a marketplace listing is a different legal object than a SPLA licence bundled by a VPS host.
  • RDS licensing. Two concurrent administrative RDP sessions are included with Windows Server. A third simultaneous session needs RDS CALs and a licensing server, and the trial credit does not cover either. Audit your sessions with quser before you hand out credentials to a team.
  • SQL Server editions. The “free” SQL on a cloud image is usually Express (10 GB per database, 1 GB RAM buffer pool, 4 cores). A trial that works because someone attached a Developer edition image is not licensed for production traffic.
  • Static IP reversion. Azure reserves a dynamic public IP only while it is attached; releasing the VM on day 31 and rebuilding it gives a different address, which breaks every saved .rdp file and every firewall allow-list entry pointing at your office.

Snapshot Before the Credit Dies

Disk export is the only step that cannot be done after the subscription suspends, so schedule it at 70 percent of the credit window rather than at the end. The export takes 20–90 minutes depending on the disk size and the region pair, and it costs storage egress if the destination bucket is in another region.

The most common failure is not cost, it is timing: the credit expires, the subscription is suspended, and the disks go read-only before anyone exports anything. Set a calendar reminder at 70 percent of the credit window. Export the disk image while the VM is still running:

# Azure: export the OS disk to a page blob in a storage account you own
az disk grant-access --resource-group RG-NAME --name vps-osdisk --duration-in-seconds 3600 --access-level Read
az storage blob copy start --destination-blob vps-osdisk.vhd \
  --destination-container images --account-name mystorageacct \
  --source-uri "$(az disk show -g RG-NAME -n vps-osdisk --query accessSas -o tsv)"

On AWS, create an AMI and copy it to a second account or region; on GCP, export the disk to a Cloud Storage bucket with gcloud compute images export. Then record the guest configuration that a raw disk image does not capture: the static IP, the RDP port if you changed it, firewall rules, and the machine’s computer name.

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' |
  Select-Object PortNumber, UserAuthentication, SecurityLayer
Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -notlike '127.*'} | Select IPAddress,PrefixLength
Get-NetFirewallRule -Enabled True -Direction Inbound | Select DisplayName,Profile | Format-Table -AutoSize

Migration Order That Keeps the Server Reachable

Build the destination first, join it to nothing, and prove it works before you move a single byte of data. The sequence below assumes the new host is a fixed-price Windows VPS with the licence included.

  1. Provision the new guest and immediately set the RDP port and firewall rule to match the old one, or keep 3389 and move clients later.
  2. Copy data with robocopy over an RDP drive mapping or a temporary SFTP endpoint, not through the clipboard: robocopy \\tsclient\C\backup D:\data /MIR /R:1 /W:1 /MT:16 /LOG:D:\migrate.log.
  3. Install applications and restore databases on the new host while the old one still serves traffic.
  4. Do a DNS or hosts-file test against the new IP from a workstation, using an .rdp file that points at the IP directly.
  5. Freeze writes on the old host, run a final incremental robocopy, cut DNS, and leave the old VM powered on for 72 hours.

Cutover Checklist for the New Host

Run the checks below on the destination before you power off the source. They take two minutes and catch the licence, service and reachability problems that would otherwise appear during the DNS change.

Verification Commands

Before you delete the old subscription, confirm the new machine is actually the machine you think it is. Run these four checks and keep the output.

Get-ComputerInfo | Select WindowsProductName,WindowsVersion,CsTotalPhysicalMemory
slmgr /dli
Get-Service TermService,WinRM,W3SVC | Select Name,Status,StartType
Test-NetConnection -ComputerName  -Port 3389

A final note on the licence: SPLA-based hosting providers license Windows Server per month and per instance, and the guest does not need its own key. That is the structural reason a fixed-price VPS monthly total lands under the cloud on-demand number — the provider amortises the licence across the box and adds no egress charge. Details of what each tier includes are on the Windows VPS pricing page; the important part is that month four costs what month one does, and none of it expires.

Leave a Comment