AWS architecture template

AWS EKS microservices

Amazon EKS behind an Application Load Balancer, with ECR images built by CodeBuild, Aurora, ElastiCache and IAM pod roles.

Open in editor

Free to start. Updated .

Diagram of the AWS EKS microservices template

When to use it

Pick this template when several teams ship containerised services and want one Kubernetes platform to share. The EKS cluster runs in private subnets across three Availability Zones, and the AWS Load Balancer Controller creates the Application Load Balancer from Kubernetes Ingress objects. CodeBuild builds and scans images and pushes them to ECR, and the cluster pulls from there. Each workload assumes its own IAM role through IRSA or EKS Pod Identity, and reads its database credentials from Secrets Manager through the Secrets Store CSI driver. Add CloudWatch Container Insights for cluster metrics and logs.

Kubernetes buys portability and a rich ecosystem at the price of real platform work: cluster upgrades, add-on versions, node scaling and network policy all become your job. If you only run a handful of services, ECS on Fargate gives you most of the benefits with less to operate. Keep stateful data in Aurora and ElastiCache rather than inside the cluster.

What's in this template

  • User / ActorAPI consumers
  • IAMPod roles (IRSA or Pod Identity)
  • ELBALB managed by the Load Balancer Controller
  • EKSEKS cluster with managed node groups
  • AuroraAurora PostgreSQL
  • ElastiCacheRedis cache
  • Secrets ManagerDatabase credentials
  • CodeBuildBuild and scan container images
  • ECRPrivate image registry

How it connects

  • User / Actor → ELB (network): HTTPS
  • ELB → EKS (network): Ingress
  • EKS → Aurora (data): SQL
  • EKS → ElastiCache (data): Cache
  • CodeBuild → ECR (data): Push image
  • ECR → EKS (data): Pull image
  • EKS → Secrets Manager (dependency): Secrets Store CSI
  • EKS → IAM (dependency): Assume role

More AWS templates

Make it your own

Open a copy in the editor, then rename, rearrange and extend it.