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

Маршрутизация трафика между VPC в одном регионе и VPC в другом регионе

Чтобы позволить экземплярам в VPC в Орегоне (us-west-2) связываться с экземплярами на другом VPC в Ирландии (eu-west-1), я установил машины шлюза OpenSwan в обоих регионах и установил туннель IPSEC между два региона, которые работают нормально.

Details:
Oregon VPC CIDR: 172.31.0.0/16
Ireland VPC CIDR: 172.91.0.0/16

В Ирландии я использовал шаблон CloudFormation, который я написал для создания нового стека, который, помимо прочего, создает новый изолированный VPC, и одна из задач, выполняемых CloudFormation, - это одноранговое соединение между VPC Ирландии по умолчанию и вновь созданным (изолированным) ) VPC.

The new isolated VPC CIDR: 172.52.0.0/16.

На данный момент, если я запускаю команду ping от экземпляра, находящегося в VPC по умолчанию в Орегоне (172.31.x.x), к экземпляру, находящемуся в VPC по умолчанию для Ирландии (172.91.x.x), это работает как шарм.

Затем я хотел бы, чтобы машины в новом изолированном VPC (172.52.x.x) могли подключаться к экземплярам в VPC по умолчанию в Орегоне (172.31.x.x).

Таблица маршрутизации, связанная с VPC по умолчанию в Орегоне, настроена для маршрутизации трафика:

to: 172.52.0.0/16 GW: Interface of the OpenSwan server in Oregon.
to: 172.91.0.0/16 GW: Interface of the OpenSwan server in Oregon.

Таблица маршрутизации, связанная с VPC по умолчанию в Ирландии, настроена для маршрутизации трафика:

to: 172.31.0.0/16 GW: Interface of the OpenSwan server in Ireland.
to: 172.52.0.0/16 GW: The peering connection ID (between 172.52.x.x and 172.91.x.x)

Группа безопасности, прикрепленная к экземпляру OpenSwan в Орегоне:

Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Ireland.

Группа безопасности, прикрепленная к экземпляру OpenSwan в Ирландии:

Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Oregon.

ipsec.conf:

version 2.0     # conforms to second version of ipsec.conf specification

# basic configuration
config setup
        protostack=netkey
        nat_traversal=yes
        virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:172.91.0.0/16,%v4:172.52.0.0/16,%v4:25.0.0.0/8,%v4:172.31.0.0/16,%v4:172.59.0.0/20,%v6:fd00::/8,%v6:fe80::/10
        oe=off

include /etc/ipsec.d/*.conf

Я могу выполнить эхо-запрос экземпляра, находящегося в VPC по умолчанию в Орегоне, с каждой из машин OpenSwan (Орегон / Ирландия) и наоборот, но я не могу выполнить эхо-запрос этого экземпляра с экземпляра, находящегося в подсети 172.52.xx / 16 .

Как вы думаете, какой маршрут я пропускаю? Мне нужно разрешить экземплярам в изолированном VPC в Ирландии достичь VPC по умолчанию в Орегоне.

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

Также кажется, что на данный момент он еще не поддерживается AWS Cloud Formation, но это можно сделать через пользовательский интерфейс и Cli.

Если вы посмотрите на Amazon официальная документация - create-vpc-peering, вы увидите новый переключатель:

[--peer-region <value>]

Таким образом, необходимость в VPN между регионами отпала, потому что я могу использовать эту функцию межрегионального пиринга для достижения своей цели по созданию сети между моим изолированным VPC в Ирландии и Management VPC в Орегоне.

Ваша конфигурация не будет работать, потому что пиринг VPC не является транзитивным, см.: http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html#transitive-peering для официального документа по нему. для вашей настройки это означает, что будет передаваться только трафик между VPC Ирландии по умолчанию и изолированным VPC Ирландии (172.91.0.0/16 <-> 172.91.0.0/16)

Пакеты из Орегона, предназначенные для изолированного VPC (172.31.0.0/16 <-> 172.52.0.0/16), будут отброшены пиринговым соединением, даже если вы поместите маршруты как в изолированную, так и в стандартную таблицу маршрутов VPC, что я думаю вам не хватает.

Если вам нужно соединение только в одном направлении (например, сервер в изолированном клиенте VPN в Орегоне. У вас может быть NAT-трафик экземпляра openVPN в Ирландии из Орегона в сторону изолированного VPC ... это приведет к тому, что трафик через пиринговую ссылку будет поступать из 172.91.0.0 / 16, что разрешено.

ЕСЛИ NAT не работает, вам необходимо настроить прямое подключение между изолированным VPC и Oregon VPC, либо с большим количеством VPN-туннелей, либо с новым межрегиональным пирингом. https://aws.amazon.com/about-aws/whats-new/2017/11/announcing-support-for-inter-region-vpc-peering/ (обратите внимание, что я еще не использовал его, поэтому понятия не имею, какие дополнительные ограничения он может иметь)