クラウドネットワーキング

VPC Lattice ぶいぴーしーらてぃす

AWSサービスメッシュマイクロサービスサービスディスカバリロードバランシングアクセス制御
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 GroupServiceへのトラフィックを受ける実体(EC2/ECS/Lambda等)“実際に仕事する担当者リスト”
Listenerプロトコル・ポートの受付設定(HTTP/HTTPS/gRPC“何番窓口でどの言葉を話すか”
Auth PolicyIAMベースのアクセス制御ポリシー”入館証チェックのルール”

覚え方:「受付カウンター」モデル

[呼び出し元サービス]

  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登場以前の代表的な構成と比較すると、その特徴が際立ちます。

従来構成 vs VPC Lattice 従来の構成 VPCピアリング 1対1の接続 / 数が増えると爆発的に複雑化 Transit Gateway L3ルーティング中心 / アプリ層制御は別途必要 ALB + NLB 組み合わせ ロードバランシングは強力 / 認証・発見は自前 AWS App Mesh サイドカー管理が必要 / Envoy知識が前提 → 複数ツールを組み合わせる必要があり 運用・設計コストが高い VPC Lattice Service Network VPC・アカウント横断で一元管理 IAMネイティブ認証 サービスごとにポリシーで制御 自動サービスディスカバリ DNSベースで名前解決・ルーティング EC2 / ECS / Lambda / EKS 対応 サイドカー不要でマルチワークロード → ネットワーク設定なしで サービス間通信を構築できる 比較

VPC Lattice vs サービスメッシュ(App Mesh / Istio)

比較項目VPC LatticeApp Mesh / Istio
サイドカー不要必要(Envoy等)
対応ワークロードEC2/ECS/Lambda/EKS主にコンテナ・K8s
認証IAMネイティブmTLS + 独自設定
運用難易度低い高い
細かいトラフィック制御中程度非常に高い
マルチアカウント対応ネイティブ対応別途設計が必要

関連する規格・RFC

規格・サービス内容
RFC 7540(HTTP/2)VPC LatticeのgRPC通信基盤となるプロトコル
Kubernetes Gateway APIEKSからVPC Latticeをコントロールするための標準API
AWS PrivateLinkVPC Latticeと組み合わせてSaaS型サービス公開に使われる
AWS RAM(Resource Access Manager)VPC Latticeリソースをマルチアカウントで共有する際に使用

関連用語