Ok, isso pode ser feito, mas definitivamente não é tão fácil quanto poderia (e deveria) ser.
Basicamente, o truque é usar as "redes locais" do Azure para configurar os gateways do Azure como quisermos, mesmo que não possamos tocar diretamente em suas configurações.
Para configurar uma conexão entre duas redes virtuais do Azure, é necessário definir duas "redes locais" correspondentes e, em seguida, cada rede deve se conectar à "rede local" correspondente à outra; isso já é um processo não tão simples, mas pelo menos existe algumas documentação sobre isso. Ter mais de uma conexão única para uma determinada rede virtual é ainda mais complexo, porque você não pode manipular isso do portal de gerenciamento (ou PowerShell) e, em vez disso, deve editar manualmente os arquivos de configuração de rede; no entanto, até isso pode ser feito .
Mas e o roteamento? No cenário descrito nesta questão, e assumindo que a Rede B está conectada corretamente à Rede A e à Rede C, como podemos rotear o tráfego entre essas duas redes?
Podemos fazer isso usando as definições da rede local; Basicamente, temos que informar ao gateway da Rede A que sua conexão com a Rede B não é apenas boa para alcançar a sub-rede IP da Rede B, mas também a da Rede C; e, claro, vamos dizer o contrário para o gateway da Rede C.
Já temos que definir quatro redes locais:
- Rede Local A (do ponto de vista da Rede Virtual B): 10.10.1.0/24
- Rede Local C (do ponto de vista da Rede Virtual B): 10.10.3.0/24
- Rede Local B (do ponto de vista da Rede Virtual A): 10.10.2.0/24
- Rede Local B (do ponto de vista da Rede Virtual C): 10.10.2.0/24
Nós os modificaremos assim:
- Rede Local A (do ponto de vista da Rede Virtual B): 10.10.1.0/24
- Rede Local C (do ponto de vista da Rede Virtual B): 10.10.3.0/24
- Rede Local B (do ponto de vista da Rede Virtual A): 10.10.2.0/24 e 10.10.3.0/24
- Rede Local B (do ponto de vista da Rede Virtual C): 10.10.2.0/24 e 10.10.1.0/24
Desta forma, quando a Rede A se conecta à Rede B, ela usará esta conexão para rotear pacotes direcionados para a Rede C. Quando o gateway da Rede B os receber, ele já saberá como lidar com eles, e os roteará. através da sua ligação à Rede C; e vice-versa.
Como um bônus adicional, isso funciona para conexões site a site fora do Azure também. Se você quiser jogar uma VPN no seu QG da empresa e, por exemplo, conecte-o à Rede B (criando assim uma topologia em forma de Y), você pode dizer à Rede A e à Rede B que eles podem alcançar o QG da sua empresa através de sua conexão com a Rede B, exatamente da mesma maneira.