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

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

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

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

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

Другие вопросы по тегам