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

Использование AWS Nat Gateway из разных VPC в пиринге VPC

Я хотел бы использовать 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 A -> VPC B -> Интернет
  • VPC A -> VPC B -> VPC C

Ссылка: Недопустимые конфигурации пирингового подключения VPC