VPC(Virtual Private Cloud)
VPC(Virtual Private Cloud)
VPC(Virtual Private Cloud)是雲端帳號內的一塊邏輯隔離私有網段,是其餘所有網路切分的起點。在 VPC 裡開出來的所有資源預設只看得到同一個 VPC 內的成員,與其他 VPC、與其他帳號的網路天然隔離。沒有 VPC,subnet 與 security group 無處依附。
VPC 用 CIDR 區塊定義地址空間。建立時的 CIDR 大小是一次性決策——事後擴張地址空間在多數雲端平台上是麻煩且容易出錯的操作(AWS 允許追加 secondary CIDR,但追加的網段在 routing 與服務相容性上有限制)。
概念位置
VPC 是模組三:網路地基的最外層邊界。Infra 系列的網路設計從 VPC 開始:先圈定地址空間,再往內切 subnet、掛 route table、設 security group。環境之間的 VPC 怎麼分(每個環境一個 VPC),屬於模組四:環境分離的設計決策。
可觀察訊號
VPC 設計需要關注的訊號:CIDR 空間快用完(subnet 切不出新的子網段)、需要跟其他 VPC 或地端互連時發現 CIDR 重疊(peering 無法建立)、服務被放在預設 VPC 裡(預設 VPC 是所有人共享的、CIDR 不可控的、security group 預設全通的)。
設計責任
規劃 VPC 時要決定:
- CIDR 大小:
/16提供約六萬五千個位址,對多數單一環境足夠 - 不重疊:多個 VPC(不同環境或產品線)用連續但不重疊的大段分配
- DNS 設定:
enable_dns_support和enable_dns_hostnames在多數場景都該開啟 - 預設 VPC 的處理:正式服務不該放在預設 VPC,新帳號的預設 VPC 可以刪除或保留唯讀
鄰卡
- Subnet — VPC 內按可用區與暴露程度切出的子網段
- Security Group — 掛在資源上的有狀態防火牆
- CIDR — VPC 的地址空間定義方式
- NAT — 讓 private subnet 出站的地址轉換機制