在 VPC 存取私有資源

使用 AWS Lambda 的無伺服器應用程式

Claudio Canales

Senior DevOps Engineer

什麼是 VPC?

  • VPC 是你在 AWS 的私有網路。
  • 提供位址空間、路由與防火牆控管。
  • 由你決定資源如何連線。

VPC 元件總覽

使用 AWS Lambda 的無伺服器應用程式

簡單類比:封閉社區

  • 子網像社區鄰里。
  • 安全性群組是出入規則。
  • NAT 是通往公共網際網路的共享出口。

封閉社區類比

使用 AWS Lambda 的無伺服器應用程式

為何在 VPC 執行 Lambda?

  • 存取私有資源,如內部服務或資料庫。
  • 安全性群組控管 Lambda 可連線的目標。

Lambda VPC 私有存取

使用 AWS Lambda 的無伺服器應用程式

你需要設定的項目

  • 選擇 subnets
  • 選擇 security group
  • Lambda 取得你 VPC 內的 IP 以連到私有端點。

VPC 設定輸入與影響

使用 AWS Lambda 的無伺服器應用程式

子網:函式執行的位置

  • 子網決定函式在網路中的位置。
  • 私有子網沒有直接的網際網路路由。
  • 選可達到處理器需求目標的子網。

子網選擇影響

使用 AWS Lambda 的無伺服器應用程式

安全性群組:防火牆規則

  • 安全性群組是網路介面的防火牆規則。
  • 控制入站與出站流量。
  • 出站規則常決定 Lambda 能否連到資料庫。

保全比喻的安全性群組

使用 AWS Lambda 的無伺服器應用程式

ENI 與冷啟動

  • ENI = Elastic Network Interface。
  • Lambda 可能需先建立並附加 ENI 才能呼叫處理器。
  • 額外的網路設定會增加冷啟動延遲。

ENI 冷啟動流程

使用 AWS Lambda 的無伺服器應用程式

ENI 類比:插上網路線

  • ENI = 函式的網路連線。
  • 會在你選的子網中建立。
  • 設定越多,冷啟動可能越慢。

ENI 網路線插頭類比

使用 AWS Lambda 的無伺服器應用程式

出站網際網路存取

  • 私有子網通常無法直連公共網際網路。
  • 沒有出站路由時,對公共 API 的呼叫會逾時。
  • 常見作法:使用 NAT gateway。

NAT gateway 出站流程

使用 AWS Lambda 的無伺服器應用程式

何時需要 NAT?

  • 呼叫公共網際網路端點時需要 NAT。
  • 僅存取私有 VPC 資源時,可能不需 NAT。

是否需要 NAT 決策圖

使用 AWS Lambda 的無伺服器應用程式

常見網路設定問題的徵兆

  • 逾時多半表示少了路由或 NAT。
  • 連線被拒多半是安全性群組規則所致。

網路症狀檢查清單

使用 AWS Lambda 的無伺服器應用程式

最佳實務

  • 僅在需要私有連線時使用 VPC。
  • 設定保持精簡。
  • 監控冷啟動延遲與連線錯誤。

VPC 最佳實務

使用 AWS Lambda 的無伺服器應用程式

重點整理

  • VPC 為 Lambda 提供私有網路。
  • 你需要設定子網與安全性群組。
  • ENI 可能增加冷啟動負擔。
  • 私有子網的出站網路需透過 NAT。

VPC 連線權衡

使用 AWS Lambda 的無伺服器應用程式

一起來練習吧!

使用 AWS Lambda 的無伺服器應用程式

Preparing Video For Download...