Skip to content

Commit 105c8de

Browse files
committed
added migration steps, shortened example text
1 parent d902235 commit 105c8de

File tree

1 file changed

+60
-14
lines changed

1 file changed

+60
-14
lines changed

articles/load-balancer/upgrade-basic-standard-with-powershell.md

Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,37 @@ The PowerShell module performs the following functions:
4848
- Basic Load Balancers with a Virtual Machine Scale Set backend pool member where one or more Virtual Machine Scale Set instances have ProtectFromScaleSetActions Instance Protection policies enabled
4949
- Migrating a Basic Load Balancer to an existing Standard Load Balancer
5050

51+
## Pre- and Post-migration Steps
52+
53+
### Pre-migration steps
54+
55+
- Validate that your scenario is supported
56+
- Plan for application downtime during migration
57+
- Develop inbound and outbound connectivity tests for your traffic
58+
- Plan for instance-level Public IP changes on Virtual Machine Scale Set instances
59+
- [Recommended] Create Network Security Groups for your backend pool members, allowing the traffic through the Load Balancer and any other traffic which will need to be explicitly allowed on public Standard SKU resources
60+
- [Recommended] Prepare your outbound connectivity, taking one of the following approaches:
61+
- Add a NAT Gateway to your backend member's subnets
62+
- Add Public IP addresses to each backend Virtual Machine or Virtual Machine Scale Set instance
63+
- Plan to create Outbound Rules for Public Load Balancers with multiple backend pools post-migration
64+
65+
### Post-migration steps
66+
67+
- [Validate that your migration was successful](#example-validate-a-completed-migration-by-passing-the-basic-load-balancer-state-file-backup-and-the-standard-load-balancer-name)
68+
- Test inbound application connectivity through the Load Balancer
69+
- Test outbound connectivity from backend pool members to the Internet
70+
- For Public Load Balancers with multiple backend pools, create Outbound Rules for each backend pool
71+
72+
## Install the 'AzureBasicLoadBalancerUpgrade' module
73+
5174
### Prerequisites
5275

53-
- **PowerShell**: A supported version of PowerShell version 7 or higher is the recommended version of PowerShell for use with the AzureBasicLoadBalancerUpgrade module on all platforms including Windows, Linux, and macOS. However, Windows PowerShell 5.1 is supported.
76+
- **PowerShell**: A supported version of PowerShell version 7 or higher is recommended for use with the AzureBasicLoadBalancerUpgrade module on all platforms including Windows, Linux, and macOS. However, PowerShell 5.1 on Windows is supported.
5477
- **Az PowerShell Module**: Determine whether you have the latest Az PowerShell module installed
5578
- Install the latest [Az PowerShell module](/powershell/azure/install-azure-powershell)
5679
- **Az.ResourceGraph PowerShell Module**: The Az.ResourceGraph PowerShell module is used to query resource configuration during upgrade and is a separate install from the Az PowerShell module. It will be automatically installed if you install the `AzureBasicLoadBalancerUpgrade` module using the `Install-Module` command as shown below.
5780

58-
## Install the 'AzureBasicLoadBalancerUpgrade' module
81+
### Module Installation
5982

6083
Install the module from [PowerShell gallery](https://www.powershellgallery.com/packages/AzureBasicLoadBalancerUpgrade)
6184

@@ -84,54 +107,77 @@ PS C:\> Install-Module -Name AzureBasicLoadBalancerUpgrade -Scope CurrentUser -R
84107
85108
4. Run the Upgrade command.
86109
87-
### Example: upgrade a Basic Load Balancer to a Standard Load Balancer with the same name, providing the Basic Load Balancer name and resource group
110+
### Example: validate a scenario
111+
112+
Validate that a Basic Load Balancer is supported for upgrade
113+
114+
```powershell
115+
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <loadBalancerRGName> -BasicLoadBalancerName <basicLBName> -validateScenarioOnly
116+
```
117+
118+
### Example: upgrade by name
119+
120+
Upgrade a Basic Load Balancer to a Standard Load Balancer with the same name, providing the Basic Load Balancer name and resource group name
88121

89122
```powershell
90-
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <load balancer resource group name> -BasicLoadBalancerName <existing Basic Load Balancer name>
123+
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <loadBalancerRGName> -BasicLoadBalancerName <basicLBName>
91124
```
92125

93-
### Example: upgrade a Basic Load Balancer to a Standard Load Balancer with the specified name, displaying logged output on screen
126+
### Example: upgrade and show logs
127+
128+
Upgrade a Basic Load Balancer to a Standard Load Balancer with the specified name, displaying logged output on screen
94129

95130
```powershell
96-
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <load balancer resource group name> -BasicLoadBalancerName <existing Basic Load Balancer name> -StandardLoadBalancerName <new Standard Load Balancer name> -FollowLog
131+
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <loadBalancerRGName> -BasicLoadBalancerName <basicLBName> -StandardLoadBalancerName <new Standard Load Balancer name> -FollowLog
97132
```
98133

99-
### Example: upgrade a Basic Load Balancer to a Standard Load Balancer with the specified name and store the Basic Load Balancer backup file at the specified path
134+
### Example: upgrade with alternate backup path
135+
136+
Upgrade a Basic Load Balancer to a Standard Load Balancer with the specified name and store the Basic Load Balancer backup file at the specified path
100137

101138
```powershell
102-
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <load balancer resource group name> -BasicLoadBalancerName <existing Basic Load Balancer name> -StandardLoadBalancerName <new Standard Load Balancer name> -RecoveryBackupPath C:\BasicLBRecovery
139+
PS C:\> Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <loadBalancerRGName> -BasicLoadBalancerName <basicLBName> -StandardLoadBalancerName <new Standard Load Balancer name> -RecoveryBackupPath C:\BasicLBRecovery
103140
```
104141

105-
### Example: validate a completed migration by passing the Basic Load Balancer state file backup and the Standard Load Balancer name
142+
### Example: validate completed migration
143+
144+
Validate a completed migration by passing the Basic Load Balancer state file backup and the Standard Load Balancer name
106145

107146
```powershell
108147
PS C:\> Start-AzBasicLoadBalancerUpgrade -validateCompletedMigration -basicLoadBalancerStatePath C:\RecoveryBackups\State_mybasiclb_rg-basiclbrg_20220912T1740032148.json
109148
```
110149

111-
### Example: migrate multiple Load Balancers with shared backend members at the same time
150+
### Example: migrate multiple, related Load Balancers
151+
152+
Migrate multiple Load Balancers with shared backend members at the same time, usually when an application has an internal and an external Load Balancer
112153

113154
```powershell
114155
# build array of multiple basic load balancers
115156
PS C:\> $multiLBConfig = @(
116157
@{
117-
'standardLoadBalancerName' = 'myStandardLB01'
158+
'standardLoadBalancerName' = 'myStandardInternalLB01' # specifying the standard load balancer name is optional
118159
'basicLoadBalancer' = (Get-AzLoadBalancer -ResourceGroupName myRG -Name myBasicInternalLB01)
119160
},
120161
@{
121-
'standardLoadBalancerName' = 'myStandardLB02'
162+
'standardLoadBalancerName' = 'myStandardExternalLB02'
122163
'basicLoadBalancer' = (Get-AzLoadBalancer -ResourceGroupName myRG -Name myBasicExternalLB02)
123164
}
124165
)
166+
# pass the array of load balancer configurations to the -MultiLBConfig parameter
125167
PS C:\> Start-AzBasicLoadBalancerUpgrade -MultiLBConfig $multiLBConfig
126168
```
127169

128-
### Example: retry a failed upgrade for a virtual machine scale set's load balancer (due to error or script termination) by providing the Basic Load Balancer and Virtual Machine Scale Set backup state file
170+
### Example: retry failed virtual machine scale set migration
171+
172+
Retry a failed upgrade for a virtual machine scale set's load balancer (due to error or script termination) by providing the Basic Load Balancer and Virtual Machine Scale Set backup state file
129173

130174
```powershell
131175
PS C:\> Start-AzBasicLoadBalancerUpgrade -FailedMigrationRetryFilePathLB C:\RecoveryBackups\State_mybasiclb_rg-basiclbrg_20220912T1740032148.json -FailedMigrationRetryFilePathVMSS C:\RecoveryBackups\VMSS_myVMSS_rg-basiclbrg_20220912T1740032148.json
132176
```
133177

134-
### Example: retry a failed upgrade for a VM load balancer (due to error or script termination) by providing the Basic Load Balancer backup state file
178+
### Example: retry failed virtual machine migration
179+
180+
Retry a failed upgrade for a VM load balancer (due to error or script termination) by providing the Basic Load Balancer backup state file
135181

136182
```powershell
137183
PS C:\> Start-AzBasicLoadBalancerUpgrade -FailedMigrationRetryFilePathLB C:\RecoveryBackups\State_mybasiclb_rg-basiclbrg_20220912T1740032148.json

0 commit comments

Comments
 (0)