Microsoft just announced that from the 30th of September 2025, Azure Basic Load Balancer will be retired. It means that from this date, you will not be able to deploy a new basic LB:

https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-basic-upgrade-guidance

Pricing regarding Standard LB can be found here: Pricing—Load Balancer | Microsoft Azure

And the difference between a Standard and a Basic: Upgrading from basic Load Balancer – Guidance | Microsoft Learn

For example, in Standard, you have an SLA of 99.99%, which you don’t have with Basic, so it is time to migrate 😊 and we will see in this article how to do this.

Before starting, you need to know that you will have downtime by migrating from Basic to Standard. In this example, we will do the migration for a public LB, for an internal one, please follow this guide: https://learn.microsoft.com/en-us/azure/load-balancer/upgrade-basicinternal-standard

On my side, I have a Basic LB, to expose a web page:

Basic LB

Nginx

To help in this migration, Microsoft provides a script, that helps in this migration. The full documentation is available here: Upgrade a basic to standard public load balancer – Azure Load Balancer | Microsoft Learn

To start, you need to install the script that will do the migration:

Windows PowerShell

After that, connect to your Azure subscription:

 

Select Name

Execute the following command to move from Basic to Standard.

 

Because my public IP is static, I need to migrate it first in Static:

I need to migrate it first in Static

I used the following script to do the trick:

PublicIPALLocationMethod

We can restart the migration powershell script.

So to explain quickly what the script will do:

  • It will create a new public ip and assign it to the basic LB
  • Create a new LB in standard, and assign the previous public ip for this new standard load balancer
  • Recreate every settings, like backend pools, load balancing rules, etc.
  • Create a new outbound rule for the outgoing traffic of all Virtual Machine that are in the backend pool
    SKU Standard

Depending of the number of rules in your LB, it can take some times to create it. In my case, with an easy setup, it took less than 5 minutes.

If like me, it doesn’t work directly, it is because by default, you must configure a NSG (everything is blocked by default) to allow the traffic that you want. If you don’t have this NSG on the subnet or network interfaces of the VM, you will not be able to access the webpage from the new Standard LB.

So just create a new NSG, and apply it to the subnet or NIC of VMs, with a rule to allow the incoming HTTP request:

Create a new NSG

And I can browse again my website:

I can browse again my website

As you can see, it is very easy now to migrate from Basic to Standard, you just need to schedule downtime.

StarWind Backup Appliance (BA) is an industry-first all-NVMe backup appliance that provides unprecedented levels of backup and recovery speed. It comes as a tiny, pre-configured, ready-to-backup solution that eliminates the backup server storage bottleneck and fits even the strictest RTPO. Consisting of the best commodity hardware, your chosen hypervisor, and a StarWind SDS engine backed by 24/7/365 ProActive Support, StarWind BA ushers in a new age of a future-proof, eco-friendly, transparent, and reasonably priced backup infrastructure. Explore Backup Appliance from StarWind StarWind Backup Appliance Datasheet
Back to blog