У меня есть следующие партии:
Org1 — владелец создаваемого приложения.
Vendor1 — третья сторона, создавшая приложение.
Client1 — потребитель приложения
Clinet2 — потребитель приложения
Наше приложение настроено как «мультитенантность через инфраструктуру» (т. е. каждый клиент получает свой собственный набор серверов, баз данных и т. д. Одно требование состоит в том, чтобы каждый клиент имел прямой доступ к своей базе данных, а база данных была доступна только через VPN.
Для поддержки этого мы настроили следующие виртуальные сети:
Clinet1_Internal_VNet — база данных находится в этой виртуальной сети.
Clinet2_Internal_VNet — база данных находится в этой виртуальной сети.
Vendor1_VNet — VPN поставщика 1 подключается к шлюзу виртуальной сети в этой виртуальной сети.
Clinet1_VPN_VNet — VPN Client1 подключается к шлюзу виртуальной сети в этой виртуальной сети.
Clinet2_VPN_VNet — VPN Client2 подключается к виртуальному сетевому шлюзу в этой виртуальной сети.
Пиринги следующие:
Clinet1_VPN_VNet -> Подключается к Clinet1_Internal_VNet
Clinet2_VPN_VNet -> Подключается к Clinet2_Internal_VNet
Vendor1_VNet -> подключается к Clinet1_Internal_VNet и Clinet2_Internal_VNet
Если я настрою Clinet1_Internal_VNet на использование (удаленного) шлюза, в соединениях Clinet1_VPN_VNet будут работать.
Если затем я настрою Clinet1_Internal_VNet на использование (удаленного) шлюза в Vendor1_VNet, я получу сообщение об ошибке (поскольку у вас может быть только 1 удаленный шлюз на виртуальную сеть).
Я попытался вручную добавить маршрут (Clinet1_Internal_VNet -> Vendor1_VNet) в таблицу маршрутов, но пользовательский интерфейс не позволяет этого.
Если я смотрю на трафик, я вижу поток трафика между виртуальными сетями, но он не выходит наружу (через шлюз).
Есть ли способ добиться этого, сохранив разделение виртуальных сетей (я понимаю, что могу настроить VPN с несколькими сайтами в модели с концентраторами и лучами, но меня беспокоит, что клиент 1 получит доступ к виртуальной сети клиента 2).