VPC Lattice ぶいぴーしーらてぃす
簡単に言うとこんな感じ!
バラバラのAWSサービス同士を「共通の受付カウンター」でつなぐ仕組みだよ。VPCをまたいでも、アカウントが違っても、ルールを一か所で管理しながら安全に通信させられるんだ!
VPC Latticeとは
VPC Lattice(ブイピーシー ラティス)は、2023年にAWSが正式リリースしたマネージド型のアプリケーションネットワーキングサービスです。複数のVPC(仮想プライベートクラウド)やAWSアカウントにまたがって動くマイクロサービス・アプリケーション同士を、シンプルかつ一元的に接続・管理できるように設計されています。
従来、AWSでサービス間通信を実現しようとすると、VPCピアリングやトランジットゲートウェイ、ALB(アプリケーションロードバランサー)などを組み合わせる必要があり、ネットワーク設計が複雑になりがちでした。VPC Latticeはそれらの煩雑さを吸収し、「どのサービスが、どのサービスに、どんな条件で通信できるか」をポリシーベースで一元管理できるプラットフォームを提供します。
名前の「Lattice(格子)」は、サービス同士が縦横に接続されるイメージに由来しています。開発チームが増えてサービスが増殖しても、通信ルールを統一した格子状の基盤に乗せることで、管理コストを抑えながらスケールできるのが最大の特徴です。
VPC Latticeの構成要素
VPC Latticeは以下のコンポーネントで構成されています。
| コンポーネント | 役割 | 実務上のイメージ |
|---|---|---|
| Service Network | 複数サービスをまとめる論理的なグループ | ”社内ネットワーク全体” にあたる箱 |
| Service | 個々のアプリケーション・マイクロサービスの単位 | ”各部署の窓口” |
| Target Group | Serviceへのトラフィックを受ける実体(EC2/ECS/Lambda等) | “実際に仕事する担当者リスト” |
| Listener | プロトコル・ポートの受付設定(HTTP/HTTPS/gRPC) | “何番窓口でどの言葉を話すか” |
| Auth Policy | IAMベースのアクセス制御ポリシー | ”入館証チェックのルール” |
覚え方:「受付カウンター」モデル
[呼び出し元サービス]
↓
Service Network(受付ロビー)
↓
Service(各窓口)
↓
Target Group(担当者)
├── EC2
├── ECS タスク
└── Lambda 関数
この階層をイメージすると、「どこに頼めば誰が動くか」が整理しやすくなります。
Auth Policy(認証ポリシー)の仕組み
VPC LatticeはIAMポリシーと連携したアクセス制御をネイティブサポートしています。S3バケットポリシーに似た形式で「誰が・どのサービスに・何を・許可するか」を記述できます。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/OrderServiceRole"
},
"Action": "vpc-lattice-svcs:Invoke",
"Resource": "*"
}]
}
歴史と背景
- 2021年頃 — AWSのマイクロサービス採用が急増。VPCをまたいだサービス通信の複雑さが顧客課題として顕在化
- 2022年11月 — AWS re:Invent 2022でVPC Latticeをプレビュー発表。EKS・ECS・Lambdaを統一的につなぐ新アーキテクチャとして注目を集める
- 2023年4月 — GA(一般提供)開始。米国・欧州・アジアパシフィックのリージョンで順次利用可能に
- 2023年〜現在 — Kubernetes Gateway API連携(AWS Gateway API Controller)が追加され、EKSワークロードからの利用が拡充。サービスメッシュ製品(AWS App Meshの後継的位置づけ)として普及が進む
従来アーキテクチャとの比較
VPC Lattice登場以前の代表的な構成と比較すると、その特徴が際立ちます。
VPC Lattice vs サービスメッシュ(App Mesh / Istio)
| 比較項目 | VPC Lattice | App Mesh / Istio |
|---|---|---|
| サイドカー | 不要 | 必要(Envoy等) |
| 対応ワークロード | EC2/ECS/Lambda/EKS | 主にコンテナ・K8s |
| 認証 | IAMネイティブ | mTLS + 独自設定 |
| 運用難易度 | 低い | 高い |
| 細かいトラフィック制御 | 中程度 | 非常に高い |
| マルチアカウント対応 | ネイティブ対応 | 別途設計が必要 |
関連する規格・RFC
| 規格・サービス | 内容 |
|---|---|
| RFC 7540(HTTP/2) | VPC LatticeのgRPC通信基盤となるプロトコル |
| Kubernetes Gateway API | EKSからVPC Latticeをコントロールするための標準API |
| AWS PrivateLink | VPC Latticeと組み合わせてSaaS型サービス公開に使われる |
| AWS RAM(Resource Access Manager) | VPC Latticeリソースをマルチアカウントで共有する際に使用 |
関連用語
- VPC(Virtual Private Cloud) — AWSの仮想ネットワーク空間。VPC Latticeが跨いで接続する対象
- サービスメッシュ — マイクロサービス間通信を管理する概念。VPC Latticeはその一形態
- ALB(Application Load Balancer) — VPC内のL7ロードバランサー。VPC LatticeのTarget Groupで裏側に使える
- AWS Transit Gateway — VPC間L3ルーティングの従来手段。Latticeと役割が異なる
- IAM(Identity and Access Management) — VPC LatticeのAuth Policyの基盤となるAWSの認証・認可サービス
- [マイクロ