使用網際網路閘道連線至網際網路
網際網路閘道是一種水平擴展、備援且高可用性的 VPC 元件,允許 VPC 與網際網路之間的通訊。它支援 IPv4 和 IPv6 流量。它不會對您的網路流量造成可用性風險或頻寬限制。
如果資源具有公有 IPv4 地址或 IPv6 地址,則網際網路閘道可讓公有子網中的資源 (如 EC2 執行個體) 連線至網際網路。同樣地,網際網路上的資源可以使用公有 IPv4 地址或 IPv6 地址來初始化子網中資源的連線。例如,網際網路閘道可讓您使用本機電腦,連線至 AWS 中的 EC2 執行個體。
網際網路閘道會在您的 VPC 路由表中為可由網際網路路由的流量提供目標。針對使用 IPv4 的通訊,網際網路閘道也會執行網路位址轉譯 (NAT)。針對使用 IPv6 的通訊,不需要 NAT,因為 IPv6 地址是公有的。如需詳細資訊,請參閱 IP 地址和 NAT。
建立網際網路閘道,無需額外付費。
啟用網際網路存取
若要使用網際網路閘道針對 VPC 內子網中的執行個體啟用與網際網路之間的存取,您必須執行下列操作。
-
建立網際網路閘道,並將它連接至您的 VPC。
-
新增路由至子網路由表,將網際網路綁定型流量導向至網際網路閘道。
-
確保子網中的執行個體具有公有 IPv4 地址或 IPv6 地址。
-
確保您的網路存取控制清單和安全群組規則允許所需流量流向和流出您的執行個體。
公有和私有子網
如果子網與路由至網際網路閘道的路由表建立關聯,即稱為公有子網。如果子網與未路由至網際網路閘道的路由表建立關聯,則稱為私有子網。
在公有子網路由表中,您可為網際網路閘道指定路由至路由表無法明確辨識的所有目的地 (用於 IPv4 的 0.0.0.0/0
,或用於 IPv6 的 ::/0
)。或者,您可以將路由範圍限定為較窄的 IP 地址範圍。例如,您公司在 AWS 外部之公有端點的公有 IPv4 地址,或 VPC 外部之其他 Amazon EC2 執行個體的彈性 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 地址是全域唯一的,因此預設是公開的。
在以下圖表中,可用區域 A 中的子網是公有子網。此子網的路由表具有可將所有網際網路綁定 IPv4 流量發送至網際網路閘道的路由。公有子網中的執行個體必須具有公有 IP 地址或彈性 IP 地址,才能透過網際網路閘道與網際網路通訊。相較之下,可用區域 B 中的子網為私有子網,因其路由表沒有通往網際網路閘道的路由。即使具有公有 IP 地址,私有子網中的執行個體也無法透過網際網路閘道與網際網路通訊。

如要為您的執行個體提供網際網路存取,但不為其指派公有 IP 地址,您可以改用 NAT 裝置。NAT 裝置可讓私有子網中的執行個體連線至網際網路,但會阻止網際網路上的主機啟動與執行個體的連線。如需更多詳細資訊,請參閱 使用 NAT 裝置連線至網際網路或其他網路。
預設和非預設 VPC 的網際網路存取
下表概述 VPC 是否自動隨附透過 IPv4 或 IPv6 存取網際網路所需的元件。
元件 | 預設 VPC | 非預設 VPC |
---|---|---|
網際網路閘道 | 是 | 否 |
將 IPv4 流量 (0.0.0.0/0) 路由至網際網路閘道的路由表 | 是 | 否 |
將 IPv6 流量 (::/0) 路由至網際網路閘道的路由表 | 否 | 否 |
自動指派給子網中所啟動之執行個體的公有 IPv4 地址 | 是 (預設子網) | 否 (非預設子網) |
自動指派給子網中所啟動之執行個體的 IPv6 地址 | 否 (預設子網) | 否 (非預設子網) |
如需預設 VPC 的詳細資訊,請參閱預設 VPC。如需有關建立 VPC 的詳細資訊,請參閱建立 VPC。
如需 VPC 中 IP 定址以及控制如何將公有 IPv4 或 IPv6 地址指派給執行個體的詳細資訊,請參閱 IP 定址。
當您將新的子網新增至 VPC 時,必須設定您要用於子網的路由和安全。
從 VPC 中的子網存取網際網路
以下說明如何使用網際網路閘道,從 VPC 中的子網存取網際網路。若要移除網際網路存取,您可以將網際網路閘道與您的 VPC 分開,然後將其刪除。
建立子網
將子網新增至 VPC
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Subnets (子網)、Create subnet (建立子網)。
-
視需要指定子網詳細資料。
-
名稱標籤:選擇性提供您子網的名稱。執行此作業會使用
Name
做為鍵,以及您指定的值來建立標籤。 -
VPC:選擇您希望為其建立子網的 VPC。
-
Availability Zone (可用區域):選擇性地選擇您子網所在的可用區域或本機區域,或是使用預設的 No Preference (無偏好設定),讓 AWS 為您選擇可用區域。
如需支援 Local Zones 的區域資訊,請參閱《適用於 Linux 執行個體的 Amazon EC2 使用者指南》中的可用區域。
-
IPv4 CIDR 區塊:指定您子網的 IPv4 CIDR 區塊,例如:
10.0.1.0/24
。如需詳細資訊,請參閱 IPv4 VPC CIDR 區塊。 -
IPv6 CIDR 區塊:(選用) 若您已將 IPv6 CIDR 區塊與您的 VPC 建立關聯,請選擇 Specify a custom IPv6 CIDR (指定自訂 IPv6 CIDR)。指定子網的十六進位對值,或是使用預設值。
-
-
選擇 Create (建立)。
如需更多詳細資訊,請參閱 您 VPC 的子網。
建立並連接網際網路閘道
建立網際網路閘道後,請將其連接至您的 VPC。
建立網際網路閘道並連接至您的 VPC
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Internet gateways (網際網路閘道),然後選擇 Create internet gateway (建立網際網路閘道)。
-
選擇性命名您的網際網路閘道。
-
選擇性新增或移除標籤。
[新增標籤] 選擇 Add tag (新增標籤),並執行下列動作:
-
對於 Key (金鑰),輸入金鑰名稱。
-
對於 Value (值),進入金鑰值。
[移除標籤] 選擇標籤「金鑰」和「值」右側移除。
-
-
選擇建立網際網路閘道。
-
選取您剛建立的網際網路閘道,然後選擇 Actions, Attach to VPC (動作、連接到 VPC)。
-
從清單選取您的 VPC,然後選擇連接網際網路閘道。
建立自訂路由表
當您建立子網時,我們會自動建立子網與 VPC 之主路由表的關聯。根據預設,主路由表不會包含網際網路閘道的路由。下列程序會建立自訂路由表,其中具有路由可將目標設為 VPC 外部的流量傳送至網際網路閘道,然後建立與您子網的關聯。
建立自訂路由表
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Route Tables (路由表),然後選擇 Create route table (建立路由表)。
-
在 Create route table (建立路由表) 對話方塊中,選擇性地命名您的路由表,並選取您的 VPC,然後選擇 Create route table (建立路由表)。
-
選取您剛建立的自訂路由表。詳細資訊窗格會顯示用於使用其路由、關聯和路由傳播的標籤。
-
在 Routes (路由) 標籤上,選擇 Edit routes (編輯路由)、Add route (新增路由),然後視需要新增下列路由。完成後,請選擇 Save changes (儲存變更)。
-
對於 IPv4 流量,在 Destination (目標) 方塊中指定
0.0.0.0/0
,然後在 Target (目標) 清單中選取網際網路閘道 ID。 -
對於 IPv6 流量,在 Destination (目標) 方塊中指定
::/0
,然後在 Target (目標) 清單中選取網際網路閘道 ID。
-
-
在 Subnet Associations (子網關聯) 標籤上,選擇 Edit subnet associations (編輯子網關聯),並選取子網的核取方塊,然後選擇 Save associations (儲存關聯)。
如需更多詳細資訊,請參閱 設定路由表。
建立適用於網際網路存取的安全群組
依預設,VPC 安全群組允許所有傳出流量。您可以建立新的安全群組,並新增允許來自網際網路之傳入流量的規則。然後,您可以將安全群組與公用子網中的執行個體建立關聯。
建立安全群組並使其與執行個體產生關聯
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Security Groups (安全群組),然後選擇 Create Security Group (建立安全群組)。
-
輸入安全群組的名稱和說明。
-
在 VPC 中選取您的 VPC。
-
在 Inbound Rules (傳入規則) 中,選擇 Add Rule (新增規則) 並填妥必要資訊。例如,從 Type (類型) 中選取 HTTP 或 HTTPS,然後在 IPv4 流量中輸入 Source (來源) 為
0.0.0.0/0
,或在 IPv6 流量中輸入來源為::/0
。 -
選擇 Create Security Group (建立安全群組)。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,然後選擇 Actions (動作)、Security (安全性)、Change security groups (變更安全群組)。
-
在 Associated security groups (關聯的安全群組) 中,選取現有的安全群組,然後選擇 Add security group (新增安全群組)。若要移除已產生關聯的安全群組,請選擇 Remove (移除)。完成變更之後,請選擇 Save (儲存)。
如需詳細資訊,請參閱 使用安全組控制到資源的流量。
指派彈性 IP 地址給執行個體
在您於子網中啟動執行個體之後,如果想要透過 IPv4 從網際網路存取該執行個體,則必須予以指派彈性 IP 地址。
如果您在啟動期間將公有 IPv4 地址指派給執行個體,則可以從網際網路存取該執行個體,而且不需要予以指派彈性 IP 地址。如需您執行個體之 IP 定址的詳細資訊,請參閱 IP 定址。
使用主控台配置彈性 IP 地址,並將其指派給執行個體
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Elastic IPs (彈性 IP)。
-
選擇 Allocate new address (配置新地址)。
-
選擇 Allocate (配置)。
注意 如果您的帳戶支援 EC2-Classic,則請先選擇 VPC。
-
從清單選取彈性 IP 地址,並選擇 Actions (動作),然後選擇 Associate address (與地址建立關聯)。
-
選擇 Instance (執行個體) 或 Network interface (網路界面),然後選取執行個體或網路界面 ID。選取要與彈性 IP 地址建立關聯的私有 IP 地址,然後選擇 Associate (關聯)。
如需更多詳細資訊,請參閱 將彈性 IP 地址與 VPC 中的資源建立關聯。
將網際網路閘道自 VPC 分開
如果您不再需要透過網際網路存取在非預設 VPC 中啟動的執行個體,則可以將網際網路閘道自 VPC 分離。如果 VPC 的資源具有相關聯的公有 IP 地址或彈性 IP 地址,則您無法分離網際網路閘道。
分離網際網路閘道
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Elastic IPs (彈性 IP),然後選取彈性 IP 地址。
-
選擇 Actions (動作)、Disassociate address (取消與地址的關聯)。選擇 Disassociate address (取消與地址的關聯)。
-
在導覽窗格中,選擇 Internet gateways (網際網路閘道)。
-
選取網際網路閘道,然後選擇 Actions, Detach from VPC (動作、自 VPC 分離)。
-
在從 VPC 分離對話方塊中,選擇分離網際網路閘道。
刪除網際網路閘道
如果您不再需要網際網路閘道,可以予以刪除。只要網際網路閘道仍然連接至 VPC,您就無法刪除網際網路閘道。
刪除網際網路閘道
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇 Internet gateways (網際網路閘道)。
-
選取網際網路閘道,然後選擇 Actions (動作)、Delete internet gateway (刪除網際網路閘道)。
-
在刪除網際網路閘道對話方塊中,輸入
delete
,然後選擇刪除網際網路閘道。
API 和命令概觀
您可以使用命令列或 API 執行此頁面所述的任務。如需命令列界面的詳細資訊與可用的 API 動作清單,請參閱使用 Amazon VPC。
建立網際網路閘道
-
create-internet-gateway (AWS CLI)
-
New-EC2InternetGateway (AWS Tools for Windows PowerShell)
將網際網路閘道連接至 VPC
-
attach-internet-gateway (AWS CLI)
-
Add-EC2InternetGateway (AWS Tools for Windows PowerShell)
說明網際網路閘道
-
describe-internet-gateways (AWS CLI)
-
Get-EC2InternetGateway (AWS Tools for Windows PowerShell)
將網際網路閘道自 VPC 分離
-
detach-internet-gateway (AWS CLI)
-
Dismount-EC2InternetGateway (AWS Tools for Windows PowerShell)
刪除網際網路閘道
-
delete-internet-gateway (AWS CLI)
-
Remove-EC2InternetGateway (AWS Tools for Windows PowerShell)