Skip to content

Commit 35e455a

Browse files
authored
Merge pull request #273145 from AbdullahBell/expressroute-gateway-migration
ExpressRoute: Update: Migrate to an availability zone-enabled ExpressRoute virtual network gateway
2 parents b9dc008 + 728fef1 commit 35e455a

10 files changed

+251
-48
lines changed

articles/expressroute/TOC.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
href: expressroute-about-virtual-network-gateways.md
6464
- name: About zone-redundant gateways for Availability Zones
6565
href: ../vpn-gateway/about-zone-redundant-vnet-gateways.md?toc=/azure/expressroute/toc.json
66+
- name: About Migrating to an AZ gateway
67+
href: gateway-migration.md
6668
- name: About ExpressRoute FastPath
6769
href: about-fastpath.md
6870
- name: About ExpressRoute Direct
@@ -234,7 +236,11 @@
234236
- name: Migrate to a new circuit
235237
href: circuit-migration.md
236238
- name: Migrate to an AZ gateway
237-
href: gateway-migration.md
239+
items:
240+
- name: Azure portal
241+
href: expressroute-howto-gateway-migration-portal.md
242+
- name: Azure PowerShell
243+
href: expressroute-howto-gateway-migration-powershell.md
238244
- name: Moving from classic to Resource Manager
239245
items:
240246
- name: Move a circuit from classic to Resource Manager

articles/expressroute/expressroute-about-virtual-network-gateways.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ Before you create an ExpressRoute gateway, you must create a gateway subnet. The
7171

7272
> [!NOTE]
7373
> [!INCLUDE [vpn-gateway-gwudr-warning.md](../../includes/vpn-gateway-gwudr-warning.md)]
74-
>
75-
7674
> - We don't recommend deploying Azure DNS Private Resolver into a virtual network that has an ExpressRoute virtual network gateway and setting wildcard rules to direct all name resolution to a specific DNS server. Such a configuration can cause management connectivity issues.
7775
7876

@@ -90,7 +88,7 @@ Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.0.3.0/2
9088

9189
### <a name="zrgw"></a>Zone-redundant gateway SKUs
9290

93-
You can also deploy ExpressRoute gateways in Azure Availability Zones. This configuration physically and logically separates them into different Availability Zones, protecting your on-premises network connectivity to Azure from zone-level failures.
91+
You can also deploy ExpressRoute gateways in Azure Availability Zones. This configuration physically and logically separates them into different Availability Zones, protecting your on-premises network connectivity to Azure from zone-level failures.
9492

9593
![Zone-redundant ExpressRoute gateway](./media/expressroute-about-virtual-network-gateways/zone-redundant.png)
9694

@@ -102,6 +100,8 @@ Zone-redundant gateways use specific new gateway SKUs for ExpressRoute gateway.
102100

103101
The new gateway SKUs also support other deployment options to best match your needs. When creating a virtual network gateway using the new gateway SKUs, you can deploy the gateway in a specific zone. This type of gateway is referred to as a zonal gateway. When you deploy a zonal gateway, all the instances of the gateway are deployed in the same Availability Zone.
104102

103+
To learn about migrating an ExpressRoute gateway, see [Gateway migration](gateway-migration.md).
104+
105105
## VNet to VNet and VNet to Virtual WAN connectivity
106106

107107
By default, VNet to VNet and VNet to Virtual WAN connectivity is disabled through an ExpressRoute circuit for all gateway SKUs. To enable this connectivity, you must configure the ExpressRoute virtual network gateway to allow this traffic. For more information, see guidance about [virtual network connectivity over ExpressRoute](virtual-network-connectivity-guidance.md). To enabled this traffic, see [Enable VNet to VNet or VNet to Virtual WAN connectivity through ExpressRoute](expressroute-howto-add-gateway-portal-resource-manager.md#enable-or-disable-vnet-to-vnet-or-vnet-to-virtual-wan-traffic-through-expressroute).
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
title: Migrate to an availability zone-enabled ExpressRoute virtual network gateway in Azure portal
3+
titleSuffix: Azure ExpressRoute
4+
description: This article explains how to seamlessly migrate from Standard/HighPerf/UltraPerf SKUs to ErGw1/2/3AZ SKUs in Azure portal.
5+
services: expressroute
6+
author: duongau
7+
ms.service: expressroute
8+
ms.custom: ignite-2023, devx-track-azurepowershell
9+
ms.topic: how-to
10+
ms.date: 04/26/2024
11+
ms.author: duau
12+
---
13+
14+
# Migrate to an availability zone-enabled ExpressRoute virtual network gateway in Azure portal
15+
16+
When you create an ExpressRoute virtual network gateway, you need to choose the [gateway SKU](expressroute-about-virtual-network-gateways.md#gateway-types). If you choose a higher-level SKU, more CPUs and network bandwidth are allocated to the gateway. As a result, the gateway can support higher network throughput and more dependable network connections to the virtual network.
17+
18+
The following SKUs are available for ExpressRoute virtual network gateways:
19+
20+
* Standard
21+
* HighPerformance
22+
* UltraPerformance
23+
* ErGw1Az
24+
* ErGw2Az
25+
* ErGw3Az
26+
* ErGwScale (Preview)
27+
28+
## Prerequisites
29+
30+
- Review the [Gateway migration](gateway-migration.md) article before you begin.
31+
- You must have an existing [ExpressRoute Virtual network gateway](expressroute-howto-add-gateway-portal-resource-manager.md) in your Azure subscription.
32+
- A second prefix is required for the gateway subnet. If you have only one prefix, you can add a second prefix by following the steps in the [Add a second prefix to the gateway subnet](#add-a-second-prefix-to-the-gateway-subnet) section.
33+
34+
## Add a second prefix to the gateway subnet
35+
36+
The gateway subnet needs two or more address prefixes for migration. If you have only one prefix, you can add a second prefix by following these steps.
37+
38+
1. First, update the `Az.Network` module to the latest version by running this PowerShell command:
39+
40+
```powershell-interactive
41+
Update-Module -Name Az.Network -Force
42+
```
43+
44+
1. Then, add a second prefix to the **GatewaySubnet** by running these PowerShell commands:
45+
46+
```powershell-interactive
47+
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroup
48+
$subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $vnet
49+
$prefix = "Enter new prefix"
50+
$subnet.AddressPrefix.Add($prefix)
51+
Set-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $vnet -AddressPrefix $subnet.AddressPrefix
52+
Set-AzVirtualNetwork -VirtualNetwork $vnet
53+
```
54+
55+
## Migrate to a new gateway in Azure portal
56+
57+
Here are the steps to migrate to a new gateway in Azure portal.
58+
59+
60+
1. In the [Azure portal](https://portal.azure.com/), navigate to your Virtual Network Gateway resource.
61+
62+
1. the left-hand menu under *Settings*, select **Gateway SKU Migration**.
63+
64+
:::image type="content" source="media/gateway-migration/gateway-sku-migration-location.png" alt-text="Screenshot of Gateway migration location."lightbox="media/gateway-migration/gateway-sku-migration-location.png":::
65+
66+
1. Select **Validate** to check if the gateway is ready for migration. You'll first see a list of prerequisites that must be met before migration can begin. If these prerequisites aren't met, validation fails and you can't proceed.
67+
68+
:::image type="content" source="media/gateway-migration/validate-step.png" alt-text="Screenshot of the validate step for migrating a virtual network gateway."lightbox="media/gateway-migration/validate-step.png":::
69+
70+
1. Once validation is successful, you enter the *Prepare* stage. Here, a new Virtual Network gateway is created. Under **Virtual Network Gateway Details**, enter the following information.
71+
72+
:::image type="content" source="media/gateway-migration/gateway-prepare-stage.png" alt-text="Screenshot of the Prepare stage for migrating a virtual network gateway."lightbox="media/gateway-migration/gateway-prepare-stage.png":::
73+
74+
| Setting | Value |
75+
| --------| ----- |
76+
| **Gateway Name** | Enter a name for the new gateway. |
77+
| **Gateway SKU** | Select the SKU for the new gateway. |
78+
| **Public IP Address** | Select **Add new**, then enter a name for the new public IP, select your availability zone, and select **OK** |
79+
80+
> [!NOTE]
81+
> Be aware that your existing Virtual Network gateway will be locked during this process, preventing any creation or modification of connections to this gateway.
82+
83+
1. Select **Prepare** to create the new gateway. This operation could take up to 15 minutes.
84+
85+
1. After the new gateway is created, you'll proceed to the *Migrate* stage. Here, select the new gateway you created. In this example, it's **myERGateway_migrated**. This transfers the settings from your old gateway to the new one. All network traffic, control plane, and data path connections from your old gateway will transfer without any interruptions. To start this process, select **Migrate Traffic**. This operation could take up to 5 minutes.
86+
87+
:::image type="content" source="media/gateway-migration/migrate-traffic-step.png" alt-text="Screenshot of migrating traffic for migrating a virtual network gateway."lightbox="media/gateway-migration/migrate-traffic-step.png":::
88+
89+
1. After the traffic migration is finished, you'll proceed to the *Commit* stage. In this stage, you finalize the migration, which involves deleting the old gateway. To do this, select **Commit Migration**. This final step is designed to occur without causing any downtime.
90+
91+
:::image type="content" source="media/gateway-migration/commit-step.png" alt-text="Screenshot of the commit step for migrating a virtual network gateway."lightbox="media/gateway-migration/commit-step.png":::
92+
93+
94+
>[!IMPORTANT]
95+
> - Before running this step, verify that the new virtual network gateway has a working ExpressRoute connection.
96+
> - When migrating your gateway, you can expect possible interruption for a maximum of 30 seconds.
97+
98+
## Next steps
99+
100+
* Learn more about [designing for high availability](designing-for-high-availability-with-expressroute.md).
101+
* Plan for [disaster recovery](designing-for-disaster-recovery-with-expressroute-privatepeering.md) and [using VPN as a backup](use-s2s-vpn-as-backup-for-expressroute-privatepeering.md).
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Migrate to an availability zone-enabled ExpressRoute virtual network gateway using PowerShell
3+
titleSuffix: Azure ExpressRoute
4+
description: This article explains how to seamlessly migrate from Standard/HighPerf/UltraPerf SKUs to ErGw1/2/3AZ SKUs using PowerShell.
5+
services: expressroute
6+
author: duongau
7+
ms.service: expressroute
8+
ms.custom: ignite-2023, devx-track-azurepowershell
9+
ms.topic: how-to
10+
ms.date: 04/26/2024
11+
ms.author: duau
12+
---
13+
14+
# Migrate to an availability zone-enabled ExpressRoute virtual network gateway using PowerShell
15+
16+
When you create an ExpressRoute virtual network gateway, you need to choose the [gateway SKU](expressroute-about-virtual-network-gateways.md#gateway-types). If you choose a higher-level SKU, more CPUs and network bandwidth are allocated to the gateway. As a result, the gateway can support higher network throughput and more dependable network connections to the virtual network.
17+
18+
The following SKUs are available for ExpressRoute virtual network gateways:
19+
20+
* Standard
21+
* HighPerformance
22+
* UltraPerformance
23+
* ErGw1Az
24+
* ErGw2Az
25+
* ErGw3Az
26+
* ErGwScale (Preview)
27+
28+
## Prerequisites
29+
30+
- Review the [Gateway migration](gateway-migration.md) article before you begin.
31+
- You must have an existing [ExpressRoute Virtual network gateway](expressroute-howto-add-gateway-portal-resource-manager.md) in your Azure subscription.
32+
33+
### Working with Azure PowerShell
34+
35+
[!INCLUDE [updated-for-az](../../includes/hybrid-az-ps.md)]
36+
37+
[!INCLUDE [expressroute-cloudshell](../../includes/expressroute-cloudshell-powershell-about.md)]
38+
39+
## Migrate to a new gateway in using PowerShell
40+
41+
Here are the steps to migrate to a new gateway using PowerShell.
42+
43+
### Clone the script
44+
45+
1. Clone the setup script from GitHub.
46+
47+
```azurepowershell-interactive
48+
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/
49+
```
50+
51+
1. Change to the directory where the script is located.
52+
53+
```azurepowershell-interactive
54+
CD azure-docs-powershell-samples/expressroute-gateway/
55+
```
56+
### Prepare the migration
57+
58+
This script creates a new ExpressRoute Virtual Network gateway on the same GatewaySubnet and connects it to your existing ExpressRoute circuits.
59+
60+
1. Run the **PrepareMigration.ps1** script to prepare the migration.
61+
62+
```azurepowershell-interactive
63+
gateway-migration/preparemigration.ps1
64+
```
65+
1. Enter the ID of the Gateway resource that is set to be migrated.
66+
1. The gateway subnet needs two or more address prefixes for migration. If you have only one prefix, you will be prompted to enter an additional prefix.
67+
1. Enter an availability zone for your new gateway.
68+
69+
### Run the migration
70+
71+
This script transfers the configuration from the old gateway to the new one.
72+
73+
1. Run the **Migration.ps1** script to perform the migration.
74+
75+
```azurepowershell-interactive
76+
gateway-migration/migration.ps1
77+
```
78+
1. Enter the ID of the pre-migration gateway.
79+
1. Enter the ID of the post-migration gateway.
80+
81+
### Commit the migration
82+
83+
This script deletes the old gateway and its connections.
84+
85+
1. Run the **CommitMigration.ps1** script to complete the migration.
86+
87+
```azurepowershell-interactive
88+
gateway-migration/commitmigration.ps1
89+
```
90+
1. Enter the ID of the pre-migration gateway.
91+
92+
>[!IMPORTANT]
93+
> - Before running this step, verify that the new virtual network gateway has a working ExpressRoute connection.
94+
> - When migrating your gateway, you can expect possible interruption for a maximum of 30 seconds.
95+
96+
97+
98+
99+
## Next steps
100+
101+
* Learn more about [designing for high availability](designing-for-high-availability-with-expressroute.md).
102+
* Plan for [disaster recovery](designing-for-disaster-recovery-with-expressroute-privatepeering.md) and [using VPN as a backup](use-s2s-vpn-as-backup-for-expressroute-privatepeering.md).

0 commit comments

Comments
 (0)