在 AWS 的世界裡,每個 VPC 就像一個社區,要讓不同社區能安全地互相交流、交換資料,就需要建「交流道」:VPC Peering 和 PrivateLink!
VPC Peering 是讓兩個 VPC 之間可以**私下直接互連(私有 IP 通訊)**的機制。
資料經由 AWS 背後網路傳輸,不經過網際網路。
可以跨帳號、跨區域(跨區需要特別設)。
使用場景:
高速、低延遲,私有通訊。
建立後雙方可互通(雙向)。
注意事項:
架構分享:
perring 我們常常使用在兩個 VPC需要對接的場景,但要注意超過兩個以上的VPC就不要使用了,perring 是需要雙向去做設定的,當數量一多你設定與管理的難度是成指數級增長,非常的可怕。如果有多個VPC 會建議採用 AWS Transit Gateway 進行串接 (但他有點貴!)
AWS PrivateLink:幫別人開個小門口,不打通大門
PrivateLink 讓你能夠透過 內部的 AWS 網路存取「公開或私有服務」,而不暴露整個 VPC。
通常搭配 Interface VPC Endpoint(ENI) 使用。
對使用者來說像是本地服務,但實際請求是被轉送到別人的服務裡。
使用場景:
你想要存取其他帳號的某個 API 或服務,但不想整個 VPC 打通(如:SaaS、共享 API)。
想把你的服務變成一個安全的內部服務給其他帳號 / VPC 用。
第三方 SaaS 提供者也常使用 PrivateLink 提供私有接入。
優點:
注意事項:
架構分享:
在特定系統可能資安等級相對高,他會限制VPC是無法架設IGW連外網的,但使用AWS 服務都需要呼叫到非常多不同服務公開的public dns,這時候就會使用到endpoint的機制,在你的vpc內架設 endpoint 與其他AWS的服務進行溝通。
特性 | VPC Peering | PrivateLink |
---|---|---|
網路通訊 | 雙向互通(私有 IP) | 單向連線(像 API Gateway) |
IP 重疊支援 | ❌ 不支援 | ✅ 支援 |
安全性控制 | 粗:整個 VPC 打通 | 細:只開特定服務 |
使用方式 | 建 Peering + route + SG | 建 endpoint + SG |
跨帳號 | ✅ 支援 | ✅ 支援 |
跨區支援 | ✅ 支援(有限) | ✅ 支援 |
成本 | 幾乎免費(不收傳輸費) | 需要付費(接入費 + 傳輸費) |
適合用途 | VPC-to-VPC 全面通訊 | 提供/存取特定服務 |
建立數量限制 | 每 VPC 最多 125 個 | 每區最多數百個 endpoint |
實務建議:什麼時候用哪一個?
需求 | 建議方案 |
---|---|
兩個 VPC 全面互通 | VPC Peering |
存取特定 API / 服務,不打通全網 | PrivateLink |
VPC 有 IP 重疊 | 只能用 PrivateLink |
你是 SaaS 供應商 | PrivateLink(發布服務) |
跨帳號讓前端叫後端 | PrivateLink 比較安全控得細 |
VPC Peering 像是:
把兩個社區中間開一條「雙向道路」,大家都能自由走動,但要小心不要打太多條,交通會打結(難管理)。
PrivateLink 像是:
A 社區開了一個「郵箱口」,B 社區的住戶可以送信進去,但不能走進 A 社區,控制更細、安全更高。