iT邦幫忙

2025 iThome 鐵人賽

DAY 10
1

簡介

在上篇 DAY9 雲端基礎章-建立 IAM Group 與 User 中,我們實際建立了 IAM Group 與 User,並驗證了不同 Policy 所帶來的差異。

本篇我們將開始進入 網路相關的章節,來介紹 AWS 最核心的網路服務 — VPC (Virtual Private Cloud, 虛擬私有雲),了解它的基本組成與概念,為後續的實作鋪路。


什麼是 VPC?

VPC (Virtual Private Cloud,虛擬私有雲) 是 AWS 提供的一項服務,允許使用者在雲端中建立邏輯上隔離的虛擬網路環境。

透過 VPC,我們可以:

  • 自行定義 IP 位址範圍 (CIDR Block)
  • 建立 子網路 (Subnet),並指定在不同可用區 (AZ) 中。
  • 設定 路由表 (Route Table) 控制流量走向。
  • 配置 網際網路閘道 (IGW)NAT 閘道,決定是否能連上網路。
  • 使用 安全組 (Security Group)網路 ACL (NACL) 來保障資源安全。

換句話說,VPC 就是你在雲端的「虛擬資料中心」。


VPC 的核心概念

(1) VPC(虛擬私有雲)

  • 定義:VPC 是你在 AWS 上建立的一個 獨立網路空間,就像你在雲端租了一個專屬的「資料中心網路環境」。
  • 隔離性:不同帳號或不同 VPC 之間的流量「預設」無法互通,確保資源隔離。
  • CIDR Block (IP 網段):建立 VPC 時,必須指定一個私有網路範圍,例如 10.0.0.0/16
    • 最小可到 /28 (16 個 IP),最大可到 /16 (65,536 個 IP)。
    • 注意避免與公司內部或其他 VPC 網段衝突,否則 VPN / Direct Connect 可能無法連通。
  • 跨可用區 (AZ):同一個 VPC 可以跨越同區域的多個 AZ,方便建置高可用架構。

(2) 子網路(Subnet)

  • 定義:子網是 VPC 中的「區塊分割」,把大網段拆成更小的子網段。
  • 用途:可將不同類型的資源放在不同子網,例如 Web 層、應用層、資料庫層,達到隔離效果。
  • 公有子網 (Public Subnet)
    • 內部資源可透過 IGW (Internet Gateway) 直接上網。
    • 適合放置需要對外服務的資源(EC2 Web Server、ALB)。
  • 私有子網 (Private Subnet)
    • 無法直接對外,需透過 NAT Gateway 或 VPC Endpoint 存取外部服務。
    • 適合放置資料庫 (RDS)、內部服務、後端應用程式等相對機密的應用服務。
  • 可用區 (AZ) 綁定:子網必須綁定特定 AZ,通常會在多個 AZ 建立對應子網,以實現高可用架構。

(3) 路由表(Route Table)

  • 定義:控制子網流量去向的「規則清單」。
  • 基本運作
    • 每個子網必須關聯一個路由表。
    • 沒有額外指定時,會使用 VPC 預設的 Main Route Table
  • 常見規則
    • 10.0.0.0/16 → local(VPC 內部流量互通)。
    • 0.0.0.0/0 → IGW(公有子網連網)。
    • 0.0.0.0/0 → NAT Gateway(私有子網連外)。
  • 進階應用:可用於隔離設計,例如:某些子網只能走 VPN,而不能走 IGW。

(4) 網際網路閘道(Internet Gateway, IGW)

  • 定義:IGW 是 AWS 提供的 高可用元件,用來讓 VPC 與網際網路互通。
  • 運作條件:子網若要能連網,需同時:
    1. 在 VPC 附加 IGW。
    2. 在子網的路由表新增 0.0.0.0/0 → IGW
  • 特色
    • AWS 全面托管,內建高可用,無需額外付費。
  • 常見用途
    • 公有子網 EC2 對外服務。
    • 公有子網中的 NAT Gateway 連外。

(5) NAT 閘道

  • 定義:NAT (Network Address Translation) 閘道允許 私有子網內的資源主動連外(下載更新、打 API),但外部無法主動連進來。
  • 為什麼需要 NAT?
    • 內部系統通常不希望暴露在公網,但仍需要下載更新或存取 AWS API。
  • 種類
    • NAT Gateway(AWS 托管):高可用、自動擴展、維運簡單,但需支付 小時費用 + 流量費
    • NAT Instance(自建 EC2):便宜、可客製,但需自行管理 HA 與安全設定,生產環境較少使用。
  • 部署方式
    • 必須放在 公有子網(因為它要透過 IGW 出網)。
    • 私有子網的路由表需新增 0.0.0.0/0 → NAT Gateway
  • 注意事項
    • NAT Gateway 在不同 AZ 是獨立的,若要高可用需在每個 AZ 部署一個。
    • 成本會隨流量增加,需注意費用。

(6) 安全組 (Security Group) 與 網路 ACL (NACL)

安全組 (Security Group, SG)

  • 層級:作用於 EC2 / RDS / Lambda ENI 等資源的 網路介面層級
  • 狀態性 (Stateful):允許一個方向的流量,回應流量自動被允許。
    • 例:允許 Inbound TCP 22 (SSH),回應的 Outbound TCP 22 會自動開放。
  • 規則方向
    • Inbound:允許哪些來源流量進來。
    • Outbound:允許哪些流量送出去。
  • 允許清單模式:只允許 (Allow),無法設定拒絕 (Deny)。
  • 常見使用方式
    • Web Server 開啟 80/443 (HTTP/HTTPS)。
    • DB Server 僅允許來自應用伺服器的 3306 (MySQL)。

網路 ACL (Network ACL, NACL)

  • 層級:作用於 子網路層級,影響整個 Subnet。
  • 無狀態 (Stateless):Inbound 與 Outbound 規則必須各自定義。
  • 規則方向
    • Inbound:允許哪些來源 IP 進入子網。
    • Outbound:允許哪些目標 IP 離開子網。
  • 允許與拒絕:同時支援 Allow / Deny,依照 Rule Number 順序判斷。
  • 常見使用方式
    • 建立黑名單規則(例如封鎖特定 IP)。
    • 提供子網級別的額外隔離層。

差異比較

功能 安全組 (SG) 網路 ACL (NACL)
作用層級 資源 (ENI) 子網 (Subnet)
狀態性 ✅ 狀態性 (自動允許回應) ❌ 無狀態 (需手動設定)
規則類型 只允許 (Allow) 允許 (Allow) + 拒絕 (Deny)
適合用途 控制單台資源存取 子網黑名單 / 額外防護

(7) VPC 端點 (VPC Endpoint)

VPC 端點允許 VPC 內的資源 透過私有網路 訪問 AWS 服務,而不需要經過網際網路。

為什麼需要 VPC Endpoint?

  • 沒有 IGW / NAT Gateway 也能訪問 AWS 服務。
  • 提高安全性(流量不會出 VPC)。
  • 減少延遲、降低流量成本。

類型

  1. Gateway Endpoint

    • 支援服務:僅限 S3、DynamoDB
    • 運作方式:在 Route Table 加入一條路由指向 Endpoint。
    • 收費:免費。
    • 適用場景:私有子網 Glue/Athena 存取 S3。
  2. Interface Endpoint (PrivateLink)

    • 支援服務:幾乎所有 AWS 服務(如 SQS、SNS、KMS、Secrets Manager)。
    • 運作方式:在子網建立一個 ENI,透過它連到服務。
    • 收費:ENI 小時費 + 流量費。
    • 適用場景:App 在私有子網訪問 SQS、Secrets Manager。

總結比較

類型 Gateway Endpoint Interface Endpoint (PrivateLink)
支援服務 S3、DynamoDB 大部分 AWS 服務 (SQS, SNS, KMS)
實作方式 在 Route Table 加路由 建立 ENI (彈性網路介面)
收費 免費 需付 ENI 小時費 + 流量費
常見場景 Glue/Athena 存取 S3 App 存取 Secrets Manager、SQS

常見使用場景

Web 應用程式架構

  • 公有子網放置 Web Server
  • 私有子網放置 Database
  • 使用 NAT Gateway 提供更新下載

混合雲架構

  • 透過 VPN / Direct Connect 連到企業內部資料中心。
  • 高安全性場景
  • 敏感服務僅能在私有子網運作,並搭配 VPC Endpoint 連 S3。

注意事項

  • CIDR 規劃:避免與公司內網或其他 VPC 重疊。
  • 子網設計:合理分配 /24 或 /28,預留擴充空間。
  • 成本控管:NAT Gateway、跨區傳輸都會收費。
  • 安全性:只開放必要的 Port,並定期檢查 SG / NACL。

結論與建議

VPC 是 AWS 網路的基石,幾乎所有服務都需要 VPC 才能運作,透過 VPC 我們可以模擬企業內網架構,打造兼具「安全性」與「彈性」的雲端環境。

下篇預告

下一篇我們將進入 「DAY11 雲端基礎章-建立 VPC」,實際來建立本系列需使用的虛擬網路環境。

參考資料

[1] Amazon VPC 官方文件
[2] AWS VPC Pricing
[3] AWS Well-Architected Framework - Networking
[4] AWS Blog - Networking & Content Delivery


上一篇
DAY9 雲端基礎章-建立 IAM Group 與 User
系列文
動漫宅的 30 天 AWS Lakehouse 修行日誌10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言