You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-network/ip-services/public-ip-upgrade-vm.md
+16-13Lines changed: 16 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,24 +13,26 @@ ms.topic: how-to
13
13
14
14
# Upgrade public IP addresses attached to VM from Basic to Standard
15
15
16
-
>[!Important]
17
-
>On September 30, 2025, Basic SKU public IPs will be retired. For more information, see the [official announcement](https://azure.microsoft.com/updates/upgrade-to-standard-sku-public-ip-addresses-in-azure-by-30-september-2025-basic-sku-will-be-retired/). If you are currently using Basic SKU public IPs, make sure to upgrade to Standard SKU public IPs prior to the retirement date. This article will help guide you through the upgrade process.
16
+
>[!IMPORTANT]
17
+
>On September 30, 2025, Basic SKU public IPs will be retired. For more information, see the [official announcement](https://azure.microsoft.com/updates/upgrade-to-standard-sku-public-ip-addresses-in-azure-by-30-september-2025-basic-sku-will-be-retired/). If you are currently using Basic SKU public IPs, make sure to upgrade to Standard SKU public IPs prior to the retirement date. This article will help guide you through the upgrade process.
18
18
19
19
For more information about the retirement of Basic SKU Public IPs and the benefits of Standard SKU Public IPs, see [here](public-ip-basic-upgrade-guidance.md)
20
20
21
21
## Upgrade overview
22
22
23
23
This script upgrades any Public IP Addresses attached to VM from Basic to Standard SKU. In order to perform the upgrade, the Public IP Address allocation method is set to static before being disassociated from the VM. Once disassociated, the Public IP SKU is upgraded to Standard, then the IP is re-associated with the VM.
24
24
25
-
Because the Public IP allocation is set to 'Static' before detaching from the VM, the IP address won't change during the upgrade process, even in the event of a script failure. The module double-checks that the Public IP allocation method is 'Static' prior to detaching the Public IP from the VM.
25
+
Because the Public IP allocation is set to *Static* before detaching from the VM, the IP address won't change during the upgrade process, even if the script fails. The module double-checks that the Public IP allocation method is *Static* prior to detaching the Public IP from the VM.
26
26
27
27
The module logs all upgrade activity to a file named `PublicIPUpgrade.log`, created in the same location where the module was executed (by default).
28
28
29
29
## Constraints / Unsupported Scenarios
30
30
31
31
-**VMs with NICs associated to a Load Balancer**: Because the Load Balancer and Public IP SKUs associated with a VM must match, it isn't possible to upgrade the instance-level Public IP addresses associated with a VM when the VM's NICs are also associated with a Load Balancer, either through Backend Pool or NAT Pool membership. Use the scripts [Upgrade a Basic Load Balancer to Standard SKU](../../load-balancer/upgrade-basic-standard-with-powershell.md) to upgrade both the Load Balancer and Public IPs at the same time.
32
-
-**VMs without a Network Security Group**: VMs with IPs to be upgraded must have a Network Security Group (NSG) associated with either the subnet of each IP configuration with a Public IP, or with the NIC directly. This is because Standard SKU Public IPs are "secure by default", meaning that any traffic to the Public IP must be explicitly allowed at an NSG to reach the VM. Basic SKU Public IPs allow any traffic by default. Upgrading Public IP SKUs without an NSG would result in inbound internet traffic to the Public IP previously allowed with the Basic SKU being blocked post-migration. See: [Public IP SKUs](public-ip-addresses.md#sku)
33
-
-**Virtual Machine Scale Sets with Public IP configurations**: If you have a virtual machine scale set (uniform model) with public IP configurations per instance, note these configurations aren't Public IP resources and as such cannot be upgraded. Instead, you can remove the Basic IP configuration and use the SKU property to specify that Standard IP configurations are required for each virtual machine scale set instance as shown [here](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-networking#public-ipv4-per-virtual-machine).
32
+
33
+
-**VMs without a Network Security Group**: VMs with IPs to be upgraded must have a Network Security Group (NSG) associated with either the subnet of each IP configuration with a Public IP, or with the NIC directly. This is because Standard SKU Public IPs are "secure by default," meaning that any traffic to the Public IP must be explicitly allowed at an NSG to reach the VM. Basic SKU Public IPs allow any traffic by default. Upgrading Public IP SKUs without an NSG would result in inbound internet traffic to the Public IP previously allowed with the Basic SKU being blocked post-migration. See: [Public IP SKUs](public-ip-addresses.md#sku)
34
+
35
+
-**Virtual Machine Scale Sets with Public IP configurations**: If you have a virtual machine scale set (uniform model) with public IP configurations per instance, note these configurations aren't Public IP resources and as such can't be upgraded. Instead, you can remove the Basic IP configuration and use the SKU property to specify that Standard IP configurations are required for each virtual machine scale set instance as shown [here](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-networking#public-ipv4-per-virtual-machine).
2. Locate the VM with the attached Basic Public IPs that you wish to upgrade. Record its name and resource group name.
56
57
57
-
3. Examine the module parameters:
58
+
1. Locate the VM with the attached Basic Public IPs that you wish to upgrade. Record its name and resource group name.
59
+
60
+
1. Examine the module parameters:
58
61
- *VMName [string] Required* - This parameter is the name of your VM.
59
62
- *ResourceGroupName [string] Required* - This parameter is the resource group for your VM with the Basic Public IPs attached that you want to upgrade.
60
63
61
-
4. Run the Upgrade command.
64
+
1. Run the Upgrade command.
62
65
63
66
### Example uses of the script
64
67
@@ -74,7 +77,7 @@ To evaluate upgrading a single VM, without making any changes, add the -WhatIf p
@@ -92,7 +95,7 @@ To recover from a failed upgrade, pass the recovery log file path to the script
92
95
93
96
## Common questions
94
97
95
-
### How long will the migration take and how long will my VM be inaccessible at its Public IP?
98
+
### How long will the migration take and how long will my virtual machine be inaccessible at its Public IP?
96
99
97
100
The time it takes to upgrade a VM's Public IPs depends on the number of Public IPs and Network Interfaces associated with the VM. In testing, a VM with a single NIC and Public IP takes between 1 and 2 minutes to upgrade. Each NIC on the VM adds about another minute, and each Public IP adds a few seconds each.
98
101
@@ -102,22 +105,22 @@ It isn't possible to downgrade a Public IP address from Standard to Basic.
102
105
103
106
### Can I test a migration before executing?
104
107
105
-
There is no way to evaluate upgrading a Public IP without completing the action. However, this script includes a `-whatif` parameter, which checks that your VM will support the upgrade and walks through the steps without taking action.
108
+
There's no way to evaluate upgrading a Public IP without completing the action. However, this script includes a `-whatif` parameter, which checks that your VM supports the upgrade and walks through the steps without taking action.
106
109
107
110
### Does the script support Zonal Basic SKU Public IPs?
108
111
109
112
Yes, the process of upgrading a Zonal Basic SKU Public IP to a Zonal Standard SKU Public IP is identical and works in the script.
110
113
111
114
### If I specify a NIC associated with a public IP targeted for migration in the Application Gateway backend pool, will this script remove it from the pool?
112
115
113
-
Yes, it will be removed. After running the script, you will need to manually reassign the NIC to the Application Gateway backend pool.
116
+
Yes, it's removed. After running the script, you'll need to manually reassign the NIC to the Application Gateway backend pool.
114
117
Alternatively, you can avoid this issue by explicitly specifying the private IP address in the backend pool configuration before migration.
115
118
116
119
## Use Resource Graph to list VMs with Public IPs requiring upgrade
117
120
118
121
### Query to list virtual machines with Basic SKU public IP addresses
119
122
120
-
This query returns a list of virtual machine IDs with Basic SKU public IP addresses attached.
123
+
This query returns a list of virtual machine IDs with Basic SKU public IP addresses attached.
0 commit comments