Облачная маршрутизация Google с VPC, которые работают в частично связанной сетчатой топологии
Мы разделяем нашу инфраструктуру Google Cloud на несколько проектов, каждый из которых имеет свой собственный VPC. У нас есть один центральный VPC, давайте назовем его vpcA
, к которому мы подключаемся через pritunl VPN и туннель между сайтами снаружи.
Мы также подключены vpcA
для нескольких разных других проектов B с vpcB
и C с vpcC
используя пиринг VPC. Это прекрасно работает, потому что все могут видеть содержимое vpcA
, а также vpcA
можно увидеть содержимое vpcB
а также vpcC
, Все имеет уникальные 10.0.0.0 IP-адресов. Каждый vpc имеет свой уникальный диапазон CIDR (например, 10.96.0.0/16 для vpcA
, 10.97.0.0/16 для vpcB
, так далее). Все подсети расположены в одном регионе.
Наша проблема сейчас в том, что vpcB
ничего не видно в vpcC
, VPC пиринг только маршруты между локальными сетями vpc, а не одноранговые сети этого vpc (например, от vpcB
в vpcA
маршрутизируется только диапазон 10.96.0.0/16). Кажется, нет способа изменить это, чтобы направить весь другой трафик также.
Хотя мы можем напрямую соединить vpcB
а также vpcC
с помощью отдельного пиринга, который быстро становится сложным по мере увеличения числа vpcs. Кроме того, и это действительно прорыв прямо сейчас, когда мы соединяем нашу локальную инфраструктуру с vpcA
используя Google Cloud VPN Gateway/Tunnel, он также видит только vpcA
содержание. Создание прямого VPN-туннеля для каждого из наших VPC приведет к большим накладным расходам и большим дополнительным расходам (с 10 VPC, которые будут стоить 360 долларов в месяц без трафика, просто для однорангового подключения).
Теперь вопрос в том, пропускаем ли мы что-нибудь? Есть ли способ создать частично подключенную топологию сетки с VPC в Google Cloud?
Спасибо Волкер
2 ответа
Согласно документации GCP, это невозможно vpcB
а также vpcC
общаться:
Только напрямую одноранговые сети могут общаться. Транзитивный пиринг не поддерживается. Другими словами, если сеть N1 VPC однорангова с N2 и N3, но N2 и N3 также не связаны напрямую, сеть N2 VPC не может обмениваться данными с сетью N3 VPC через пиринг.
Кроме того, VPN-соединения не экспортируются в одноранговые VPC:
Следующие типы конечных точек / ресурсов НЕ распространяются в сети с непосредственным доступом: статические маршруты, VPN
Когда вы используете пиринг VPC, GCP будет создавать маршруты в каждом VPC, чтобы связать их. Поскольку VPCb и VPCc не являются одноранговыми, между ними нет маршрутов, поэтому он не будет работать.
Есть несколько обходных путей:
Вручную создайте маршруты для отправки трафика из VPCb, предназначенного для VPCc, в VPCa и наоборот (все еще существует ограничение на количество маршрутов, которые вы можете иметь)
используйте один общий VPC вместо нескольких отдельных VPC, которые в настоящее время находятся в режиме пиринга. Общие VPC будут масштабироваться лучше, чем многоуровневые VPC.
Что касается облачных VPN, убедитесь, что ваша сеть настроена на использование режима глобальной маршрутизации, чтобы VPN могла взаимодействовать с любой зоной и подсетью в глобальном масштабе. Опять же, использование Shared VPC будет означать один VPN-шлюз