我想使用Nat网关(而不是EC2上的Nat实例!)从另一个VPC将我的流量从被监视的VPC传送到Internet。我的基础设施是这样的:
/---------------------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不允许我在不同VPC中使用Nat网关,在路由表中有错误
路由表rtb-293fa54d和接口接口c2002e9e属于不同的网络
我也不能在AWS中使用Nat网关的私有IP,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是我的自定义lambda支持的资源,它帮助我获得每个可用性区域的Nat网关列表。
有任何方法来实现这个设置吗?我将有大约10个VPC每个地区,3个私有子网在其中,我真的不想设置(和支付)30个Nat网关。这看起来像常规的“非多云”网络设置,所以在云中实现它应该没有问题。还是真的是这样?
发布于 2016-07-14 15:16:41
AWS不支持这种类型的配置。VPC窥视不支持“多跳”路由。通过VPC窥视不支持下列配置。
参考资料:无效的VPC监视连接配置
https://serverfault.com/questions/789844
复制相似问题