Am urmatoarele partide:
Org1 - Proprietarul aplicației care se construiește
Vendor1 - a treia parte care a creat aplicația
Client1 - Un consumator al aplicației
Clinet2 - Un consumator al aplicației
Aplicația noastră este configurată ca „multi-tenancy prin infrastructură” (adică fiecare client are propriul set de servere, DB-uri etc. O cerință este ca fiecare client să aibă acces direct la baza sa de date, iar baza de date să fie accesibilă numai prin VPN.
Pentru a sprijini acest lucru, am configurat următoarele rețele virtuale:
Clinet1_Internal_VNet - Baza de date locuiește în această rețea virtuală
Clinet2_Internal_VNet - Baza de date locuiește în această rețea virtuală
Vendor1_VNet - VPN-ul lui Vendor1 se conectează la un Gateway de rețea virtuală în acest VNET
Clinet1_VPN_VNet - VPN-ul Client1 se conectează la un Gateway de rețea virtuală în acest VNET
Clinet2_VPN_VNet - VPN-ul Client2 se conectează la un Gateway de rețea virtuală în acest VNET
Peering-urile sunt după cum urmează:
Clinet1_VPN_VNet -> Se conectează la Clinet1_Internal_VNet
Clinet2_VPN_VNet -> Se conectează la Clinet2_Internal_VNet
Vendor1_VNet -> Se conectează la Clinet1_Internal_VNet și Clinet2_Internal_VNet
Dacă am setat Clinet1_Internal_VNet să utilizeze gateway-ul (la distanță) în Clinet1_VPN_VNet, conexiunile funcționează.
Dacă apoi setez Clinet1_Internal_VNet să utilizeze gateway-ul (la distanță) în Vendor1_VNet, primesc o eroare (deoarece puteți avea doar 1 gateway la distanță per VNet).
Am încercat să adaug manual ruta (Clinet1_Internal_VNet -> Vendor1_VNet) într-un tabel de rute, dar UI nu permite asta.
Dacă mă uit la trafic, văd fluxul de trafic între rețele virtuale, dar nu iese afară (prin gateway).
Există vreo modalitate prin care pot realiza acest lucru, păstrând segregarea rețelei virtuale (înțeleg că pot configura un VPN de mai multe site-uri la site într-un model hub and spoke, dar sunt îngrijorat că Client1 va avea acces la rețeaua virtuală a Client2).