NAT 閘道 - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

NAT 閘道

NAT 閘道是網路地址轉譯 (NAT) 服務。您可以使用 NAT 閘道,使私有子網中的執行個體可以連線到 VPC 外部的服務,但外部服務無法啟動與這些執行個體的連線。

當您建立 NAT 閘道時,您可以指定下列其中一種連線類型:

  • 公有 – (預設) 私有子網中的執行個體可以透過公有 NAT 閘道連線到網際網路,但無法從網際網路接收來路不明的輸入連線。您可以在公有子網中建立公有 NAT 閘道,並且必須在建立時讓彈性 IP 地址與 NAT 閘道產生關聯。您可以將流量從 NAT 閘道路由傳送到 VPC 的網際網路閘道。或者,您可以使用公有 NAT 閘道來連線到其他 VPC 或內部部署網路。在此情況下,您可以透過傳輸閘道或虛擬私有閘道路由傳送來自 NAT 閘道的流量。

  • 私有 – 私有子網中的執行個體可以透過私有 NAT 閘道連線到其他 VPC 或您的內部部署網路。您可以透過傳輸閘道或虛擬私有閘道路由傳送來自 NAT 閘道的流量。您無法將彈性 IP 地址與私有 NAT 閘道建立關聯。您可以將網際網路閘道連接到具有私有 NAT 閘道的 VPC,但是如果您將流量從私有 NAT 閘道路由傳送到網際網路閘道,網際網路閘道會捨棄流量。

私有和公有 NAT 閘道都會將執行個體的來源私有 IPv4 地址對應至 NAT 閘道的私有 IPv4 地址,但如果是公有 NAT 閘道,網際網路閘道則會將公有 NAT 閘道的私有 IPv4 地址對應至與 NAT 閘道相關聯的彈性 IP 地址。傳送回應流量至執行個體時,無論是公有或私有 NAT 閘道,NAT 閘道都會將地址轉譯回原始來源 IP 地址。

重要

您可以使用公有或私有 NAT 閘道,將流量路由至傳輸閘道和虛擬私有閘道。

如果您使用私有 NAT 閘道連線至傳輸閘道或虛擬私有閘道,則前往目的地的流量會來自私有 NAT 閘道的私有 IP 地址。

如果您使用公有 NAT 閘道連線至傳輸閘道或虛擬私有閘道,則前往目的地的流量會來自公有 NAT 閘道的私有 IP 地址 (除非您使用網際網路閘道)。公用 NAT 閘道僅會在與網際網路閘道搭配使用時,才會使用其 EIP 作為來源 IP 地址。

NAT 閘道基本概念

每個 NAT 閘道都是在特定的可用區域內建立,並且使用該區域中的備援實作。您能夠在每個可用區域中建立的 NAT 閘道數量具有配額。如需詳細資訊,請參閱 Amazon VPC 配額

若您在多個可用區域中皆有資源,且他們都共享同一個 NAT 閘道,則若 NAT 閘道的可用區域未運作時,其他可用區域中的資源都會喪失網際網路存取權。若要提高彈性,請在每個可用區域中建立 NAT 閘道,然後設定您的路由,確保資源使用相同可用區域內的 NAT 閘道。

下列特性和規則適用於 NAT 閘道:

  • NAT 閘道支援以下通訊協定:TCP、UDP 和 ICMP。

  • IPv4 或 IPv6 流量支援 NAT 閘道。對於 IPv6 流量,NAT 閘道會執行 NAT64。搭配 DNS64 (可在 Route 53 解析器上使用) 一起使用此功能,Amazon VPC 中子網中的 IPv6 工作負載就可以與 IPv4 資源通訊。這些 IPv4 服務可能存在於相同的 VPC (在個別的子網中) 或不同的 VPC、您的內部部署環境或網際網路上。

  • NAT 閘道支援 5 Gbps 的頻寬,並可自動擴展至 100 Gbps。若您需要更多頻寬,您可以將您的資源分割到多個子網,並在每個子網中建立 NAT 閘道。

  • NAT 閘道每秒可以處理 100 萬個封包,並自動擴展至每秒 1000 萬個封包。超出此限制,NAT 閘道便會捨棄封包。若要防止封包遺失,請將您的資源分割為多個子網,並為每個子網建立單獨的 NAT 閘道。

  • 每個 IPv4 地址可支援最多 55,000 個連至每個唯一目標的同時連線。唯一目的地由目的地 IP 地址、目的地連接埠以及通訊協定 (TCP/UDP/ICMP) 的唯一組合來識別。您可以將最多 8 個 IPv4 地址與 NAT 閘道關聯 (1 個主要 IPv4 地址和 7 個次要 IPv4 地址) 來提高此限制。依預設,您只能將 2 個彈性 IP 地址與公有 NAT 閘道相關聯。您可以透過請求調整配額來提高此限制。如需詳細資訊,請參閱 彈性 IP 地址

  • 您可以挑選要指派給 NAT 閘道的私有 IPv4 地址,或者使其從子網路的 IPv4 地址範圍自動指派。指派的私有 IPv4 地址會一直保留,直到您刪除私有 NAT 閘道。您無法將此私有 IPv4 地址分開,也無法連接其他私有 IPv4 地址。

  • 您無法建立安全群組與 NAT 閘道的關聯。您可以將安全群組與您的執行個體建立關聯,來控制傳入和傳出流量。

  • 您可以使用網路 ACL 控制流入及流出您 NAT 閘道子網的流量。NAT 閘道使用連接埠 1024–65535。如需詳細資訊,請參閱 使用網路 ACL 控制子網路的流量

  • NAT 閘道會接收網路介面。您可以挑選要指派給介面的私有 IPv4 地址,或者使其從子網路的 IPv4 地址範圍自動指派。您可以使用 Amazon EC2 主控台檢視 NAT 閘道的網路介面。如需詳細資訊,請參閱檢視網路介面的詳細資訊。您無法修改此網路介面的屬性。

  • 您無法透過 VPC 對等連線將流量路由至 NAT 閘道。當流量透過虛擬私有閘道透過混合式連線 (網站對站台 VPN 或直 Connect 連線) 抵達時,您無法透過 NAT 閘道路由流量。當流量透過傳輸閘道透過混合式連線 (站台對站台 VPN 或直 Connect 連線) 抵達時,您可以透過 NAT 閘道路由流量。

  • NAT 閘道支援最大傳輸單元 (MTU) 為 8500 的流量,但請務必注意下列事項:

    • 為了避免在使用公有 NAT 閘道透過網際網路與資源通訊時潛在的封包遺失,EC2 執行個體的 MTU 設定不應超過 1500 個位元組。如需有關在執行個體上檢查和設定 MTU 的詳細資訊,請參閱 Amazon EC2 Linux 執行個體使用者指南的在 Linux 執行個體上檢查並設定 MTU

    • NAT 閘道支援透過需要的 ICMPv4 封包和封包過大 (PTB) 的路徑 MTU 探索 (PMTUD)。

    • NAT 閘道會對所有封包強制執行「最大區段大小 (MSS)」限制。如需詳細資訊,請參閱 RFC879

控制 NAT 閘道的使用

根據預設, 使用者沒有使用 NAT 閘道的許可。您可以建立 IAM 角色,確保其連接的政策會將建立、描述和刪除 NAT 閘道的許可授予使用者。如需詳細資訊,請參閱Amazon VPC 的 Identity and Access Management

使用 NAT 閘道

您可以使用 Amazon VPC 主控台來建立和管理您的 NAT 閘道。

建立 NAT 閘道

使用下列程序建立 NAT 閘道。

相關配額
  • 如果您已用盡配置給帳戶的 EIP 數量,您將無法建立公有 NAT 閘道。如需 EIP 配額以及如何對其進行調整的詳細資訊,請參閱 彈性 IP 地址

  • 您可以將最多 8 個私有 IPv4 地址指派給私有 NAT 閘道。此限制不可調整。

  • 依預設,您只能將 2 個彈性 IP 地址與公有 NAT 閘道相關聯。您可以透過請求調整配額來提高此限制。如需詳細資訊,請參閱 彈性 IP 地址

建立 NAT 閘道
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 NAT 閘道

  3. 選擇建立 NAT 閘道

  4. (選擇性) 指定 NAT 閘道的名稱。這會建立一個標籤,其中金鑰為 Name,而值是您指定的名稱。

  5. 選取要在其中建立 NAT 閘道的子網。

  6. 針對連線類型,保留預設公有選擇以建立公有 NAT 閘道,或選擇私有以建立私有 NAT 閘道。如需有關公有和私有 NAT 閘道之間差異的詳細資訊,請參閱 NAT 閘道

  7. 如果您選擇公有,請執行下列動作;否則,請跳至步驟 8:

    1. 選擇彈性 IP 配置 ID,將 EIP 指派給 NAT 閘道;或選擇配置彈性 IP,為公有 NAT 閘道自動配置 EIP。依預設,您只能將 2 個彈性 IP 地址與公有 NAT 閘道相關聯。您可以透過請求調整配額來提高此限制。如需詳細資訊,請參閱 彈性 IP 地址

      重要

      將 EIP 指派給公有 NAT 閘道時,EIP 的網路邊界群組必須與您要啟動公有 NAT 閘道之可用區域 (AZ) 的網路邊界群組相符。如果不相同,NAT 閘道將無法啟動。您可以檢視子網路的詳細資料,查看子網路 AZ 的網路邊界群組。同樣地,您可以檢視 EIP 地址的詳細資料,檢視 EIP 的網路邊界群組。如需網路邊界群組和 EIP 的詳細資訊,請參閱配置彈性 IP 地址

    2. (選用) 選擇其他設定,並在私有 IP 地址 - 選用下,輸入 NAT 閘道的私有 IPv4 地址。如果您沒有輸入位址, AWS 將會從 NAT 閘道所在的子網路隨機自動指派私人 IPv4 位址給 NAT 閘道。

    3. 跳至步驟 11。

  8. 如果您選擇私有,請在其他設定私有 IPv4 地址指派方法,選擇下列其中一項:

    • 自動指派: AWS 選擇 NAT 閘道的主要私人 IPv4 位址。對於自動指派的私人 IPv4 位址數目,您可以選擇性地指定 NAT 閘道的次要私人 IPv4 位址數目。 AWS 從 NAT 閘道的子網路中隨機選擇這些 IP 位址。

    • 自訂:請在主要私有 IPv4 地址,選擇 NAT 閘道的主要私有 IPv4 地址。對於次要私有 IPv4 地址,您可以選擇性地為 NAT 閘道指定最多 7 個次要私有 IPv4 地址。

  9. 如果在步驟 8 中選擇自訂,則請略過此步驟。如果您選擇「自動指派」,請在自動指派的私人 IP 位址數目下,選擇要指 AWS 派給此私人 NAT 閘道的次要 IPv4 位址數目。您最多可以選擇 7 個 IPv4 地址。

    注意

    次要 IPv4 地址是選用的,當使用 NAT 閘道的工作負載與單一目的地 (相同的目的地 IP、目的地連接埠和通訊協定) 的並行連線超過 55,000 條時,應進行指派或配置。次要 IPv4 地址會增加可用連接埠的數目,因此會增加工作負載可使用 NAT 閘道建立之並行連線數目的限制。

  10. 如果在步驟 9 中選擇自動指派,則請略過此步驟。如果選擇自訂,請執行下列操作:

    1. 主要私有 IPv4 地址中,輸入私有 IPv4 地址。

    2. 次要私有 IPv4 地址中,輸入最多 7 個次要私有 IPv4 地址。

  11. (選用) 若要新增標籤至 NAT 閘道,請選擇 Add new tag (新增標籤),然後輸入鍵名稱和值。您最多可新增 50 個標籤。

  12. 選擇建立 NAT 閘道

  13. NAT 閘道的初始狀態為 Pending。狀態變更為後 Available,NAT 閘道即可供您使用。請務必視需要更新您的路由表。如需範例,請參閱 API 閘道使用案例

若 NAT 閘道的狀態變更為 Failed,表示在建立過程中發生錯誤。如需詳細資訊,請參閱 NAT 閘道建立失敗

編輯次要 IP 地址關聯

每個 IPv4 地址可支援最多 55,000 個連至每個唯一目標的同時連線。唯一目的地由目的地 IP 地址、目的地連接埠以及通訊協定 (TCP/UDP/ICMP) 的唯一組合來識別。您可以將最多 8 個 IPv4 地址與 NAT 閘道關聯 (1 個主要 IPv4 地址和 7 個次要 IPv4 地址) 來提高此限制。依預設,您只能將 2 個彈性 IP 地址與公有 NAT 閘道相關聯。您可以透過請求調整配額來提高此限制。如需詳細資訊,請參閱 彈性 IP 地址

您可以使用 NAT 閘道 CloudWatch指標ErrorPortAllocationPacketsDropCount判斷 NAT 閘道是否產生連接埠配置錯誤或捨棄封包。若要解決此問題,請將次要 IPv4 地址新增至 NAT 閘道。

考量事項
  • 您可以在建立私有 NAT 閘道時或使用本節中的程序建立 NAT 閘道後,新增次要私有 IPv4 地址。只有在使用本節中的程序建立 NAT 閘道之後,您才可以將次要 EIP 地址新增至公有 NAT 閘道。

  • NAT 閘道最多擁有 8 個與其關聯的 IPv4 地址 (1 個主要 IPv4 地址和 7 個次要 IPv4 地址)。您可以將最多 8 個私有 IPv4 地址指派給私有 NAT 閘道。依預設,您只能將 2 個彈性 IP 地址與公有 NAT 閘道相關聯。您可以透過請求調整配額來提高此限制。如需詳細資訊,請參閱 彈性 IP 地址

編輯次要 IPv4 地址關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 NAT 閘道

  3. 選取您要編輯其次要 IPv4 地址關聯的 NAT 閘道。

  4. 選擇動作,然後選擇編輯次要 IP 地址關聯

  5. 如果您要編輯私有 NAT 閘道的次要 IPv4 地址關聯,則請在動作下選擇指派新 IPv4 地址取消指派現有 IPv4 地址。如果您要編輯公有 NAT 閘道的次要 IPv4 地址關聯,請在動作下選擇關聯新 IPv4 地址取消關聯現有 IPv4 地址

  6. 執行以下任意一項:

    • 如果您選擇指派或關聯新 IPv4 地址,則請執行下列操作:

      1. 此步驟為必要。您必須選取私有 IPv4 地址。選擇私有 IPv4 地址指派方法

        • 自動指派: AWS 自動選擇主要私人 IPv4 位址,您可以選擇是否 AWS 要指派最多 7 個次要私人 IPv4 位址以指派給 NAT 閘道。 AWS 自動從 NAT 閘道所在的子網路中隨機選擇並指派這些資訊。

        • 自訂:選擇要指派給 NAT 閘道的主要私有 IPv4 地址和最多 7 個次要私有 IPv4 地址。

      2. 彈性 IP 配置 ID 下,選擇要新增為次要 IPv4 地址的 EIP。此步驟為必要。您必須選取 EIP 以及私有 IPv4 地址。如果將私有 IP 地址指派方法選為自訂,則您也必須為新增的每個 EIP 輸入私有 IPv4 地址。

        重要

        將次要 EIP 指派給公有 NAT 閘道時,EIP 的網路邊界群組必須符合公有 NAT 閘道所在之可用區域 (AZ) 的網路邊界群組。如果不相同,EIP 將無法指派。您可以檢視子網路的詳細資料,查看子網路 AZ 的網路邊界群組。同樣地,您可以檢視 EIP 地址的詳細資料,檢視 EIP 的網路邊界群組。如需網路邊界群組和 EIP 的詳細資訊,請參閱配置彈性 IP 地址

      NAT 閘道最多可以擁有 8 個與其相關聯的 IP 地址。如果這是公有 NAT 閘道,則每個區域的 EIP 都有預設配額限制。如需詳細資訊,請參閱 彈性 IP 地址

    • 如果您選擇取消指派或取消關聯新 IPv4 地址,請執行下列操作:

      1. 要取消指派的現有次要 IP 地址下,選取您要取消指派的次要 IP 地址。

      2. (選用) 在連接耗盡持續時間下,輸入如果連接仍在進行中,則強制釋出 IP 地址之前等待的時間上限 (以秒為單位)。如果不輸入值,則預設值為 350 秒。

  7. 選擇儲存變更

若 NAT 閘道的狀態變更為 Failed,表示在建立過程中發生錯誤。如需詳細資訊,請參閱 NAT 閘道建立失敗

為 NAT 閘道新增標籤

您可為您的 NAT 閘道新增標籤,以利您根據組織需求識別或分類。如需使用標籤的資訊,請參閱《適用於 Linux 執行個體的 Amazon EC2 使用者指南》中的「標記您的 Amazon EC2 資源」。

NAT 閘道支援成本分配標籤。因此,您也可以使用標籤來組織帳 AWS 單並反映自己的成本結構。如需詳細資訊,請參閱《AWS Billing 使用者指南》中的使用成本分配標籤。如需有關使用標籤設定成本分配報表的詳細資訊,請參閱關於 AWS 帳戶帳單中的每月成本分配報告

標記 NAT 閘道
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 NAT Gateways (NAT 閘道)

  3. 選取要標記的 NAT 閘道,然後選擇動作。然後選擇管理標籤

  4. 選擇新增新標籤,並定義標籤的索引鍵。您最多可新增 50 個標籤。

  5. 選擇儲存

刪除 NAT 閘道

若您不再需要 NAT 閘道,您可以予以刪除。在您刪除 NAT 閘道之後,其項目仍會在 Amazon VPC 主控台中顯示約一小時),之後便會自動移除。您無法自行移除此項目。

刪除 NAT 閘道會取消關聯其彈性 IP 地址,但不會從您的帳戶釋出地址。若您刪除 NAT 閘道,NAT 閘道路由會繼續處於 blackhole 狀態,直到您刪除或更新路由。

刪除 NAT 閘道
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 NAT Gateways (NAT 閘道)

  3. 選取 NAT 閘道選項按鈕,然後選擇 Actions (動作)、Delete NAT Gateway (刪除 NAT 閘道)。

  4. 出現確認提示時,請輸入 delete,然後選擇 Delete (刪除)。

  5. 如果您不再需要與公有 NAT 閘道相關聯的彈性 IP 地址,建議您將其釋出。如需詳細資訊,請參閱釋出彈性 IP 地址

API 和 CLI 概觀

您可以使用命令列或 API 執行此頁面所述的任務。如需命令列介面的詳細資訊與可用的 API 操作清單,請參閱 使用 Amazon VPC

將私有 IPv4 地址指派給私有 NAT 閘道
將彈性 IP 地址 (EIP) 和私有 IPv4 地址與公有 NAT 閘道建立關聯
建立 NAT 閘道
刪除 NAT 閘道
描述 NAT 閘道
取消次要彈性 IP 地址 (EIP) 與公有 NAT 閘道的關聯
為 NAT 閘道新增標籤
從私有 NAT 閘道中取消指派次要 IPv4 地址

定價

當您佈建 NAT 閘道時,需支付 NAT 閘道可用時數及其處理每 GB 資料的費用。如需詳細資訊,請參閱 Amazon VPC 定價

下列策略可協助您降低 NAT 閘道的資料傳輸費用:

  • 如果您的 AWS 資源跨可用區域傳送或接收大量流量,請確定資源與 NAT 閘道位於相同的可用區域。或者,您也可以在每個可用區域中建立包含資源的 NAT 閘道。

  • 如果通過 NAT 閘道的大多數流量都是傳輸到支援介面端點或閘道端點的 AWS 服務,請考慮為這些服務建立介面端點或閘道端點。如需有關潛在成本節省的詳細資訊,請參閱 AWS PrivateLink 定價