# AWS - VPC Lattice
# VPC Lattice
VPC Lattice 是 AWS 的 application-level networking service,主要用於 跨 VPC / 跨 AWS 帳號 提供 安全、可觀測、可控 的服務間通訊。
# 為什麼需要 VPC Lattice
在微服務架構中,服務可能部署在:
- 多個 VPC
- 不同帳號(Organizations)
- 不同執行環境(Lambda、ECS、EKS、EC2 等)
- 有時會跨 region(需額外設置)
以往跨 VPC/Account 通訊需要:
- VPC Peering(點對點,難擴充)
- Transit Gateway(IP 層路由)
- PrivateLink(單向 Consumer → Provider)
痛點:維運複雜、無法停用未授權服務、缺乏應用層治理
# Peering Connection

# Trasift Gateway

# PrivateLink

# VPC Lattice

# VPC Lattice 的定位
| 服務 | 層級 | 適用情境 |
|---|---|---|
| VPC Peering | Layer 3 | 網路互通、沒有治理能力 |
| Transit Gateway | Layer 3 | 大規模多 VPC 拓樸 |
| PrivateLink | Layer 4 | 私有連線,單向消費者模式 |
| VPC Lattice | Layer 7 | 跨 VPC/Account 的應用服務網格 |
VPC Lattice 同時解決:
- 服務自動發現
- 流量治理(traffic control)
- 身份授權(IAM)
- 觀測性
不需管理網路路由、DNS、NAT、SG 等複雜操作
# 架構元件
| 元件 | 作用 |
|---|---|
| Service Network | 一組可互相存取的服務的邏輯網域 |
| Services | 暴露出來的應用(URL endpoint) |
| Service Directory | 自動服務發現與 DNS |
| Target Group | 後端工作負載(Lambda、ECS、EC2、EKS) |
| AuthZ Policy | IAM 型 API Access Control |
示意結構
1 | Service Network |
跨 VPC、跨帳號互調 → 不用 Peering & 不配置路由表
# 安全性
| 安全功能 | 說明 |
|---|---|
| IAM-based authentication | Who can call which service |
| Service-to-service authorization | 像 Zero Trust Service Mesh |
| TLS encryption | 預設啟用 |
# Observability
原生支持:
- CloudWatch metrics
- X-Ray traces
- Access logs
不需埋點一堆代理 sidecar
# 重點價值
| 優勢 | 說明 |
|---|---|
| 簡化跨 VPC / 跨帳號服務呼叫 | 不需要控制路由、DNS、Peering |
| Layer 7 控管 | 允許精細化 API 授權與流量治理 |
| 支援混合工作負載 | EC2 / ECS / EKS / Lambda |
| 原生觀測 | Logs + Metrics + Tracing |
# 適用情境
- 微服務架構跨帳號互調
- SaaS 多租戶架構(central service + multiple consumers)
- 以 IAM 為主軸的 Zero Trust 架構
- Lift & Shift 後重構服務目錄
# Reference
- AWS - 什麼是 Amazon VPC Lattice?