iT邦幫忙

2025 iThome 鐵人賽

DAY 3
1
Build on AWS

AWS 雲原生,學起來比泡咖啡還快系列 第 3

子網路(subnet) - 社區裡的街道與巷弄

  • 分享至 

  • xImage
  •  

子網路設計大方向: 子網規劃其實並沒有特別的標準答案,但建議要注意一下以下幾點

1: 一定要有公開(public) 與 私有(private) 兩個subnet。

透過公開與私有subnet 來提高系統的安全性,不要全部都在網路上裸奔QQ,看過太多系統都直接在public subnet 建置,某一天不小心設定沒有設定好就被入侵了。


2. 功能分層:建議至少區分 AP(應用層)與 DB(資料層)

在 Private Subnet 中,進一步細分為: App Subnet:部署應用程式邏輯(例如 EC2、ECS、Lambda 等)
DB Subnet:部署資料庫(RDS、Aurora、Redis 等)
這樣可以做到更清楚的網路控制,例如:

  • App Subnet 可以透過 Security Group 存取 DB Subnet,但外部無法直接連進 DB。
  • 可以針對不同層級做獨立監控與日誌記錄。

3. 多 AZ 高可用設計 (非常建議一定要!!!)

每一層的子網都建議橫跨至少 兩個可用區(AZ):

  • Public-AZ-a / Public-AZ-b
  • Private-App-AZ-a / Private-App-AZ-b
  • Private-DB-AZ-a / Private-DB-AZ-b

https://ithelp.ithome.com.tw/upload/images/20250905/20145462qdP87XRhsd.png
這樣才能實現高可用架構,當其中一個 AZ 發生災難時,系統可以切換到另一個 AZ 持續運作。很多AWS服務也會要求至少要在兩個AZ進行建置。

架構小提醒:
建議依「功能」而非「技術層」來分 Subnet,例如:

用途 Subnet 類型 優勢
Public Web Public 可直接對外提供服務
App Layer / Lambda Private 更安全,通過 NAT 存取外部 API
Database Private 僅允許內部連線,搭配 DB Subnet Group
Monitoring/Logging Private 限制資料流出,集中監控

4. 命名規則與標籤(Tagging)很重要

建議格式如:
[環境]-[功能]-[AZ]ex: prod-web-a, dev-db-b

用 Tag 來標記環境、專案、負責團隊,方便管理與成本追蹤。

5. 配合服務需求設計子網

  • RDS:需設計 DB Subnet Group,至少跨 2 個 Private Subnet。
  • EKS/ECS:需要設夠大的 Subnet,並設計好 NAT Gateway、IAM。
  • ALB/NLB:必須部署在 Public Subnet,接收外部流量。
  • 彈性擴充:預留未來用的 Subnet 空間

總結一句話:

好的子網設計 = 安全 + 穩定 + 可擴充
把安全性、功能分層、高可用性與未來擴展性都考量進去,才能打造一個強健、靈活的雲端架構。


上一篇
VPC:你的雲端社區規劃圖
下一篇
路由表(Route Table) & 閘道器(Gateway):讓資料不迷路
系列文
AWS 雲原生,學起來比泡咖啡還快4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言