AWS VPC 網路架構完全指南:Internet Gateway 與 Route Table

Published October 29, 2025 by 徐培鈞
架構

當你第一次接觸 AWS 雲端服務時,最讓人困惑的往往不是如何啟動一台 EC2 伺服器,而是這些網路元件之間錯綜複雜的關係:VPC、Subnet、Internet Gateway、Route Table⋯⋯這些專有名詞看起來既抽象又難懂。

但別擔心!這篇文章會用最生活化的比喻,搭配清晰的圖解和表格,帶你一步步理解 AWS 網路架構的核心概念。

讀完後,你不僅能清楚知道這些元件的功能,更能理解它們之間的關聯性,以及在實務上如何正確配置。

無論你是準備 AWS 認證考試,還是正在建置實際的雲端架構,這篇文章都能成為你最實用的參考指南。

從熟悉到創新:地端機房 vs 雲端架構

傳統地端機房架構

如果你有傳統 IT 背景,或曾經接觸過公司機房,那麼從「已知的地端架構」出發,會更容易理解「抽象的雲端概念」。

讓我們先看看傳統企業機房是如何運作的:

graph TB
    subgraph DataCenter["🏢 企業機房 (On-Premises Data Center)"]
        subgraph Floor1["機房一樓 - DMZ 區域"]
            DMZ["🌐 DMZ 區域<br/>(對外服務區)<br/>192.168.1.0/24"]
            WebServer["🖥️ Web Server<br/>(實體主機)"]
            NAT_Device["🔄 NAT 設備<br/>(硬體設備,在 DMZ)"]
            DMZ --> WebServer
            DMZ --> NAT_Device
        end
        subgraph Floor2["機房二樓 - 內網區域"]
            Internal["🔒 內網區域<br/>(內部服務區)<br/>192.168.2.0/24"]
            DBServer["🖥️ Database Server<br/>(實體主機)"]
            Internal --> DBServer
        end
        Router_Pub["📡 路由器 (對外)<br/>預設路由 → 防火牆"]
        Router_Priv["📡 路由器 (內網)<br/>預設路由 → NAT 設備"]
        Firewall["🛡️ 防火牆<br/>(硬體設備)"]
        
        Router_Pub -.連接.-> DMZ
        Router_Priv -.連接.-> Internal
        Router_Pub --> Firewall
        Router_Priv --> NAT_Device
        NAT_Device --> Firewall
    end
    ISP["🌐 ISP 網路供應商"]
    Firewall <--> ISP
    
    style DataCenter fill:#f5f5f5,stroke:#424242,stroke-width:2px
    style Floor1 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,stroke-dasharray: 5 5
    style Floor2 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,stroke-dasharray: 5 5
    style DMZ fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
    style Internal fill:#bbdefb,stroke:#1976d2,stroke-width:2px
    style Firewall fill:#fff9c4,stroke:#f57f17,stroke-width:3px
    style NAT_Device fill:#ffccbc,stroke:#d84315,stroke-width:2px
    style Router_Pub fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style Router_Priv fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style ISP fill:#e1f5ff,stroke:#01579b,stroke-width:2px

延伸閱讀:網路基礎架構完全指南

AWS 雲端架構

現在讓我們看看 AWS 如何用「虛擬化」的方式實現相同的功能:

注意: 一個 Region 可以有多個 VPC(預設上限 5 個),這裡僅展示單一 VPC 的架構。

graph TB
    subgraph Region["🌍 AWS Region (例如:ap-northeast-1)"]
        subgraph VPC["VPC - 虛擬私有雲 (10.0.0.0/16)"]
            subgraph AZ_A["Availability Zone A"]
                PubSub["🌐 Public Subnet<br/>10.0.1.0/24"]
                EC2_Pub["💻 EC2 Instance<br/>(Public)"]
                NAT["🔄 NAT Gateway<br/>(在 Public Subnet 中)"]
                PubSub --> EC2_Pub
                PubSub --> NAT
            end
            subgraph AZ_B["Availability Zone B"]
                PrivSub["🔒 Private Subnet<br/>10.0.2.0/24"]
                EC2_Priv["💻 EC2 Instance<br/>(Private)"]
                PrivSub --> EC2_Priv
            end
            RT_Pub["📋 Route Table (Public)<br/>0.0.0.0/0 → IGW"]
            RT_Priv["📋 Route Table (Private)<br/>0.0.0.0/0 → NAT"]
            IGW["🚪 Internet Gateway"]
            
            RT_Pub -.綁定.-> PubSub
            RT_Priv -.綁定.-> PrivSub
            RT_Pub --> IGW
            RT_Priv --> NAT
            NAT --> IGW
        end
    end
    Internet["☁️ Internet"]
    IGW <--> Internet
    
    style Region fill:#f0f8ff,stroke:#1976d2,stroke-width:2px
    style VPC fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
    style AZ_A fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,stroke-dasharray: 5 5
    style AZ_B fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,stroke-dasharray: 5 5
    style PubSub fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
    style PrivSub fill:#bbdefb,stroke:#1976d2,stroke-width:2px
    style IGW fill:#fff9c4,stroke:#f57f17,stroke-width:3px
    style NAT fill:#ffccbc,stroke:#d84315,stroke-width:2px
    style RT_Pub fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style RT_Priv fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style Internet fill:#e1f5ff,stroke:#01579b,stroke-width:2px

📊 雲端 vs 地端完整對照表

AWS 雲端🌍 Region
傳統地端機房🏢 企業機房位置
說明雲端:AWS 全球資料中心地端:公司自有機房
AWS 雲端VPC (Virtual Private Cloud)
傳統地端機房整個機房網路
說明雲端:虛擬私有網路地端:實體網路設備
AWS 雲端Availability Zone
傳統地端機房機房樓層/機櫃區
說明雲端:獨立的資料中心地端:不同樓層或區域
AWS 雲端Subnet
傳統地端機房VLAN / 網段
說明雲端:軟體定義網路地端:交換器劃分的 VLAN
AWS 雲端Public Subnet
傳統地端機房DMZ (非軍事區)
說明雲端:可直接對外的子網地端:對外服務區
AWS 雲端Private Subnet
傳統地端機房內網區域
說明雲端:不對外的內部網路地端:內部辦公/資料庫區
AWS 雲端Internet Gateway (IGW)
傳統地端機房防火牆 + 路由器
說明雲端:虛擬閘道設備地端:實體硬體設備
AWS 雲端Route Table
傳統地端機房路由器路由表
說明雲端:軟體設定地端:硬體路由器設定
AWS 雲端NAT Gateway
傳統地端機房NAT 設備/伺服器
說明雲端:託管服務地端:硬體設備或軟體
AWS 雲端EC2 Instance
傳統地端機房實體伺服器
說明雲端:虛擬機器地端:實體主機
AWS 雲端Security Group
傳統地端機房防火牆規則
說明雲端:虛擬防火牆地端:硬體防火牆
AWS 雲端ENI (Elastic Network Interface)
傳統地端機房網路卡 (NIC)
說明雲端:虛擬網路介面地端:實體網路卡

流量對比範例

地端:Web Server 上網流程

Web Server (192.168.1.10) 
 DMZ 交換器 
 路由器 (查路由表) 
 防火牆 (檢查規則) 
 ISP 網路 
 Internet

雲端:EC2 (Public) 上網流程

EC2 Instance (10.0.1.10) 
 Public Subnet 
 Route Table (查路由規則) 
 Internet Gateway 
 Internet

發現了嗎? 雲端簡化了很多中間層級,但概念是相通的!

關鍵差異總結

地端機房的特點:
  • 實體設備:所有設備都是真實的硬體(路由器、交換器、防火牆)
  • 資本支出:需要一次性購買昂貴的硬體設備
  • 維護成本:需要 IT 人員維護、更新、修理
  • 擴充困難:增加設備需要採購、安裝、配置
  • 故障風險:硬體故障需要人工處理
AWS 雲端的特點:
  • 虛擬化:所有設備都是軟體定義的虛擬資源
  • 彈性計費:用多少付多少,沒有大量前期投資
  • 自動化:透過 API 或 Console 快速建立、刪除
  • 快速擴充:幾分鐘內就能增加資源
  • 高可用性:AWS 負責底層硬體的維護和備援

核心概念:一句話理解關鍵關係

理解了地端和雲端的對應關係後,我們來看 AWS 最核心的概念:

Internet Gateway (IGW) 是連接 VPC 到外部網際網路的出口設備。要讓 Subnet 能上網,就必須「透過 Route Table 指定 IGW」作為出口。

這句話包含了三個關鍵元件:

  • IGW:網路出口(對應地端的防火牆)
  • Subnet:子網路區域(對應地端的 VLAN)
  • Route Table:流量規則表(對應地端的路由器路由表)

地端 vs 雲端的決策流程對比:

【地端】伺服器要上網時的判斷
1. 封包離開伺服器網卡
2. 到達交換器
3. 查詢路由器的路由表
4. 根據路由規則決定:走防火牆 or  NAT
5. 通過 ISP 到達 Internet

【雲端】EC2 要上網時的判斷
1. 封包離開 EC2  ENI
2. 進入 Subnet
3. 查詢 Route Table
4. 根據路由規則決定:走 IGW or  NAT Gateway
5. 到達 Internet

發現了嗎? 概念完全相同,只是 AWS 把實體設備「虛擬化」了!

Internet Gateway (IGW):VPC 的網路大門

前置觀念:Region 與 VPC 的關係

在討論核心元件之前,先釐清一個重要觀念:

Region 與 VPC 的數量關係

答案多個(預設上限 5 個,可申請提高)
答案不可以,VPC 只存在於單一 Region
答案預設不行,需透過 VPC Peering 或 Transit Gateway 連接

實務範例:

AWS 帳號

├── Region: us-east-1 (維吉尼亞)
   ├── VPC-A (10.0.0.0/16) - 生產環境
   ├── VPC-B (10.1.0.0/16) - 測試環境
   └── VPC-C (10.2.0.0/16) - 開發環境

└── Region: ap-northeast-1 (東京)
    ├── VPC-D (10.10.0.0/16) - 亞洲生產環境
    └── VPC-E (10.11.0.0/16) - 災難備援環境

為什麼要建立多個 VPC?

  1. 環境隔離:生產、測試、開發環境完全分離
  2. 安全性:不同專案的資源互不影響
  3. 合規要求:符合資料隔離的法規要求
  4. 組織架構:不同部門使用不同 VPC

IGW 的定義與特性

Internet Gateway 是 AWS VPC 中負責連接內部網路與外部網際網路的關鍵元件。

關鍵特性:

說明IGW 是掛在 VPC 上的
比喻社區的大門是屬於整個社區的
說明一個 VPC 最多只能綁一個 IGW
比喻每個社區只能有一個主要大門
說明沒有 IGW,VPC 裡的資源永遠無法對外上網
比喻就像家裡沒接電信公司網路,Wi-Fi 也沒用

IGW 與 VPC 的關係

VPC(你的私有網路)
    
    ├── Internet Gateway(網路出口設備)
       └── 連接到 Internet
    
    ├── Subnet A
    ├── Subnet B
    └── Subnet C

重要提醒: IGW 是「讓 EC2 能訪問 Internet」的必要元件,但它本身不會直接控制 Subnet 上網與否。真正的控制權在 Route Table。

IGW vs ENI:兩個容易混淆的網路元件

很多初學者會混淆 IGW 和 ENI,讓我們清楚區分它們:

核心差異對比表:

Internet Gateway (IGW)VPC 層級的網路出口
ENI (Elastic Network Interface)EC2 實例層級的網路介面
Internet Gateway (IGW)綁定到整個 VPC
ENI (Elastic Network Interface)綁定到單一 EC2 實例
Internet Gateway (IGW)一個 VPC 只能有 1 個 IGW
ENI (Elastic Network Interface)一個 EC2 可以有多個 ENI
Internet Gateway (IGW)讓整個 VPC 可以連接 Internet
ENI (Elastic Network Interface)讓 EC2 可以有網路連線能力
Internet Gateway (IGW)企業機房的防火牆/路由器
ENI (Elastic Network Interface)伺服器上的網路卡 (NIC)
Internet Gateway (IGW)獨立於 EC2,可單獨建立/刪除
ENI (Elastic Network Interface)可獨立於 EC2,但通常隨 EC2 建立
Internet Gateway (IGW)不具有 IP 位址
ENI (Elastic Network Interface)有 Private IP,可選配 Public IP
Internet Gateway (IGW)在 VPC 層級可見
ENI (Elastic Network Interface)在 EC2 詳細資訊中可見
Internet Gateway (IGW)VPC 要上網必須要有
ENI (Elastic Network Interface)EC2 要連網必須要有

層級關係圖:

Internet(網際網路)
    
Internet Gateway (IGW) ← 【VPC 層級】整個 VPC 的出入口
    
Route Table  決定流量走向
    
Subnet  網路區段
    
ENI (網路介面) ← 【EC2 層級】單一實例的網路卡
    
EC2 Instance(虛擬機器)

實務範例說明:

假設你有一個 Web 應用:

  1. IGW 的角色
  • 位置:掛在整個 VPC 上
  • 功能:讓整個 VPC 有「可以上網的能力」
  • 數量:整個 VPC 只有一個
  • 比喻:就像社區的大門,所有人都要通過這個門才能進出
  1. ENI 的角色
  • 位置:附加在每一台 EC2 上
  • 功能:讓 EC2 可以「實際連上網路」
  • 數量:每台 EC2 至少有一個,可以有多個
  • 比喻:就像你家電腦的網路卡,沒有網卡電腦就無法連網

常見混淆釐清:

錯誤理解:「IGW 就是 EC2 的網路卡」
正確理解:IGW 是 VPC 的出口,ENI 才是 EC2 的網路介面

錯誤理解:「每個 EC2 都要有自己的 IGW」
正確理解:整個 VPC 共用一個 IGW,但每個 EC2 有自己的 ENI

錯誤理解:「ENI 負責讓 EC2 上網」
正確理解:ENI 提供網路連線能力,但能否上網由 IGW + Route Table 決定

記憶口訣:

IGW 是社區的大門(VPC 層級)
ENI 是電腦的網路卡(EC2 層級)
沒有大門,社區無法對外
沒有網卡,電腦無法連網

Subnet:網路的分區管理

什麼是 Subnet?

Subnet(子網路)是 VPC 內部的網路區段,用來組織和隔離不同的資源。

Subnet 的兩大類型:

特性綁定可通往 IGW 的 Route Table
用途放置需要對外服務的資源(如 Web Server)
能否直接上網✅ 可以
特性綁定不直接通往 IGW 的 Route Table
用途放置內部資源(如資料庫)
能否直接上網❌ 不能直接上網

Subnet 與 IGW 的關係

關鍵概念: Subnet 本身不能直接連 IGW,要透過 Route Table。

Subnet A(想上網)
    
    ├── 步驟1:綁定一張 Route Table
    
    ├── 步驟2:Route Table 中設定「0.0.0.0/0  IGW」
    
    └── 步驟3:流量才能通過 IGW 到達 Internet

結論: IGW 只是出入口,但真正決定誰能用這個出口的,是 Route Table。

Route Table:流量的交通指揮官

Route Table 的核心功能

Route Table(路由表)就是「網段的交通規則表」,它告訴 AWS:這個 Subnet 的流量要怎麼出去?

Route Table 最核心的兩個欄位是:

英文Destination
說明我要去哪裡?指定想要抵達的目標 IP 網段
範例10.0.0.0/16(VPC 內部)0.0.0.0/0(Internet)
英文Target / Next Hop
說明要通過誰才能到?指定要經過哪個「出口/閘道」才能到達目的地
範例local(直接內部連線)igw-xxxxx(走 IGW)nat-xxxxx(走 NAT)

簡單理解:

  • Destination(目的地):就像你在 Google Map 輸入「我要去台北101」
  • Target(下一跳):就像 GPS 告訴你「請走國道1號」

完整範例:

【情境】EC2 想連到 Google DNS (8.8.8.8)

步驟1:EC2 發出請求

  • 來源:EC2 (10.0.1.15)
  • 目的地:Google (8.8.8.8)

步驟2:系統查詢 Route Table

路由表內容:

Targetlocal
Targetigw-xxxx

步驟3:比對目的地 IP

Q1: 8.8.8.8 在 10.0.0.0/16 範圍內嗎?

不在(10.0.0.0/16 = 10.0.0.0 ~ 10.0.255.255)
💡 這是 VPC 內部網段,8.8.8.8 不在這個範圍

Q2: 8.8.8.8 在 0.0.0.0/0 範圍內嗎?

在!(0.0.0.0/0 = 所有 IP,包括 8.8.8.8)
💡 這代表「除了上面規則以外的所有地方」

步驟4:決定下一跳

  • 找到匹配規則:0.0.0.0/0 → igw-xxxx
  • 下一跳裝置:Internet Gateway

步驟5:送出流量

EC2  Subnet  Route Table  IGW  Internet  Google (8.8.8.8)

為什麼這樣設計?

路由表的規則是「從上到下、從具體到廣泛」:

  1. 具體規則在前10.0.0.0/16 只涵蓋 VPC 內部
  2. 廣泛規則在後0.0.0.0/0 涵蓋所有其他地方(預設路由)

類比理解:

就像問路:

Q:「我要去台北101,怎麼走?」

路由表回答:

  1. 如果要去「社區內(10.0.0.0/16)」→ 直接走過去(local)
  2. 如果要去「其他任何地方(0.0.0.0/0)」→ 走社區大門(IGW)

💡 台北101 不在社區內 → 所以走大門出去!

記憶口訣:

Destination = 終點站(我想去哪裡)
Target = 交通工具(我要搭什麼過去)

用生活場景理解路由規則

想像你住在一個社區(VPC),你寫了一張交通指示(Route Table)給社區管理員:

規則 1:內部溝通不出門

目的地:社區內部(10.0.0.0/16)
下一站:Local(本社區自己處理)

意思: 如果住戶之間互相傳信、走動,直接在社區內部搞定就好,別出門。

✅ 這條是每張 Route Table 都一定會有的固定規則
✅ 代表:VPC 裡的所有資源可以互相溝通(不用出門)

規則 2:上網走正門

目的地:所有其他地方(0.0.0.0/0)
下一站:IGW(走正門)

意思: 如果要上外網,不管去哪,請走正門(IGW)。

✅ 加了這條,你的 Subnet 才能稱為「Public Subnet」

規則 3:私密出口走後門

目的地:0.0.0.0/0
下一站:NAT Gateway

意思: 不准直接出門,要先到 NAT 門口,從後門偷偷出網。

✅ 這是 Private Subnet 專用的路線設計
✅ EC2 可以上網(例如更新套件),但外面的人不能反過來連進來

真實 AWS Route Table 範例

一張實際的 Route Table 看起來像這樣:

Targetlocal
解釋這是預設的,讓 VPC 裡面資源彼此能溝通
Targetigw-xxxxxx
解釋所有去 Internet 的流量,走 IGW
Targetnat-xxxxxx
解釋去 Internet 的流量,但走 NAT Gateway(不能被回連)

重要觀念釐清:IP 位址的角色

Route Table 中的 IP 不是指某台 EC2

很多初學者會誤以為 Route Table 中的 IP(如 10.0.0.0/16)是指某台 EC2 的 IP,但其實不是!

正確理解:

Route Table 中的 IP 是指「目的地的 IP 網段(Destination CIDR)」,是一整段網路範圍。

IP 網段的意義

是什麼意思你自己 VPC 的內部網段
舉例說明VPC 裡所有 EC2 的內部 IP 都在這範圍
是什麼意思代表「所有地方」(Internet)
舉例說明任何外網位址,如 google.com (8.8.8.8)
是什麼意思也是內網範圍
舉例說明根據不同 VPC 設定而變動

EC2 的 IP 是什麼角色?

EC2 的 IP 是:

  • 發送者(Source IP)
  • 它想要連「某個目標 IP」,AWS 就會去查 Route Table 幫它找出口

完整流量範例

假設你有一台 EC2:

10.0.1.15
10.0.1.0/24
10.0.0.0/16 → local0.0.0.0/0 → igw-abc123

當 EC2 嘗試連線時:

套用哪條規則?10.0.0.0/16
會走哪個出口?local(內部溝通)
套用哪條規則?0.0.0.0/0
會走哪個出口?IGW(出網)
套用哪條規則?0.0.0.0/0
會走哪個出口?IGW(除非有額外 VPN 路由)

整合概念:完整架構圖解

三者關係總整理

VPC(你的一個私有網路)

├── IGW(掛在 VPC 上的網路出口)

├── Subnet A(Public)
   └──  Route Table A
       └── 規則:0.0.0.0/0  IGW(能上網)

└── Subnet B(Private)
    └──  Route Table B
        └── 規則:0.0.0.0/0  NAT Gateway(只能內部使用)

流量走向邏輯圖

[EC2 in Subnet]
       
       
   Route Table(查詢規則)
       
       ├── if IP  10.0.0.0/16  送給 local(不出門)
       └── if IP  0.0.0.0/0  送給 IGW(出門上網)

結構記憶法

是什麼虛擬網路整體
跟誰有關是 IGW 掛載的對象
是什麼VPC 的網路出口
跟誰有關需要 Route Table 才能讓 Subnet 用
是什麼VPC 裡的子網區塊
跟誰有關綁定 Route Table 決定能不能用 IGW
是什麼指定流量怎麼走的「路由表」
跟誰有關控制 Subnet 的出口流向(IGW / NAT)

Route Table 的綁定關係

重要原則:

說明一個 Subnet 只能綁定一張 Route Table(1對1)
說明一張 Route Table 可以被多個 Subnet 共用(1對多)
             ┌─────────────────┐
                Route Table   
             └────────┬────────┘
                      
        ┌─────────────┼─────────────┐
                                  
    ┌───────┐    ┌───────┐    ┌───────┐
    │Subnet A│   │Subnet B│   │Subnet C│
    └───────┘    └───────┘    └───────┘

實務應用範例:

設定規則10.0.0.0/16 → local0.0.0.0/0 → IGW
綁定的 SubnetPublic Subnet A、B、C
設定規則10.0.0.0/16 → local0.0.0.0/0 → NAT Gateway
綁定的 SubnetPrivate Subnet A、B、C

Q5:為什麼需要 NAT Gateway?

答: NAT Gateway 讓 Private Subnet 中的 EC2 可以:

  • ✅ 主動連出去上網(例如:下載更新)
  • ❌ 但外部無法主動連進來(提高安全性)

結語

AWS 的網路架構乍看之下很複雜,但只要掌握 VPC、IGW、Subnet、Route Table 這四大核心元件的關係,就能理解整個運作邏輯。

記住最重要的觀念:

  • VPC 是你的私有網路空間
  • IGW 是對外的大門
  • Subnet 是內部的分區
  • Route Table 是交通指揮官

透過本文的生活化比喻和詳細圖解,相信你已經對 AWS 網路架構有了清晰的理解。接下來就是實際動手操作,在 AWS Console 中建立這些元件,親自體驗它們的運作方式!

學習建議: 可以在 AWS Free Tier 帳號中實際練習建立 VPC、Subnet、IGW 和 Route Table,透過實作來加深理解。

祝你的 AWS 學習之旅順利!🚀