10.0.0.0/8 和 192.168.0.0/16 中的 AWS VPC CIDR

10.0.0.0/8 和 192.168.0.0/16 中的 AWS VPC CIDR

我有 CIDR 的 VPC A10.A.0.0/16和帶有 CIDR 的 VPC B 10.B.0.0/16。我讓 VPC A 和 B 對等互連並更新了路由表,並且從伺服器10.B.0.0/16可以 ping 通伺服器10.A.0.0/16,反之亦然。

VPC A 上的應用程式也使用該192.168.0.0/16範圍內的一些 IP。這不是我可以輕易更改的內容,但我需要能夠192.168.0.0/16從 VPC B 存取 VPC A。工作節點(ec2 實例)取得 VPC CIDR 區塊中的 IP 10.A.0.0/16,但 calico 網路是使用叢集 CIDR 設定進行設定的192.168.0.0/16,並且這些工作節點上的 pod IP 會在該範圍內指派。較新的集群是 EKS 集群,Pod IP 是從 VPC 的 CIDR 範圍分配的10.B.0.0/16。在過渡期間,我將兩個集群的 VPC 對等連接在一起。有一個正在運行的分散式 Elixir 應用程序,並且 Pod 透過 Pod IP 位址相互存取而形成 Erlang 叢集。在我目前的對等互連群集 A pod 中,群集 A pod 可以同時存取 A 和 B pod,但群集 B pod 只能存取 B(由於 IP192.168.0.0/16無法存取)。

我嘗試添加192.168.0.0/16到用於 VPC B 的路由表並設定對等連接的目標。我相信這不起作用,因為192.168.0.0/16它不在 VPC A 的 CIDR 區塊中。

我無法192.168.0.0/16在 VPC A 中新增輔助 CIDR,因為它受到限制。看CIDR 區塊關聯限制相關問題。我知道它受到限制,但為什麼會受到限制? RFC1918 似乎沒有說任何反對使用多個私有位址空間的內容。

我還嘗試建立一個 Transit Gateway,連接兩個 VPC,並將靜態路由新增至針對192.168.0.0/16VPC A 連接的 Transit Gateway 路由表。但從 VPC B 內部仍然無法達到該範圍。

路由表

VPC A 的私有子網路的路由表

10.A.0.0/16    local
10.B.0.0/16    pcx-[VPC A - VPC B peering connection]
0.0.0.0/0      nat-[gateway for cluster A]

VPC B 的私有子網路的路由表

10.B.0.0/16    local
10.A.0.0/16    pcx-[VPC A - VPC B peering connection]
192.168.0.0/16 pcx-[VPC A - VPC B peering connection]
0.0.0.0/0      nat-[gateway for cluster B]

當然這是不行的,因為192.168.0.0/16不在VPC A的CIDR區塊內,也無法新增。

如果我在節點上執行 shell,AI 可以 ping 一個192.168...pod,我也可以 ping 一個10.B.0.0pod。但從 Node BI 上的 shell 只能 ping 通10.B.0.0pod。

是否有其他方法可以對同一 VPC 上的這兩個區塊10.0.0.0/8和CIDR 區塊進行對等?192.168.0.0/16

相關內容