I'm designing an Azure environment which will contain multiple virtual networks, and a requirement is for all networks to be connected; a VM in any network should be able to talk to another VM in any other network.
I could connect those networks using a full mesh topology, but this would quickly get out of hand as the number of networks increases, and I really don't want to have to set up and manage n(n - 1)/2 VPN connections.
I'd rather connect them using a hub-and-spoke topology, maybe using multiple hubs if the Azure limit of 10 connections per virtual network is reached. However, I'm stuck with a problem: there doesn't seem to be a way to handle routing in Azure.
Let's say, for the sake of simplicity, that I have three virtual networks:
- Network A - 10.10.1.0/24
- Network B - 10.10.2.0/24
- Network C - 10.10.3.0/24
I want to connect Network A to Network B, and Network B to Network C; I don't want a direct connection between networks A and C: I want Network A to talk to Network C via Network B.
This would be a complete non-issue if I had control of the gateways; a couple of static routes would quickly and effectively solve the problem.
However, in Azure I can't find a way to define additional routes for virtual networks, thus I can't tell the gateway for Network A "send traffic addressed for Network C to Network B" (and vice versa).
How can this be achieved in Azure?