мы разделяем нашу инфраструктуру Google Cloud на несколько проектов, каждый со своим собственным VPC. У нас есть один центральный VPC, назовем его vpcA
, к которому мы подключаемся через pritunl VPN и туннель site-to-site извне.
Мы также подключили vpcA
к нескольким другим проектам B с vpcB
и C с vpcC
с использованием пиринга VPC. Это отлично работает, поскольку все могут видеть содержимое vpcA
, и vpcA
можно увидеть содержимое vpcB
и vpcC
. У всего есть уникальные IP-адреса 10.0.0.0. Каждый 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
использование отдельного пиринга, который быстро усложняется по мере увеличения количества виртуальных ПК. Кроме того, и это действительно критический момент, когда мы подключаем нашу локальную инфраструктуру к vpcA
используя шлюз / туннель Google Cloud VPN, он также видит только vpcA
содержание. Создание прямого туннеля VPN для каждого из наших VPC приведет к большим накладным расходам и большим дополнительным расходам (с 10 VPC, что будет стоить 360 долларов в месяц без трафика, только для однорангового соединения).
Теперь вопрос в том, что нам не хватает? Есть ли способ создать частично подключенную топологию сетки с VPC в Google Cloud?
Спасибо волкер
Согласно Документация GCP, это невозможно для vpcB
и vpcC
общаться:
Только одноранговые сети могут взаимодействовать. Транзитивный пиринг не поддерживается. Другими словами, если сеть VPC N1 является одноранговой с N2 и N3, но N2 и N3 также не подключены напрямую, сеть VPC N2 не может взаимодействовать с сетью VPC N3 через пиринг.
Кроме того, VPN-соединения не экспортируются в одноранговые VPC:
Следующие типы конечных точек / ресурсов НЕ распространяются в одноранговые сети: статические маршруты, VPN.
Когда вы используете пиринг VPC, GCP будет создавать маршруты в каждом VPC, чтобы связать их. Поскольку VPCb и VPCc не являются одноранговыми, между ними нет маршрутов, поэтому это не сработает.
Есть несколько обходных путей:
Вручную создавайте маршруты для отправки трафика из VPCb, предназначенного для VPCc, в VPCa и наоборот (все еще существует ограничение на количество маршрутов, которые вы можете иметь)
использовать один Общий VPC вместо нескольких отдельных VPC, к которым осуществляется пиринг. Общие VPC масштабируются лучше, чем несколько одноранговых VPC
Что касается облачных VPN, убедитесь, что ваша сеть настроена для использования Режим глобальной маршрутизации так что VPN может связываться с каждой зоной и подсетью глобально. Опять же, использование общего VPC будет означать один VPN-шлюз.