Cloud NAT

Cloud NAT 總覽

Cloud NAT 是專案預設輸出設定的進化版。 Cloud NAT 是專案範圍的區域服務,僅限 IPv4 流量,並提供下列功能:

  • 每個專案有多個閘道,可從不同的端點集輸出流量。
  • 每個閘道可設定多個輸出 IP。
  • 每個閘道可設定多個端點標籤選取器。
  • 每個閘道可設定連線逾時時間。
  • 萬一輸出節點故障,可靠度會更高,影響範圍也會縮小。

下圖說明 Cloud NAT 的範例總覽。每個閘道都會從 Pod 或 VM (與閘道位於相同專案中) 輸出所有導向非內部 IP 的流量,這些 Pod 或 VM 具有閘道標籤選取器中的所有標籤 (AND 比對)。不同專案中的端點,或與標籤選取器不完全相符的端點,無法透過閘道傳輸輸出流量。閘道會將其中一個輸出 IP 靜態指派給每個透過閘道輸出流量的端點。葉子子網路的 IP 用於指定每個 Cloud NAT 閘道可使用的輸出 IP 集。

部署範例:多個端點透過兩個閘道連線

舉例來說,如果 project-1 中的 Pod 具有 app:aa 標籤和 IP 192.168.0.1,並發出目的地 IP 為 22.22.22.22 的封包,則該封包會導向 Cloud NAT 閘道。閘道會將來源 IP 換成指派給 Pod 端點的輸出 IP (34.1.22.1),然後轉送至資料 VRF。如果該 VRF 回覆,就會執行反向作業,並將產生的封包轉送至 Pod 的端點。該專案和標籤中的 VM 也會套用相同機制。

範例部署作業的詳細資料,顯示對外公開的不同 IP 位址

根據預設,透過 Cloud NAT 閘道建立的輸出連線會有下列逾時。如有需要,可以手動設定。

逾時

預設值 (秒)

非 TCP 連線

60

閒置 TCP 連線

8000

TCP 連線拆除

10

建立 TCP 連線

60

限制

  • 每個端點只能透過單一 Cloud NAT 閘道,使用單一輸出 IP 位址輸出。閘道會自動將這個 IP 位址指派給每個端點。除非端點或閘道的設定有所變更,否則這項指派作業不會變更。
  • 為確保端點和閘道之間的路由是確定性的,Cloud NAT 閘道不得有重疊的標籤選取器,且端點不得有與多個閘道相符的標籤。
  • 如果端點也有來自 VPN 閘道的路徑,這些路徑的優先順序會高於來自 Cloud NAT 閘道的路徑。

規模限制

  • 每個專案的輸出 IP 位址數量上限為 100 個。如果指派給 Cloud NAT 閘道的子網路超過 100 個,閘道只會使用前 100 個 IP。
  • 每個輸出 IP 每個通訊協定與特定目的地 IP 和通訊埠的平行連線數上限為 32,000。如果超出這項限制,連線就會失敗。
  • 每個可用區的每個 VPC 最多可有 1,000 個 NAT 對應。系統會為指派給每個 Cloud NAT 閘道的每個端點建立一個對應。由於一個端點只能指派給單一 NAT 閘道,因此一個區域中最多只能有 1, 000 個端點使用 Cloud NAT。NAT 對應項不會隨著連線數量調整。

容錯移轉行為

如果輸出節點無法使用,使用該輸出節點的 Cloud NAT 閘道會自動將外部 IP 從無法使用的節點遷移至其他可用的輸出節點。閘道隨後會重新設定系統,改用其他可用節點輸出流量。重新設定完成後,使用無法使用節點的端點就能重新建立輸出連線。