Чтобы позволить экземплярам в 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/ (обратите внимание, что я еще не использовал его, поэтому понятия не имею, какие дополнительные ограничения он может иметь)