使用網際網路閘道啟用 VPC 的網際網路存取
網際網路閘道是一種水平擴展、備援且高可用性的 VPC 元件,允許 VPC 與網際網路之間的通訊。它支援 IPv4 和 IPv6 流量。它不會對您的網路流量造成可用性風險或頻寬限制。
如果資源具有公有 IPv4 地址或 IPv6 地址,則網際網路閘道可讓公有子網中的資源 (如 EC2 執行個體) 連線至網際網路。同樣地,網際網路上的資源可以使用公有 IPv4 地址或 IPv6 地址來初始化子網中資源的連線。例如,網際網路閘道可讓您使用本機電腦,連線至 AWS 中的 EC2 執行個體。
網際網路閘道會在您的 VPC 路由表中為可由網際網路路由的流量提供目標。針對使用 IPv4 的通訊,網際網路閘道也會執行網路位址轉譯 (NAT)。如需詳細資訊,請參閱 IP 地址和 NAT。
定價
網際網路閘道不收費,但使用網際網路閘道的 EC2 執行個體需支付資料傳輸費用。如需詳細資訊,請參閱 Amazon EC2 隨需定價
網際網路閘道基礎知識
若要使用網際網路閘道,必須將其連接至 VPC 並設定路由。
路由組態
如果子網與路由至網際網路閘道的路由表建立關聯,即稱為公有子網。如果子網與未路由至網際網路閘道的路由表建立關聯,則稱為私有子網。
在公有子網路由表中,您可為網際網路閘道指定路由至路由表無法明確辨識的所有目的地 (IPv4 為 0.0.0.0/0,IPv6 為 ::/0)。或者,您可以將路由範圍限定為較窄的 IP 地址範圍。例如,您公司在 AWS 外部之公有端點的公有 IPv4 地址,或 VPC 外部之其他 Amazon EC2 執行個體的彈性 IP 地址。
網際網路閘道圖表
在下方圖表中,可用區域 A 中的子網路是公有子網路,因為其路由表包含一條路由,可將所有前往網際網路的 IPv4 流量傳送至網際網路閘道。公有子網中的執行個體必須具有公有 IP 地址或彈性 IP 地址,才能透過網際網路閘道與網際網路通訊。相較之下,可用區域 B 中的子網為私有子網,因其路由表沒有通往網際網路閘道的路由。由於沒有通往網際網路閘道的路由,即使具有公有 IP 位址,私有子網路中的執行個體也無法與網際網路通訊。
IP 地址和 NAT
若要針對 IPv4 啟用透過網際網路的通訊,您的執行個體必須具有公有 IPv4 地址。您可以將 VPC 設定為自動指派公有 IPv4 地址給執行個體,或是指派彈性 IP 地址給執行個體。您的執行個體只能辨識 VPC 和子網內定義的私有 (內部) IP 地址空間。網際網路閘道邏輯上會代您的執行個體提供一對一 NAT,因此流量離開 VPC 子網並前往網際網路時,回覆地址欄位會設定成您執行個體的公有 IPv4 地址或彈性 IP 地址,而非私有 IP 地址。相反地,目標設為您執行個體的公有 IPv4 地址或彈性 IP 地址的流量,會將其目標地址轉譯為執行個體的私有 IPv4 地址,再將流量交付給 VPC。
若要針對 IPv6 啟用透過網際網路的通訊,您的 VPC 和子網必須具有相關聯的 IPv6 CIDR 區塊,而且必須有來自子網範圍的 IPv6 地址指派到您的執行個體。IPv6 地址是全域唯一的,因此預設是公開的。
預設和非預設 VPC 的網際網路存取
下表概述 VPC 是否自動隨附透過 IPv4 或 IPv6 存取網際網路所需的元件。
| 元件 | 預設 VPC | 非預設 VPC |
|---|---|---|
| 網際網路閘道 | 是 | 否 |
| 將 IPv4 流量 (0.0.0.0/0) 路由至網際網路閘道的路由表 | 是 | 否 |
| 將 IPv6 流量 (::/0) 路由至網際網路閘道的路由表 | 否 | 否 |
| 自動指派給子網中所啟動之執行個體的公有 IPv4 地址 | 是 (預設子網) | 否 (非預設子網) |
| 自動指派給子網中所啟動之執行個體的 IPv6 地址 | 否 (預設子網) | 否 (非預設子網) |