Маршрутизация трафика между 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.xx), к экземпляру, находящемуся в VPC по умолчанию в Ирландии (172.91.xx), она работает как шарм.
Далее, я бы хотел, чтобы машины в новом изолированном VPC (172.52.xx) могли обращаться к экземплярам в VPC по умолчанию в Орегоне (172.31.xx).
Таблица маршрутов, связанная с 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 @ Oregon:
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 @ Ireland:
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 по умолчанию в Орегоне.
2 ответа
Итак, похоже, что Amazon услышал мой звонок и расширил свою текущую команду "create-vpc-peering" всего несколько дней назад, и теперь он позволяет взаимодействовать с 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 для официального документа на Это. для вашей настройки это означает, что будет проходить только трафик между 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/ (заметьте, я еще не использовал его, поэтому понятия не имею, какие у него могут быть дополнительные ограничения)