AWS
Microservices (EKS + Service Mesh)
EKS + AWS App Mesh + Aurora + ElastiCache のマイクロサービス構成。AWS App MeshによるサービスメッシュとAWS X-Rayの分散トレーシングにより、マイクロサービス間の通信を可視化・制御できます。
アーキテクチャ構成図
クライアント
HTTPS
ALB + AWS Load Balancer Controller
Ingress Controller
NGINX / Traefik
AWS App Mesh
mTLS / トラフィックシェーピング
各マイクロサービス Pod
Helm管理
Aurora / ElastiCache
サービスごとDB分離
↑ リクエスト / データの流れ(上から下)
採用サービス構成
- K8sクラスター
- EKS (Kubernetes)
- サービスメッシュ
- AWS App Mesh / Istio
- データベース
- Aurora PostgreSQL
- キャッシュ
- ElastiCache Redis
代表的なユースケース
- ✓大規模SaaSのマイクロサービス分解
- ✓Blue/Greenデプロイメント
- ✓複数チームによる独立デプロイ
- ✓サービス間のカナリアリリース
このパターンを選ぶ判断基準
AWSネイティブのKubernetes環境でサービスメッシュを使いたい場合や、AWS Fargateでノード管理を省略したい場合に適しています。