簡體   English   中英

為什么 AWS NAT 網關需要 ElasticIP?

[英]Why does a AWS NAT Gateway require an ElasticIP?

在創建 NAT 網關時,會在 AWS 中創建一個彈性 IP 地址。 AWS 文檔 ( 1 ) 也提到了這一點。 為什么 NAT 網關需要彈性 IP 地址?

創建 NAT 網關

簡單地說,EIP 是必需的,因為這是設計 NAT 網關功能的方式。

在 NAT 設備上使用動態地址是沒有意義的——如果地址發生變化,那將保證會中斷正在進行的任何會話……分配靜態地址的唯一方法是分配彈性 IP地址(EIP)。

通過向外部供應商提供您的 NAT 網關的 EIP,讓外部供應商將您的服務器(用於訪問其服務器)列入白名單也是很常見的,在這種情況下,來自公共池的動態地址將是不可接受的。

也可能存在與 EIP 運行方式相關的內部專有原因,這使得該要求成為必要……但這沒有記錄在案,因此這樣的斷言只是猜測。 這方面的一個示例:公共池地址(例如那些自動分配給配置有來自池的公共 IP 地址而不是 EIP 的 EC2 實例的那些)可能被設計為特定的可用區,甚至是單個可用區的子集(畢竟,當實例停止/啟動時,它們確實會發生變化,這意味着它們可能專用於 AZ 內的特定服務器托架),而 EIP 可以從一個區域的任何地方遷移到區域內的另一個區域。 這強烈暗示了不同的內部拓撲。

這個要求(約束?)對我來說似乎微不足道:你不應該為這個 EIP 付費,如果你需要增加一個區域內允許的最大 EIP 數量,你可以免費提交支持請求,描述您的用例,以請求增加限制。

EIP 要求相當隨意。 擁有靜態 IP 可以更輕松地對 NAT 進行編碼(它不必檢查 WAN 接口以了解上游地址的變化),但支持動態上游地址的 NAT 非常常見 - 幾乎每個主要 ISP 服務的家庭都有一個。 當然,外部地址可能會更改並中斷當前連接,但 ISP 知道這一點並努力不更改地址。 通常,它僅在您重新啟動路由器時才會更改,並且此時您的所有連接都會中斷。

在 AWS 上有許多類似的場景,您不需要關心您的 NAT 網關外部地址是否更改,尤其是在您的 VPC 不包含任何公共服務器的情況下。 我有很多這樣的,我正在嘗試在免費帳戶上運行它們——它們強迫我消耗我供不應求的靜態 IP,這讓我很惱火。

正如其他人所觀察到的那樣,這是一筆不小的開支,而且 AWS 仍然比我所知道的獲得這種雲計算能力的任何其他方式便宜得多; 但 EIP 並不是嚴格要求的。

一點都不重要,您只能擁有 5 個 EIP,因此在兩個可用區中擁有 2 或 3 個應用程序將達到該閾值。

我認為這里缺少的答案是 NAT 網關 (NATG) 流量仍在通過 Internet 網關 (IGW) 路由,該網關執行靜態(一個私有 IP 到一個公共 IP)NAT。 正如問題中的圖片所示,彈性 IP (EIP) 是一個關聯 將 NATG 的私有 IP 轉換為其關聯的公共 EIP 的是 IGW。

因此,從 AWS 實施的角度來看,此 EIP 要求對於通過 IGW 訪問 Internet 的公共子網中的任何資源(例如 EC2 實例)是一致的。

自 2021 年 6 月起,AWS NAT 網關不再需要 ElasticIP(如果您選擇“私有”模式):

私有 NAT 網關或連接類型設置為私有的 NAT 網關不需要 EIP,並且您不需要將 Internet 網關與您的 VPC 連接。

https://aws.amazon.com/about-aws/whats-new/2021/06/aws-removes-nat-gateways-dependence-on-internet-gateway-for-private-communications/

假設您有私有網絡實例,它們將如何連接到互聯網? 那是NAT進來的時候。NAT ip是公共的。 私有子網可以與 NAT 關聯。 所以通過這種方式,私有子網中的實例可以使用 NAT 連接到互聯網。 當您有服務器將您的 IP 列入白名單時,這非常有用。 只需給他們 NAT EIP 即可解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM