別のVPCからNatGateway(EC2のNatインスタンスではありません!)を使用して、ピアリングされた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は、ルートテーブルの異なるVPCでNatGatewayをエラーで使用することを許可したくありません
「ルートテーブルrtb-293fa54dとインターフェイスinterface-c2002e9eは異なるネットワークに属しています」
AWSでもNatGatewayのプライベート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は、ラムダに裏打ちされたカスタムリソースであり、アベイラビリティーゾーンごとのNatゲートウェイのリストを取得するのに役立ちます。
この設定を実現する方法はありますか?リージョンごとに約10個のVPCがあり、それぞれに3つのプライベートサブネットがあり、30個のNatゲートウェイをセットアップ(および支払い)したくありません。これは通常の「非クラウド」ネットワーク設定のように見えるので、クラウドでそれを実現するのに問題はないはずです。またはそれは?
このタイプの設定はAWSではサポートされていません。 VPCピアリングは「マルチホップ」ルーティングをサポートしていません。次の設定は、VPCピアリングではサポートされていません。
参照: 無効なVPCピアリング接続設定