StarWind is a hyperconverged (HCI) vendor with focus on Enterprise ROBO, SMB & Edge

Migrate from Azure Basic Load Balancer to Standard

  • November 24, 2022
  • 6 min read
A datacenter and cloud solution architect specializing in public, hybrid, and private cloud technologies. He is a Microsoft MVP in Cloud and Datacenter Management and an MCSE in Private Cloud.

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:

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:

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

Basic LB


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:


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.

Back to blog