Назад | Перейти на главную страницу

Маршрутизация Google Cloud с VPC, подключенными к частично подключенной топологии сетки

мы разделяем нашу инфраструктуру 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 не являются одноранговыми, между ними нет маршрутов, поэтому это не сработает.

Есть несколько обходных путей:

  1. Вручную создавайте маршруты для отправки трафика из VPCb, предназначенного для VPCc, в VPCa и наоборот (все еще существует ограничение на количество маршрутов, которые вы можете иметь)

  2. использовать один Общий VPC вместо нескольких отдельных VPC, к которым осуществляется пиринг. Общие VPC масштабируются лучше, чем несколько одноранговых VPC

Что касается облачных VPN, убедитесь, что ваша сеть настроена для использования Режим глобальной маршрутизации так что VPN может связываться с каждой зоной и подсетью глобально. Опять же, использование общего VPC будет означать один VPN-шлюз.