如果 EC-2 機器位於與子網關聯的 Nat 網關後面,為什麼它無法連接到 Internet?
我嘗試在亞馬遜 AWS 中實現這個網路:
因此,我在亞馬遜 VPC 中有以下子網:
子網
subnet-0ac620105fc198e33
使用具有彈性 IP 的 NAT 網關,該 IP 具有以下路由表:這
nat-0de30b43c561c4161
是我的 nat 網關。並且所有子網都具有以下 ACL
上面顯示的相同規則適用於入站和出站流量。
我也有 2 個 EC-2 實例:
- 它位於使用 NAT 網關的子網中用於 ssh 訪問的公共子網中
- 一個在使用 nat 網關的子網中
在訪問第二個 EC-2 實例後,我執行以下命令:
ping 8.8.8.8 curl http://google.com
但無法連接到Google。為什麼我無法連接?
摘要:NAT 網關必須在公共子網中,並且必須有到 Internet 網關的路由。AWS 文件在此處和此處對此進行了介紹。
查看 nat 網關位於通過普通 Internet 網關訪問的子網中,在您的情況下,Host1 和 Nat 網關都可以位於同一子網中,也可以位於通過普通 Internet 網關轉發流量的子網中。
在一個簡單的圖像中,您必須實現以下目標:
因此,將 Nat Gateway 視為另一台將流量轉發到具有 Internet 網關的子網的主機。上圖顯示了每台機器應如何連接到網際網路。在您的情況下,通過正常的 Internet 網關
Host 2
訪問Subnet 2
和通過 Nat Gatewaty 和子網 1 訪問 Internet。在您的情況下,子網
subnet-0c8192051e2a46965
或subnet-065ae3de09e9f8355
適合託管 Nat 網關。但是 Nat 網關不能在子網中subnet-0ac620105fc198e33
為了更改 Nat 網關的子網,您必須創建一個新的 Nat 網關,然後更新路由表以使用 Nat 網關。如果您想保留彈性 IP,請等待舊的 Nat 網關被刪除。之後,使用新的。
請記住,一旦您在此欄位中創建新的 Nat 網關,如下所示:
選擇子網
subnet-0c8192051e2a46965
或subnet-065ae3de09e9f8355
。