Skip to content

Commit e4a7bfc

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into vnet-link-fix
2 parents 5b19c03 + a66db79 commit e4a7bfc

File tree

2 files changed

+62
-16
lines changed

2 files changed

+62
-16
lines changed

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

Lines changed: 61 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,44 @@ 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+
## Install the 'AzureBasicLoadBalancerUpgrade' module
52+
5153
### Prerequisites
5254

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.
55+
- **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.
5456
- **Az PowerShell Module**: Determine whether you have the latest Az PowerShell module installed
5557
- Install the latest [Az PowerShell module](/powershell/azure/install-azure-powershell)
5658
- **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.
5759

58-
## Install the 'AzureBasicLoadBalancerUpgrade' module
60+
### Module Installation
5961

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

6264
```powershell
6365
PS C:\> Install-Module -Name AzureBasicLoadBalancerUpgrade -Scope CurrentUser -Repository PSGallery -Force
6466
```
6567

68+
## Pre- and Post-migration Steps
69+
70+
### Pre-migration steps
71+
72+
- [Validate](#example-validate-a-scenario) that your scenario is supported
73+
- Plan for [application downtime](#how-long-does-the-upgrade-take) during migration
74+
- Develop inbound and outbound connectivity tests for your traffic
75+
- Plan for instance-level Public IP changes on Virtual Machine Scale Set instances (see note above)
76+
- [Recommended] Create Network Security Groups or add security rules to an existing Network Security Group 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
77+
- [Recommended] Prepare your [outbound connectivity](../virtual-network/ip-services/default-outbound-access.md), taking one of the following approaches:
78+
- Add a NAT Gateway to your backend member's subnets
79+
- Add Public IP addresses to each backend Virtual Machine or [Virtual Machine Scale Set instance](../virtual-machine-scale-sets/virtual-machine-scale-sets-networking.md#public-ipv4-per-virtual-machine)
80+
- Plan to create [Outbound Rules](./outbound-rules.md) for Public Load Balancers with multiple backend pools post-migration
81+
82+
### Post-migration steps
83+
84+
- [Validate that your migration was successful](#example-validate-a-scenario)
85+
- Test inbound application connectivity through the Load Balancer
86+
- Test outbound connectivity from backend pool members to the Internet
87+
- For Public Load Balancers with multiple backend pools, create [Outbound Rules](./outbound-rules.md) for each backend pool
88+
6689
## Use the module
6790

6891
1. Use `Connect-AzAccount` to connect to the required Microsoft Entra tenant and Azure subscription
@@ -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, change name, 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 <newStandardLBName> -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 <newStandardLBName> -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
@@ -204,7 +250,7 @@ The script migrates the following from the Basic Load Balancer to the Standard L
204250
205251
### How do I migrate when my backend pool members belong to multiple Load Balancers?
206252

207-
In a scenario where your backend pool members are also members of backend pools on another Load Balancer, such as when you have internal and external Load Balancers for the same application, the Basic Load Balancers need to be migrated at the same time. Trying to migrate the Load Balancers one at a time would attempt to mix Basic and Standard SKU resources, which is not allowed. The migration script supports this by passing multiple Basic Load Balancers into the same [script execution using the `-MultiLBConfig` parameter](#example-migrate-multiple-load-balancers-with-shared-backend-members-at-the-same-time).
253+
In a scenario where your backend pool members are also members of backend pools on another Load Balancer, such as when you have internal and external Load Balancers for the same application, the Basic Load Balancers need to be migrated at the same time. Trying to migrate the Load Balancers one at a time would attempt to mix Basic and Standard SKU resources, which is not allowed. The migration script supports this by passing multiple Basic Load Balancers into the same [script execution using the `-MultiLBConfig` parameter](#example-migrate-multiple-related-load-balancers).
208254

209255
### How do I validate that a migration was successful?
210256

articles/virtual-machines/premium-storage-performance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Latency is the time it takes an application to receive a single request, send it
6868

6969
When you are optimizing your application to get higher IOPS and Throughput, it will affect the latency of your application. After tuning the application performance, always evaluate the latency of the application to avoid unexpected high latency behavior.
7070

71-
The following control plane operations on Managed Disks may involve movement of the Disk from one Storage location to another. This is orchestrated via background copy of data that can take several hours to complete, typically less than 24 hours depending on the amount of data in the disks. During that time your application can experience higher than usual read latency as some reads can get redirected to the original location and can take longer to complete. There is no impact on write latency during this period.
71+
The following control plane operations on Managed Disks may involve movement of the Disk from one Storage location to another. This is orchestrated via background copy of data that can take several hours to complete, typically less than 24 hours depending on the amount of data in the disks. During that time your application can experience higher than usual read latency as some reads can get redirected to the original location and can take longer to complete. There is no impact on write latency during this period. For Premium SSD v2 and Ultra disks, if the disk has a 4k sector size, it would experience higher read latency. If the disk has a 512e sector size, it would experience both higher read and write latency.
7272

7373
- Update the storage type.
7474
- Detach and attach a disk from one VM to another.

0 commit comments

Comments
 (0)