- Newest
- Most votes
- Most comments
This behavior is expected when connecting an AWS Transit Gateway to an Azure VPN Gateway in active-active mode. The issue stems from how Azure handles BGP peering in this configuration.
Azure VPN Gateway in active-active mode creates two separate gateway instances, each with its own public IP address. When you create a Site-to-Site VPN connection to AWS, Azure establishes one IPsec tunnel from each gateway instance. However, Azure's BGP implementation only establishes BGP peering through one of these tunnels at a time, even though both IPsec tunnels may show as UP.
This is not a misconfiguration on your part—it's an architectural characteristic of how Azure VPN Gateway operates. The second tunnel serves as a standby for IPsec connectivity, but BGP route exchange only occurs through the primary tunnel. If the first tunnel fails, Azure should fail over and establish BGP peering through the second tunnel, at which point you'd see the routes shift to tunnel 2.
For true active-active redundancy with both tunnels learning and advertising routes simultaneously, you would need to create two separate VPN connections in AWS (each with its own pair of tunnels) and configure Azure to peer with both connections. This way, each Azure gateway instance would have its own dedicated AWS VPN connection, allowing BGP to run actively on multiple tunnels concurrently.
Your current setup does provide redundancy—just not in an active-active BGP fashion. The second tunnel will take over route advertisement if the first fails, ensuring continuity of your connectivity.
The re:Post Agent is correct. This is well documented by Azure, see references. If you require both tunnels to actively exchange routes simultaneously, create two VPN connections then configure each VPN Gateway instance to peer with a different AWS VPN connection on the Azure side.
References:
Relevant content
asked 3 years ago
asked 4 years ago
asked 9 months ago
