Я хотел бы использовать Nat Gateway (а не Nat Instance на EC2!) Из другого VPC для маршрутизации моего трафика от одноранговых VPC в Интернет. Моя инфраструктура выглядит так:
/---------------------VPC-LIVECHAT---------------------\
| /---Subnet A---\ /---Subnet B---\ /---Subnet C---\ |
| | | | | | | |
| \-10.10.0.0/24-/ \-10.10.1.0/24-/ \-10.10.2.0/24-/ |
\------------------------------------------------------/
| |
| VPC Peering Connection |
| |
/----------------------VPC-COMMON----------------------\
| /---Subnet A---\ /---Subnet B---\ /---Subnet C---\ |
| | /--------\ | | /--------\ | | /--------\ | |
| | | NAT GW | | | | NAT GW | | | | NAT GW | | |
| | \--------/ | | \--------/ | | \--------/ | |
| \-10.10.3.0/24-/ \-10.10.4.0/24-/ \-10.10.5.0/24-/ |
\------------------------------------------------------/
| |
| VPC Peering Connection |
| |
/---------------------VPC-DATABASE---------------------\
| /---Subnet A---\ /---Subnet B---\ /---Subnet C---\ |
| | | | | | | |
| \-10.10.6.0/24-/ \-10.10.7.0/24-/ \-10.10.8.0/24-/ |
\------------------------------------------------------/
Моя идея:
Я думаю, что эта настройка должна работать очень хорошо, это просто маршрутизируемые VLAN. Но не в AWS. AWS не позволяет мне использовать Nat Gateway в другом VPC в таблице маршрутов с ошибкой
"таблица маршрутов rtb-293fa54d и интерфейс interface-c2002e9e принадлежат разным сетям"
Я также не могу использовать частный IP-адрес Nat Gateway в AWS, AWS не поддерживает IP-адреса в целевом маршруте (мне бы очень хотелось знать, почему).
Я использую CloudFormation, и мое определение маршрута выглядит так:
"RoutePrivate3ToNatInCommon" : {
"Type" : "AWS::EC2::Route",
"Condition" : "IsNotVpcCommon",
"Properties" : {
"DestinationCidrBlock" : "0.0.0.0/0",
"RouteTableId" : { "Ref" : "PrivateSubnet3RoutingTable" },
"NatGatewayId" : { "Fn::GetAtt" : [ "NatGatewaySettingsForNotCommon", "NatGatewayAZC" ] }
}
}
NatGatewaySettingForNotCommon - это мой пользовательский ресурс с поддержкой лямбда-выражения, который помогает мне получить список шлюзов Nat для каждой зоны доступности.
Есть ли способ добиться такой настройки? У меня будет около 10 VPC на регион, по 3 частных подсети в каждой из них, и я действительно не хочу настраивать (и оплачивать) 30 шлюзов Nat. Это похоже на обычную "не облачную" настройку сети, поэтому не должно возникнуть проблем с ее реализацией в облаке. Либо это?
Этот тип конфигурации не поддерживается AWS. Пиринг VPC не поддерживает маршрутизацию с несколькими переходами. Следующие конфигурации не поддерживаются через пиринг VPC.
Ссылка: Недопустимые конфигурации пирингового подключения VPC