在 VPC 存取私有資源
使用 AWS Lambda 的無伺服器應用程式
Claudio Canales
Senior DevOps Engineer
什麼是 VPC?
- VPC 是你在 AWS 的私有網路。
- 提供位址空間、路由與防火牆控管。
- 由你決定資源如何連線。
簡單類比:封閉社區
- 子網像社區鄰里。
- 安全性群組是出入規則。
- NAT 是通往公共網際網路的共享出口。
為何在 VPC 執行 Lambda?
- 存取私有資源,如內部服務或資料庫。
- 安全性群組控管 Lambda 可連線的目標。
你需要設定的項目
- 選擇 subnets。
- 選擇 security group。
- Lambda 取得你 VPC 內的 IP 以連到私有端點。
子網:函式執行的位置
- 子網決定函式在網路中的位置。
- 私有子網沒有直接的網際網路路由。
- 選可達到處理器需求目標的子網。
安全性群組:防火牆規則
- 安全性群組是網路介面的防火牆規則。
- 控制入站與出站流量。
- 出站規則常決定 Lambda 能否連到資料庫。
ENI 與冷啟動
- ENI = Elastic Network Interface。
- Lambda 可能需先建立並附加 ENI 才能呼叫處理器。
- 額外的網路設定會增加冷啟動延遲。
ENI 類比:插上網路線
- ENI = 函式的網路連線。
- 會在你選的子網中建立。
- 設定越多,冷啟動可能越慢。
出站網際網路存取
- 私有子網通常無法直連公共網際網路。
- 沒有出站路由時,對公共 API 的呼叫會逾時。
- 常見作法:使用 NAT gateway。
何時需要 NAT?
- 呼叫公共網際網路端點時需要 NAT。
- 僅存取私有 VPC 資源時,可能不需 NAT。
常見網路設定問題的徵兆
- 逾時多半表示少了路由或 NAT。
- 連線被拒多半是安全性群組規則所致。
最佳實務
- 僅在需要私有連線時使用 VPC。
- 設定保持精簡。
- 監控冷啟動延遲與連線錯誤。
重點整理
- VPC 為 Lambda 提供私有網路。
- 你需要設定子網與安全性群組。
- ENI 可能增加冷啟動負擔。
- 私有子網的出站網路需透過 NAT。
一起來練習吧!
使用 AWS Lambda 的無伺服器應用程式
Preparing Video For Download...