Skip to content

Commit 8847a6f

Browse files
Merge pull request #222497 from duongau/s2sbackup
ExpressRoute - Using S2S VPN as a backup for ExpressRoute private peering - freshness review
2 parents 463f297 + e62ea9c commit 8847a6f

File tree

1 file changed

+26
-29
lines changed

1 file changed

+26
-29
lines changed

articles/expressroute/use-s2s-vpn-as-backup-for-expressroute-privatepeering.md

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,32 @@ title: 'Using S2S VPN as a backup for Azure ExpressRoute Private Peering | Micro
33
description: This page provides architectural recommendations for backing up Azure ExpressRoute private peering with S2S VPN.
44
services: networking
55
author: duongau
6-
76
ms.service: expressroute
87
ms.topic: how-to
9-
ms.date: 02/05/2020
8+
ms.date: 12/27/2022
109
ms.author: duau
1110
ms.custom: devx-track-azurepowershell
12-
1311
---
1412

1513
# Using S2S VPN as a backup for ExpressRoute private peering
1614

17-
In the article titled [Designing for disaster recovery with ExpressRoute private peering][DR-PP], we discussed the need for backup connectivity solution for an ExpressRoute private peering connectivity and how to use geo-redundant ExpressRoute circuits for the purpose. In this article, let us consider how to leverage and maintain site-to-site (S2S) VPN as a backup for ExpressRoute private peering.
15+
In the article titled [Designing for disaster recovery with ExpressRoute private peering][DR-PP], we discussed the need for a backup connectivity solution when using ExpressRoute private peering. We also discussed how to use geo-redundant ExpressRoute circuits for high-availability. In this article, we'll explain how to use and maintain a site-to-site (S2S) VPN as a backup for ExpressRoute private peering.
1816

19-
Unlike geo-redundant ExpressRoute circuits, you can use ExpressRoute-VPN disaster recovery combination only in active-passive mode. A major challenge of using any backup network connectivity in the passive mode is that the passive connection would often fail alongside the primary connection. The common reason for the failures of the passive connection is lack of active maintenance. Therefore, in this article let's focus on how to verify and actively maintain S2S VPN connectivity that is backing up an ExpressRoute private peering.
17+
Unlike geo-redundant ExpressRoute circuits, you can only use ExpressRoute and VPN disaster recovery combination in an active-passive setup. A major challenge of using any backup network connectivity in the passive mode is that the passive connection would often fail alongside the primary connection. The common reason for the failures of the passive connection is lack of active maintenance. Therefore, in this article, the focus is on how to verify and actively maintain a S2S VPN connectivity that is backing up an ExpressRoute private peering.
2018

21-
>[!NOTE]
22-
>When a given route is advertised via both ExpressRoute and VPN, Azure would prefer routing over ExpressRoute.
19+
> [!NOTE]
20+
> When a given route is advertised through both ExpressRoute and VPN, Azure will prefer routing over ExpressRoute.
2321
>
2422
25-
In this article, let's see how to verify the connectivity both from the Azure perspective and the customer side network edge perspective. Ability to validate from either end will help irrespective of whether or not you manage the customer side network devices that peer with the Microsoft network entities.
23+
In this article, you'll also learn how to verify the connectivity from both the Azure perspective and the on-premises network edge side. The ability to validate from either side will help irrespective of whether or not you manage the on-premises network devices that peer with the Microsoft network entities.
2624

2725
## Example topology
2826

29-
In our setup, we have an on-premises network connected to an Azure hub VNet via both an ExpressRoute circuit and a S2S VPN connection. The Azure hub VNet is in turn peered to a spoke VNet, as shown in the diagram below:
27+
In our setup, we have an on-premises network connected to an Azure hub VNet via both an ExpressRoute circuit and a S2S VPN connection. The Azure hub VNet is in turn peered to a spoke VNet, as shown in the diagram:
3028

3129
![1][1]
3230

33-
In the setup, the ExpressRoute circuit is terminated on a pair of "Customer Edge" (CE) routers at the on-premises. The on-premises LAN is connected to the CE routers via a pair of firewalls that operate in leader-follower mode. The S2S VPN is directly terminated on the firewalls.
31+
In the setup, the ExpressRoute circuit is terminated on a pair of customer edge (CE) routers at the on-premises. The on-premises LAN is connected to the CE routers with a pair of firewalls that operate in leader-follower mode. The S2S VPN is directly terminated on the firewalls.
3432

3533
The following table lists the key IP prefixes of the topology:
3634

@@ -51,7 +49,6 @@ The following table lists the key IP prefixes of the topology:
5149
| Secondary CE router i/f towards firewall IP | 192.168.11.2/31 |
5250
| Firewall i/f towards secondary CE router IP | 192.168.11.3/31 |
5351

54-
5552
The following table lists the ASNs of the topology:
5653

5754
| **Autonomous system** | **ASN** |
@@ -65,9 +62,9 @@ The following table lists the ASNs of the topology:
6562

6663
### Configuring for high availability
6764

68-
[Configure ExpressRoute and Site-to-Site coexisting connections][Conf-CoExist] discusses how to configure the coexisting ExpressRoute circuit and S2S VPN connections. As we discussed in [Designing for high availability with ExpressRoute][HA], to improve ExpressRoute high availability our setup maintains the network redundancy (avoids single point of failure) all the way up to the endpoints. Also both the primary and secondary connections of the ExpressRoute circuits are configured to operate in active-active mode by advertising the on-premises prefixes the same way through both the connections.
65+
[Configure ExpressRoute and Site-to-Site coexisting connections][Conf-CoExist] discusses how to configure coexisting ExpressRoute and S2S VPN connections. As we discussed in [Designing for high availability with ExpressRoute][HA], to improve ExpressRoute high availability, our setup maintains network redundancy to avoid a single point of failure all the way up to the endpoints. Also, both the primary and secondary connections of the ExpressRoute circuits are configured to operate in an active-active setup by advertising the on-premises prefixes the same way through both the connections.
6966

70-
The on-premises route advertisement of the primary CE router through the primary connection of the ExpressRoute circuit is show below (Junos commands):
67+
The on-premises route advertisement of the primary CE router through the primary connection of the ExpressRoute circuit is shown as follows (Junos commands):
7168

7269
```console
7370
user@SEA-MX03-01> show route advertising-protocol bgp 192.168.11.18
@@ -77,7 +74,7 @@ Cust11.inet.0: 8 destinations, 8 routes (7 active, 0 holddown, 1 hidden)
7774
* 10.1.11.0/25 Self I
7875
```
7976

80-
The on-premises route advertisement of the secondary CE router through the secondary connection of the ExpressRoute circuit is show below (Junos commands):
77+
The on-premises route advertisement of the secondary CE router through the secondary connection of the ExpressRoute circuit is shown as follows (Junos commands):
8178

8279
```console
8380
user@SEA-MX03-02> show route advertising-protocol bgp 192.168.11.22
@@ -87,11 +84,11 @@ Cust11.inet.0: 8 destinations, 8 routes (7 active, 0 holddown, 1 hidden)
8784
* 10.1.11.0/25 Self I
8885
```
8986

90-
To improve the high availability of the backup connection, the S2S VPN is also configured in the active-active mode. The Azure VPN gateway configuration is shown below. Note as part of the VPN configuration VPN the BGP peer IP addresses of the gateway--10.17.11.76 and 10.17.11.77--are also listed.
87+
To improve the high availability of the backup connection, the S2S VPN is also configured in the active-active mode. The Azure VPN gateway configuration is shown as follows. Note as part of the VPN configuration VPN the BGP peer IP addresses of the gateway--10.17.11.76 and 10.17.11.77--are also listed.
9188

9289
![2][2]
9390

94-
The on-premises route is advertised by the firewalls to the primary and secondary BGP peers of the VPN gateway. The route advertisements are shown below (Junos):
91+
The on-premises route is advertised by the firewalls to the primary and secondary BGP peers of the VPN gateway. The route advertisements are shown as follows (Junos):
9592

9693
```console
9794
user@SEA-SRX42-01> show route advertising-protocol bgp 10.17.11.76
@@ -108,17 +105,17 @@ Cust11.inet.0: 14 destinations, 21 routes (14 active, 0 holddown, 0 hidden)
108105
* 10.1.11.0/25 Self I
109106
```
110107

111-
>[!NOTE]
112-
>Configuring the S2S VPN in active-active mode not only provides high-availability to your disaster recovery backup network connectivity, but also provides higher throughput to the backup connectivity. In other words, configuring S2S VPN in active-active mode is recommended as it force create multiple underlying tunnels.
108+
> [!NOTE]
109+
> Configuring the S2S VPN in active-active mode not only provides high-availability to your disaster recovery backup network connectivity, but also provides higher throughput for the backup connectivity. Therefore, configuring S2S VPN in active-active mode is recommended as it will create multiple underlying tunnels.
113110
>
114111
115112
### Configuring for symmetric traffic flow
116113

117-
We noted that when a given on-premises route is advertised via both ExpressRoute and S2S VPN, Azure would prefer the ExpressRoute path. To force Azure prefer S2S VPN path over the coexisting ExpressRoute, you need to advertise more specific routes (longer prefix with bigger subnet mask) via the VPN connection. Our objective here is to use the VPN connections as backup only. So, the default path selection behavior of Azure is in-line with our objective.
114+
We noted that when a given on-premises route is advertised through both ExpressRoute and S2S VPN, Azure would prefer the ExpressRoute path. To force Azure to prefer S2S VPN path over the coexisting ExpressRoute, you need to advertise more specific routes (longer prefix with bigger subnet mask) through the VPN connection. Our objective is to use the VPN connections as backup only. So, the default path selection behavior of Azure is in-line with our objective.
118115

119-
It is our responsibility to ensure that the traffic destined to Azure from on-premises also prefers ExpressRoute path over S2S VPN. The default local preference of the CE routers and firewalls in our on-premises setup is 100. So, by configuring the local preference of the routes received through the ExpressRoute private peerings greater than 100 (say 150), we can make the traffic destined to Azure prefer ExpressRoute circuit in the steady state.
116+
It is our responsibility to ensure that the traffic destined to Azure from on-premises also prefers ExpressRoute path over the Site-to-site VPN. The default local preference of the CE routers and firewalls in our on-premises setup is 100. So, by configuring the local preference of the routes that are received through the ExpressRoute private peerings greater than 100, we can make the traffic that is destined for Azure prefer the ExpressRoute circuit.
120117

121-
The BGP configuration of the primary CE router that terminates the primary connection of the ExpressRoute circuit is shown below. Note the value of the local preference of the routes advertised over the iBGP session is configured to be 150. Similarly, we need to ensure the local preference of the secondary CE router that terminates the secondary connection of the ExpressRoute circuit is also configured to be 150.
118+
The BGP configuration of the primary CE router that terminates the primary connection of the ExpressRoute circuit is shown as follows. Note the value of the local preference of the routes advertised over the iBGP session is configured to be 150. Similarly, we need to ensure the local preference of the secondary CE router that terminates the secondary connection of the ExpressRoute circuit is also configured to be 150.
122119

123120
```console
124121
user@SEA-MX03-01> show configuration routing-instances Cust11
@@ -145,7 +142,7 @@ protocols {
145142
}
146143
```
147144

148-
The routing table of the on-premises firewalls confirms (shown below) that for the on-premises traffic that is destined to Azure the preferred path is over ExpressRoute in the steady state.
145+
The routing table of the on-premises firewalls confirms that for the on-premises traffic that is destined to Azure the preferred path is over ExpressRoute in the steady state.
149146

150147
```console
151148
user@SEA-SRX42-01> show route table Cust11.inet.0 10.17.11.0/24
@@ -225,7 +222,7 @@ Network NextHop AsPath Weight
225222
10.1.11.0/25 10.17.11.69 12076-65020 32769
226223
```
227224

228-
As seen above, the VPN gateway has routes received both by the primary and secondary BGP peers of the VPN gateway. It also has visibility over the routes received via primary and secondary ExpressRoute connections (the ones with AS-path prepended with 12076). To confirm the routes received via VPN connections, we need to know the on-premises BGP peer IP of the connections. In our setup under consideration, it is 192.168.11.88 and we do see the routes received from it.
225+
As seen previously, the VPN gateway has routes received both by the primary and secondary BGP peers of the VPN gateway. It also has visibility over the routes received via primary and secondary ExpressRoute connections (the ones with AS-path prepended with 12076). To confirm the routes received via VPN connections, we need to know the on-premises BGP peer IP of the connections. In our setup under consideration, the IP is 192.168.11.88 and we do see the routes received from it.
229226

230227
Next, let's verify the routes advertised by the Azure VPN gateway to the on-premises firewall BGP peer (192.168.11.88).
231228

@@ -240,11 +237,11 @@ Network NextHop AsPath Weight
240237
10.17.11.128/26 10.17.11.77 65515 0
241238
```
242239

243-
Failure to see route exchanges indicate connection failure. See [Troubleshooting: An Azure site-to-site VPN connection cannot connect and stops working][VPN Troubleshoot] for help with troubleshooting the VPN connection.
240+
Failure to see route exchanges indicate connection failure. See [Troubleshooting: An Azure site-to-site VPN connection can't connect and stops working][VPN Troubleshoot] for help with troubleshooting the VPN connection.
244241

245242
## Testing failover
246243

247-
Now that we have confirmed successful route exchanges over the VPN connection (control plane), we are set to switch traffic (data plane) from the ExpressRoute connectivity to the VPN connectivity.
244+
Now that we have confirmed successful route exchanges over the VPN connection (control plane), we're set to switch traffic (data plane) from the ExpressRoute connectivity to the VPN connectivity.
248245

249246
>[!NOTE]
250247
>In production environments failover testing has to be done during scheduled network maintenance work-window as it can be service disruptive.
@@ -266,9 +263,9 @@ Tracing route to 10.17.11.132 over a maximum of 30 hops
266263
Trace complete.
267264
```
268265

269-
The primary and secondary ExpressRoute point-to-point connection subnets of our setup are, respectively, 192.168.11.16/30 and 192.168.11.20/30. In the above trace route, in step 3 we see that we are hitting 192.168.11.18, which is the interface IP of the primary MSEE. Presence of MSEE interface confirms that as expected our current path is over the ExpressRoute.
266+
The primary and secondary ExpressRoute point-to-point connection subnets of our setup are, respectively, 192.168.11.16/30 and 192.168.11.20/30. In the above trace route, in step 3 we see that we're hitting 192.168.11.18, which is the interface IP of the primary MSEE. Presence of MSEE interface confirms that as expected our current path is over the ExpressRoute.
270267

271-
As reported in the [Reset ExpressRoute circuit peerings][RST], let's use the following powershell commands to disable both the primary and secondary peering of the ExpressRoute circuit.
268+
As reported in the [Reset ExpressRoute circuit peerings][RST], let's use the following PowerShell commands to disable both the primary and secondary peering of the ExpressRoute circuit.
272269

273270
```powershell
274271
$ckt = Get-AzExpressRouteCircuit -Name "expressroute name" -ResourceGroupName "SEA-Cust11"
@@ -298,11 +295,11 @@ $ckt.Peerings[0].State = "Enabled"
298295
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
299296
```
300297

301-
To confirm the traffic is switched back to ExpressRoute, repeat the traceroute and ensure that it is going through the ExpressRoute private peering.
298+
To confirm the traffic is switched back to ExpressRoute, repeat the traceroute and ensure that it's going through the ExpressRoute private peering.
302299

303300
## Next steps
304301

305-
ExpressRoute is designed for high availability with no single point of failure within the Microsoft network. Still an ExpressRoute circuit is confined to a single geographical region and to a service provider. S2S VPN can be a good disaster recovery passive backup solution to an ExpressRoute circuit. For a dependable passive backup connection solution, regular maintenance of the passive configuration and periodical validation the connection are important. It is essential not to let the VPN configuration become stale, and to periodically (say every quarter) repeat the validation and failover test steps described in this article during maintenance window.
302+
ExpressRoute is designed for high availability with no single point of failure within the Microsoft network. Still an ExpressRoute circuit is confined to a single geographical region and to a service provider. S2S VPN can be a good disaster recovery passive backup solution to an ExpressRoute circuit. For a dependable passive backup connection solution, regular maintenance of the passive configuration and periodical validation the connection are important. It's essential not to let the VPN configuration become stale, and to periodically (say every quarter) repeat the validation and failover test steps described in this article during maintenance window.
306303

307304
To enable monitoring and alerts based on VPN gateway metrics, see [Set up alerts on VPN Gateway metrics][VPN-alerts].
308305

0 commit comments

Comments
 (0)