首頁文章關於報價聯絡我們🌐 EN
返回首頁AWS
AWS VPC 入門教學:虛擬私有雲架設、子網路、安全設定【2025】

AWS VPC 入門教學:虛擬私有雲架設、子網路、安全設定【2025】

📑 目錄

AWS VPC 入門教學:虛擬私有雲架設、子網路、安全設定【2025】AWS VPC 入門教學:虛擬私有雲架設、子網路、安全設定【2025】

為什麼你的資料庫不應該有公開 IP?為什麼 Web Server 和 Database 要放在不同的子網路?為什麼同樣的安全群組設定,有時能連線有時不能?這些問題的答案都在 VPC。

VPC 是 AWS 網路架構的基礎。理解 VPC,你才能設計出安全、可靠的雲端架構。這篇文章會帶你從頭認識 VPC——從基本概念、核心元件,到實際建立一個標準的三層架構。



什麼是 AWS VPC?

💡 重點摘要:VPC(Virtual Private Cloud)是你在 AWS 雲端的私有網路。你可以把它想像成在 AWS 資料中心裡劃出一塊專屬於你的區域,有自己的 IP 範圍、子網路、路由規則。

VPC 的核心價值

1. 隔離性

VPC 與 VPC 之間完全隔離。你的資源不會被其他用戶看到或存取。

2. 控制權

你可以完全控制網路設定:

3. 連接性

VPC 可以連接到:

VPC vs 傳統網路

面向傳統企業網路AWS VPC
建置時間數週到數月幾分鐘
擴展性受限於硬體幾乎無限
設定方式實體設備 + CLIAWS Console / API
成本硬體 + 維護用多少付多少
跨區域需要專線原生支援

為什麼需要 VPC?

當你在 AWS 上建立 EC2、RDS、Lambda 等資源時,它們需要一個網路環境。VPC 就是這個環境。

沒有 VPC 的問題:

有 VPC 的好處:



VPC 核心元件

要理解 VPC,需要先認識這些核心元件:

子網路(Subnet)

子網路是 VPC 內的 IP 位址區塊。每個子網路對應一個可用區(AZ)。

公有子網路 vs 私有子網路

特性公有子網路私有子網路
可接收網際網路流量
可主動連到網際網路是(透過 IGW)要透過 NAT Gateway
適合放什麼Web Server、Bastion HostDatabase、App Server
路由表指向Internet GatewayNAT Gateway

子網路規劃範例:

VPC: 10.0.0.0/16(65,536 個 IP)
│
├── Public Subnet 1:  10.0.1.0/24(256 IP)- AZ-a
├── Public Subnet 2:  10.0.2.0/24(256 IP)- AZ-b
├── Private Subnet 1: 10.0.11.0/24(256 IP)- AZ-a
├── Private Subnet 2: 10.0.12.0/24(256 IP)- AZ-b
├── DB Subnet 1:      10.0.21.0/24(256 IP)- AZ-a
└── DB Subnet 2:      10.0.22.0/24(256 IP)- AZ-b

路由表(Route Table)

路由表決定網路流量要往哪裡送。每個子網路都會關聯一個路由表。

公有子網路的路由表:

目的地目標
10.0.0.0/16local(VPC 內部)
0.0.0.0/0igw-xxxxx(Internet Gateway)

私有子網路的路由表:

目的地目標
10.0.0.0/16local
0.0.0.0/0nat-xxxxx(NAT Gateway)

Internet Gateway(IGW)

Internet Gateway 讓 VPC 內的資源可以與網際網路通訊。

特點:

使用條件:

  1. VPC 附加 IGW
  2. 子網路路由表有指向 IGW 的路由
  3. 執行個體有公有 IP 或 Elastic IP
  4. 安全群組允許流量

NAT Gateway

NAT Gateway 讓私有子網路的資源可以主動連到網際網路(例如下載更新),但網際網路無法主動連入。

特點:

架構示意:

網際網路
                        │
                        ▼
                ┌───────────────┐
                │Internet Gateway│
                └───────┬───────┘
                        │
        ┌───────────────┼───────────────┐
        │               │               │
        ▼               ▼               ▼
   ┌─────────┐    ┌─────────┐    ┌─────────┐
   │ Public  │    │ Public  │    │   NAT   │
   │ Subnet  │    │ Subnet  │    │ Gateway │
   │(Web 層) │    │(Web 層) │    │         │
   └─────────┘    └─────────┘    └────┬────┘
                                      │
                    ┌─────────────────┘
                    ▼
              ┌─────────┐
              │ Private │
              │ Subnet  │
              │(App/DB) │
              └─────────┘

安全群組(Security Group)

安全群組是執行個體層級的防火牆,控制進出執行個體的流量。

特點:

常見設定範例:

類型協定Port來源說明
SSHTCP2210.0.0.0/16只允許 VPC 內 SSH
HTTPTCP800.0.0.0/0允許所有人 HTTP
HTTPSTCP4430.0.0.0/0允許所有人 HTTPS
MySQLTCP3306sg-app只允許 App 層安全群組

網路 ACL(NACL)

NACL 是子網路層級的防火牆,作為第二道防線。

特點:

Security Group vs NACL:

面向Security GroupNACL
層級執行個體子網路
狀態有狀態無狀態
規則類型只能允許允許和拒絕
規則評估全部評估按順序評估
預設拒絕所有入、允許所有出允許所有

一般建議: 主要用 Security Group 控制,NACL 作為額外防護層。



子網路規劃

好的子網路規劃是 VPC 設計的關鍵。

CIDR 區塊規劃

CIDR(Classless Inter-Domain Routing)定義 IP 位址範圍。

常用 CIDR:

CIDRIP 數量適用場景
/1665,536VPC
/204,096大型子網路
/24256標準子網路
/2816小型子網路

私有 IP 範圍(RFC 1918):

規劃建議:

公有子網路 vs 私有子網路

公有子網路:

私有子網路:

多可用區設計

為了高可用性,建議在至少兩個 AZ 部署資源。

標準三層架構:

VPC: 10.0.0.0/16
    ┌─────────────────────────────────────────────┐
    │                                             │
    │   AZ-a                      AZ-b            │
    │   ┌─────────────┐          ┌─────────────┐  │
    │   │ Public      │          │ Public      │  │
    │   │ 10.0.1.0/24 │          │ 10.0.2.0/24 │  │
    │   │   [ALB]     │──────────│   [ALB]     │  │
    │   └──────┬──────┘          └──────┬──────┘  │
    │          │                        │         │
    │   ┌──────▼──────┐          ┌──────▼──────┐  │
    │   │ Private     │          │ Private     │  │
    │   │ 10.0.11.0/24│          │ 10.0.12.0/24│  │
    │   │   [EC2]     │──────────│   [EC2]     │  │
    │   └──────┬──────┘          └──────┬──────┘  │
    │          │                        │         │
    │   ┌──────▼──────┐          ┌──────▼──────┐  │
    │   │ DB Subnet   │          │ DB Subnet   │  │
    │   │ 10.0.21.0/24│          │ 10.0.22.0/24│  │
    │   │   [RDS]     │◄─────────│   [RDS]     │  │
    │   └─────────────┘ Primary   └─────────────┘  │
    │                   Standby                   │
    └─────────────────────────────────────────────┘


VPC 安全設定

安全群組設計原則

1. 最小權限原則

只開放必要的 port,來源盡可能限縮。

❌ 錯誤:開放 0.0.0.0/0 存取資料庫
✓ 正確:只允許應用層安全群組存取資料庫

2. 分層設計

每一層有自己的安全群組:

層級安全群組允許來源
Web 層sg-web0.0.0.0/0 (80, 443)
App 層sg-appsg-web (8080)
DB 層sg-dbsg-app (3306)

3. 使用安全群組引用

不要用 IP,用安全群組 ID 作為來源:

❌ 來源:10.0.11.0/24
✓ 來源:sg-app

好處:即使 IP 變動,規則仍然有效。

安全群組範例

Web Server(sg-web):

方向類型Port來源/目標
HTTP800.0.0.0/0
HTTPS4430.0.0.0/0
SSH22sg-bastion
AllAll0.0.0.0/0

Application Server(sg-app):

方向類型Port來源/目標
Custom8080sg-web
SSH22sg-bastion
MySQL3306sg-db
HTTPS4430.0.0.0/0

Database(sg-db):

方向類型Port來源/目標
MySQL3306sg-app
AllAll0.0.0.0/0

NACL 最佳實踐

通常保持預設 NACL(允許所有)即可,主要靠 Security Group 控制。

需要用 NACL 的場景:

NACL 設定範例:

規則 #方向類型Port來源動作
100HTTP800.0.0.0/0允許
110HTTPS4430.0.0.0/0允許
120SSH2210.0.0.0/16允許
130Custom1024-655350.0.0.0/0允許
*AllAll0.0.0.0/0拒絕

注意:因為無狀態,需要允許臨時 port(1024-65535)讓回應流量進來。

網路架構對了,安全性自然提升

VPC 設計看似簡單,但魔鬼藏在細節裡。子網路怎麼劃分?安全群組怎麼設計?NAT Gateway 要幾個?這些決定會影響安全性、效能和成本。

CloudSwap 團隊有豐富的 VPC 架構經驗,預約免費諮詢,讓我們幫你設計安全、高效的網路架構。



VPC 建立步驟教學

以下是建立標準三層架構 VPC 的完整步驟。

步驟一:建立 VPC

  1. 前往 AWS Console > VPC
  2. 點擊「Create VPC」
  3. 選擇「VPC and more」(會自動建立子網路、路由表等)

設定:

  1. 點擊「Create VPC」

步驟二:檢視建立的資源

AWS 會自動建立:

步驟三:驗證路由表

公有子網路路由表應該有:

目的地目標
10.0.0.0/16local
0.0.0.0/0igw-xxxxx

私有子網路路由表應該有:

目的地目標
10.0.0.0/16local
0.0.0.0/0nat-xxxxx

步驟四:建立安全群組

Web 層安全群組(sg-web):

  1. VPC > Security Groups > Create security group
  2. 設定:
    • Name:sg-web
    • VPC:my-vpc
  3. Inbound rules:
    • HTTP (80) from 0.0.0.0/0
    • HTTPS (443) from 0.0.0.0/0

App 層安全群組(sg-app):

  1. 設定:
    • Name:sg-app
    • VPC:my-vpc
  2. Inbound rules:
    • Custom TCP (8080) from sg-web

DB 層安全群組(sg-db):

  1. 設定:
    • Name:sg-db
    • VPC:my-vpc
  2. Inbound rules:
    • MySQL (3306) from sg-app

步驟五:測試連通性

建立測試 EC2:

  1. 在公有子網路建立 EC2(選擇 sg-web)
  2. 確認可以從網際網路 SSH 連入
  3. 確認可以 ping 外部網站

測試私有子網路:

  1. 在私有子網路建立 EC2(選擇 sg-app)
  2. 透過公有子網路的 EC2 跳轉連入
  3. 確認可以 ping 外部網站(透過 NAT Gateway)
  4. 確認外部無法直接連入


VPC 最佳實踐

網路設計

1. 預留足夠 IP 空間

2. 跨多個 AZ 部署

3. 使用 VPC Flow Logs

安全設計

1. 分層防護

2. 限制 SSH/RDP 存取

3. 定期審查安全群組

成本優化

1. NAT Gateway 費用

2. VPC Endpoint

3. 跨 AZ 流量



常見問題

為什麼 EC2 無法連到網際網路?

檢查清單:

  1. ✓ EC2 在公有子網路?
  2. ✓ 子網路路由表有指向 IGW?
  3. ✓ EC2 有公有 IP 或 Elastic IP?
  4. ✓ 安全群組允許出站流量?
  5. ✓ NACL 允許流量?

私有子網路如何存取網際網路?

使用 NAT Gateway:

  1. 在公有子網路建立 NAT Gateway
  2. 私有子網路路由表加入 0.0.0.0/0 → NAT Gateway

VPC Peering vs Transit Gateway?

少量 VPC 用 Peering,多 VPC 用 Transit Gateway。

如何連接企業內網?

選項:

  1. Site-to-Site VPN:透過網際網路加密連線
  2. Direct Connect:專線連接,更穩定但成本高
  3. Client VPN:遠端用戶連入 VPC


下一步

VPC 是所有 AWS 架構的基礎。掌握 VPC,你就能設計出安全、可靠的雲端環境。

建議的學習路徑:

  1. 實作:建立三層架構 VPC,部署簡單應用
  2. 安全:設計分層安全群組
  3. 連接:嘗試 VPC Peering
  4. 進階:Transit Gateway、Direct Connect

VPC 架構需要第二意見?

網路架構的錯誤可能導致安全漏洞或意外的高額費用。CloudSwap 團隊幫助過數百家企業設計 VPC 架構,從新建到遷移都有豐富經驗。

預約免費架構諮詢,讓我們幫你檢視和優化 VPC 設計。



延伸閱讀


AWS
上一篇
AWS vs Azure vs GCP 2025 完整比較:功能、價格、選擇指南
下一篇
AWS 台灣資源完整指南:代理商、薪水、活動、機房資訊【2025】