Forrester Total Economic Impact™ study finds Edwin AI delivered a 313% ROI for composite organization.

Read more

What Is AWS EKS, and How Does It Work with Kubernetes?

Amazon Elastic Kubernetes Service (Amazon EKS) is a system that makes it easier to run Kubernetes on AWS and on-premises.
17 min read
May 4, 2026

The quick download

Amazon EKS is AWS’s managed Kubernetes service for deploying and scaling containerized applications.

  • AWS manages the Kubernetes control plane, while you manage workloads, worker nodes, networking, and security policies.

  • EKS integrates with AWS services such as IAM, VPC, ECR, CloudWatch, and Elastic Load Balancing.

  • EKS supports multiple deployment models, including managed node groups, Fargate, self-managed nodes, and hybrid nodes.

  • LogicMonitor monitors EKS performance, workload health, infrastructure dependencies, and user experience from a single platform.

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed Kubernetes service that simplifies deploying, scaling, and running containerized applications on AWS and on-premises. 

EKS automates Kubernetes control plane management, ensuring high availability and seamless integration with AWS services like IAM, VPC, and ALB.

This managed AWS Kubernetes service scales, manages, and deploys containerized applications. Through EKS, you can run Kubernetes without installing or operating a control plane or worker nodes.

So what does it all mean? 

  • What is the relationship between AWS and Kubernetes? 
  • What are the benefits of using Kubernetes with AWS? 
  • What are the next steps when implementing AWS EKS? 

Let’s understand in this article. 

What Is AWS EKS?

AWS EKS is Amazon’s managed Kubernetes service. It’s a fully managed service that helps you to easily deploy, manage, and scale containerized applications using Kubernetes on AWS without the need to install, operate, or maintain your own Kubernetes control plane. 

AWS runs the API server, scheduler, controller manager, and etcd for you across multiple Availability Zones. You bring the workloads and (in most modes) the worker nodes.

Here is the simplest way to see it:

  • Self-managed Kubernetes: you install, patch, upgrade, and harden the control plane yourself. Full control, full operational cost.
  • AWS EKS: AWS owns the control plane. You focus on your applications, your nodes, and your integrations.

EKS is also AWS’s hook into the rest of its ecosystem. Out of the box, you get IAM for identity, VPC for isolated networking, Elastic Load Balancing for traffic distribution, and Amazon ECR for container images. 

The control plane connects to your VPC through cross-account elastic network interfaces (ENIs), which we’ll cover below.

Of the teams running containers in the public cloud, roughly 78% use AWS — far ahead of Azure (39%) and Google Cloud (35%) — which makes EKS the default Kubernetes path for most cloud-first organizations.

How AWS EKS Works

EKS splits responsibility into two planes:

  1. The control plane runs in AWS-managed accounts. It includes the Kubernetes API server, scheduler, controller manager, and etcd. AWS spreads these components across three Availability Zones for high availability, applies patches, rotates certificates, and performs the control plane portion of Kubernetes minor version upgrades.
  2. The data plane runs in your VPC. It is where your worker nodes (EC2, Fargate, or hybrid) actually execute pods. You decide instance types, scaling policies, security groups, and what runs where.

The Request Flow

When you run kubectl apply -f deployment.yaml, here is what happens:

  1. kubectl → EKS API server: Your CLI authenticates to the managed API endpoint over TLS. EKS uses an AWS IAM authenticator to map your IAM identity to a Kubernetes RBAC role.
  2. API server → etcd: The desired state is persisted in the managed etcd cluster.
  3. Scheduler decides placement: Based on resource requests, taints, tolerations, and node affinity, the scheduler picks a worker node.
  4. kubelet on the node pulls the spec: The node’s kubelet polls the API server, pulls the container image (from ECR or another registry), and starts the pod.
  5. Networking is wired up: By default, the Amazon VPC CNI plugin assigns a VPC-routable IP to the pod, so it gets first-class network identity inside your VPC.

Control Plane vs. Data Plane Responsibilities

LayerAWS ownsCustomer owns
Kubernetes API server, scheduler, controller manager, etcdYes
Control plane patches and minor version upgradesYes, in EKS, AWS performs the control plane upgrade itself, but customers still choose when to initiate the upgrade.
Multi-AZ control plane availabilityYes
Worker node provisioning (EC2 or Fargate)Partial (managed node groups, Fargate)Self-managed nodes, workload placement choices
Node OS patching, container runtime, kubelet configPartial in Fargate and managed node groupsYes for self-managed
Pod scheduling logic configurationYes
Workload security: RBAC, network policies, secretsYes
VPC design, subnets, security groupsYes
Application code, container imagesYes
Cluster autoscaling, HPA, VPA configurationYes

Networking Internals

EKS does something subtle that is worth understanding. The control plane lives in an AWS-managed VPC, but it needs to connect to your worker nodes inside your VPC. 

AWS solves this by creating cross-account ENIs in your VPC’s subnets. These ENIs let the managed API server reach kubelets without exposing anything to the public internet.

Two implications:

  1. Each subnet that hosts worker nodes needs enough free IPs for those ENIs plus pod IPs. The default Amazon VPC CNI gives every pod a VPC-routable IP address, which can consume subnet IP space quickly at scale.
  2. If you enable private API endpoint access, all kubectl traffic can stay inside your VPC or connected private networks, with no public path to the control plane.

This is the part most teams don’t fully grasp until they hit an “out of IP addresses” alarm or a security audit. Plan your subnet CIDRs with pod density in mind.

EKS Deployment Models Compared

EKS supports a few ways to run worker nodes. The right choice depends on how much control you want, how much operational work you are willing to do, and what workloads you are running.

ModelControl levelOperational effortBest for
Managed node groupsMediumLow; AWS manages node group infrastructure while customers still control upgrade rollout and scaling configurationMost production teams that want EC2-level control without manual node management
Self-managed nodesHighHigh; you handle AMIs, scaling, lifecycleCustom AMIs, GPU workloads, niche kernel or driver requirements
AWS FargateLowLowest; serverless, AWS manages all computeMany stateless microservices, batch jobs, and teams that want minimal node management
EKS Hybrid NodesMediumMediumOn-premises or edge workloads governed from the same EKS control plane
EKS Auto ModeLowLow; AWS manages much of the data plane lifecycleTeams that want managed compute, scaling, and upgrades by default

AWS Service Integrations

EKS can integrate with:

  • Amazon VPC for isolated environments, Elastic Load Balancing for traffic distribution, AWS PrivateLink for service-to-service connectivity.
  • Amazon EBS for persistent block storage, Amazon S3 for application object storage and data services, Amazon EFS for shared file storage.
  • IAM, EKS Pod Identity, and IRSA for identity, AWS KMS for encryption keys, AWS Shield for DDoS protection.
  • Amazon CloudWatch for metrics, AWS CloudTrail for audit logs, AWS X-Ray and AWS Distro for OpenTelemetry (ADOT) for distributed tracing.

Key Features of AWS EKS

Key features of AWS EKS include:

  • EKS add-ons: AWS distributes pre-packaged versions of core Kubernetes components, including VPC CNI, CoreDNS, and kube-proxy, that EKS keeps up to date for you. Add-ons remove the manual work of pinning compatible versions across cluster upgrades. Newer add-ons cover the EBS CSI driver, the Amazon EFS CSI driver, and observability agents.
  • IAM Roles for Service Accounts (IRSA): Instead of attaching broad IAM permissions to every node, IRSA lets you bind a specific IAM role to a Kubernetes service account. A pod inherits exactly the AWS permissions it needs. This has been a standard way to grant pods access to S3, DynamoDB, or any AWS API.
  • EKS Pod Identity: It’s a newer alternative to IRSA. Pod Identity uses an EKS-managed agent and IAM integration to broker AWS credentials, which simplifies setup across multiple clusters.
  • Service mesh integration: EKS works with service meshes, including Istio and Linkerd, as well as AWS-integrated mesh tooling. A service mesh adds mTLS between services, fine-grained traffic policies, and traceable cross-service calls 
  • EKS Anywhere and Hybrid Nodes: Both extend Kubernetes management to environments outside AWS, with the same APIs and tooling.

Benefits of AWS EKS over Self-Managed Kubernetes

Managed Kubernetes only pays off if it changes how the team operates. Here is where EKS moves the needle:

1. You stop running the control plane

No more managing etcd backups, no more API server certificate rotations yourself, no more building the upgrade plan from scratch. 

Engineers reclaim the hours that used to go into platform plumbing.

2. MTTR drops because the control plane is highly available by default

EKS runs the API server and etcd across three AZs. A single Availability Zone failure does not take your cluster down, and you do not have to architect that yourself.

3. Faster release cycles

With managed add-ons, IRSA, IAM integrations, and integrated CI/CD, deployments move from “the platform team rebuilds the cluster every quarter” to “developers ship daily.” 

Teams using GitOps with ArgoCD or Flux on EKS routinely move from a weekly to a daily release cadence.

4. Lower operational headcount

A 50-person engineering team that previously needed two full-time Kubernetes administrators can usually run on a smaller platform team once EKS takes over the control plane work. 

Those engineers move to building internal developer platforms instead of firefighting cluster upgrades.

5. Predictable security baseline

AWS patches the control plane on a known schedule. Compliance teams can use CloudTrail for AWS API audit logging and Kubernetes audit integrations for cluster activity visibility, by default. That alone is often enough to justify EKS in regulated industries. 

EKS vs. AKS vs. GKE vs. OpenShift

Most teams evaluating EKS are also looking at Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), or Red Hat OpenShift:

  • Azure Kubernetes Service (AKS) is Microsoft’s managed Kubernetes platform on Azure. It simplifies deploying, scaling, and managing containerized applications while integrating closely with Azure services like Microsoft Entra ID, Azure Monitor, and DevOps tools.
  • Google Kubernetes Engine (GKE) is Google Cloud’s managed Kubernetes service. Built by Google, one of the original creators and major contributors to Kubernetes, GKE focuses on automation, scalability, and streamlined cluster management for cloud-native applications.
  • Red Hat OpenShift is an enterprise Kubernetes platform built on top of Kubernetes. It adds developer tools, integrated CI/CD capabilities, security policies, and hybrid cloud management features for organizations running large-scale or regulated environments.

They are all managed Kubernetes but the differences are in defaults, integrations, and ecosystem fit.

FactorAmazon EKSAzure AKSGoogle GKERed Hat OpenShift
Control plane cost$0.10 per cluster per hourFree tier available (Standard/Premium tiers billed separately)$0.10 per cluster, per hour (varies by mode/edition)Subscription-based
Native cloud integrationDeepest with AWS (IAM, VPC, ECR, ALB)Deepest with Microsoft Entra ID (formerly Azure AD), Azure Monitor, ACRDeepest with GCP IAM, Cloud Load Balancing, Artifact RegistryCloud-agnostic; runs on any major cloud or on-prem
Upgrade approachManual or Auto Mode opt-inOptional automatic cluster upgradesMost automated — release channels and auto-upgrade by defaultOperator-driven, opinionated lifecycle
Hybrid storyEKS Anywhere, EKS Hybrid NodesAzure ArcGKE Enterprise (formerly Anthos)OpenShift on-prem is a first-class deployment
Best forTeams already standardized on AWSTeams with heavy Microsoft or Azure footprintTeams that want the most managed K8s experienceEnterprises that want a turnkey platform with built-in developer tooling and policy

When to choose each:

  • Choose EKS if AWS is your primary cloud and you want deep IAM, VPC, and ECR integration without re-platforming.
  • Choose AKS if you are heavily invested in Azure AD, Microsoft tooling, or have an enterprise agreement with Microsoft.
  • Choose GKE if you want the most opinionated, automated Kubernetes experience — Google originated Kubernetes, and it shows in the defaults.
  • Choose OpenShift if you need a single platform across cloud and on-prem with built-in CI/CD, developer self-service, and stricter operational opinions.

Amazon EKS Use Cases

The well-known use cases such as microservices, web apps, and ML get repeated everywhere. But let’s see where EKS becomes the obvious choice over its alternatives:

Microservices for SaaS multi-tenancy: SaaS platforms running per-tenant namespaces or virtual clusters use EKS to isolate noisy customers, enforce per-tenant resource limits, and roll out features tenant-by-tenant.

Fintech and regulated workloads: Teams in financial services use EKS with IRSA, KMS, and CloudTrail to meet SOC 2, PCI-DSS, and internal audit requirements without building a custom compliance layer.

High-traffic streaming and event-driven apps: Streaming services scale pods elastically across managed node groups and Fargate during traffic spikes, then drop back during off-peak hours.

Machine learning training and inference: EKS with GPU node groups runs training jobs at scale. Integration with S3, SageMaker, and EFS keeps datasets and model artifacts close to compute.

Batch and big data jobs: Spark on Kubernetes, Apache Airflow, and Argo Workflows run well on EKS, especially with Fargate for spiky workloads where keeping nodes warm wastes money.

Edge and IoT: EKS Anywhere brings Kubernetes to factories, retail stores, and remote sites where workloads need to keep running during intermittent or disconnected connectivity to AWS.

Blue/green and canary deployments: Teams use EKS with service meshes or progressive delivery tools (Argo Rollouts, Flagger) to release new versions to a small percentage of traffic before promoting cluster-wide.

Hybrid and Multi-Cloud with AWS EKS

AWS EKS supports hybrid and multi-cloud Kubernetes deployments by extending consistent Kubernetes operations across AWS, on-premises infrastructure, and edge environments. 

Instead of managing separate tooling and processes for each environment, you can run workloads with similar Kubernetes APIs, policies, and operational patterns regardless of where the infrastructure locates.

However, hybrid Kubernetes only becomes valuable when it solves a real operational problem. 

AWS EKS Anywhere and EKS Hybrid Nodes are commonly used for four scenarios:

1. Data residency: Some workloads cannot legally leave a country such as financial records in the EU, healthcare data in certain states. Running EKS on-premises in those regions keeps the data in the jurisdiction while the rest of the platform stays in AWS.

2. Disaster recovery: Mirroring critical workloads to an on-prem EKS cluster can provide a recovery target that reduces dependence on AWS regional availability. 

3. Cloud bursting: Baseline workloads run on-prem on owned hardware; some organizations use AWS EKS as overflow capacity during demand spikes. This pattern keeps fixed costs low and uses AWS for the peaks instead of provisioning for them year-round.

4. Regulatory and air-gapped environments: Defense, government, and certain industrial customers operate in air-gapped networks. EKS Anywhere lets them run Kubernetes with consistent tooling without exposing systems to the public internet.

Amazon EKS Best Practices

The day-two work is where your teams either save money or accidentally burn it. Here are a few practices that hold up across the EKS clusters we see most often.

Automate Kubernetes Operations

Define clusters with Terraform or AWS CloudFormation so a re-create is reproducible. Use CI/CD pipelines for code and Helm + ArgoCD (or Flux) for cluster state. 

Strengthen Security

Layered security catches what one control misses. Its non-negotiables are:

  • Identity: Use IAM, EKS Pod Identity, or IRSA so pods can follow least-privilege AWS access patterns. Avoid attaching broad IAM roles to worker nodes.
  • Network: Run worker nodes in private subnets, use security groups to limit traffic, and enable VPC flow logs for forensics.
  • Encryption: Encrypt secrets with AWS KMS at rest, enforce TLS for data in transit, and rotate keys on a schedule.
  • Cluster hygiene: Upgrade Kubernetes versions on cadence (extended support exists, but it comes at a significantly higher cost), keep node AMIs current, and run a tool like kube-bench against CIS benchmarks.

Optimize Cluster Performance

Right-sized clusters cost less and run faster: 

  • Enable Karpenter or the Kubernetes Cluster Autoscaler to add and remove nodes based on actual demand. 
  • Use AWS Compute Optimizer to flag oversized instances. 
  • Apply pod resource requests and limits so the scheduler can pack workloads efficiently.

Operational Lifecycle of AWS EKS

The operational lifecycle of EKS covers the tasks your team handles after cluster deployment, including Kubernetes upgrades, workload scale, availability, and disaster recovery.

Upgrades 

AWS supports each Kubernetes minor version for 14 months under standard support, plus 12 more months of extended support at a higher cost. 

A typical EKS upgrade flow includes three major steps: 

  1. upgrade the control plane (in-place, AWS-managed)
  2. upgrade managed add-ons
  3. rotate worker nodes

EKS upgrade insights flags deprecated APIs in your manifests before you start.

Scaling

EKS scales at three levels:

  1. Pod-level: Horizontal Pod Autoscaler (HPA) for replica counts, Vertical Pod Autoscaler (VPA) for resource adjustments.
  2. Node-level: Cluster Autoscaler or Karpenter to grow and shrink the data plane based on pending pods.
  3. Control plane: AWS manages control plane scaling and availability for the API server and etcd.

Availability and failover

AWS deploys EKS control planes across multiple Availability Zones by default. You can also distribute workloads across zones with pod topology spread constraints.

For regional failover, deploy a second EKS cluster in another AWS region. Velero supports backup and recovery, while Karmada manages workloads across multiple clusters.

What to Monitor in AWS EKS

Most teams underinvest in EKS monitoring because the cluster runs fine until it does not. To avoid any issues later, build a monitoring strategy that covers these four signals: 

  1. Control plane signals: API server latency, etcd request duration, scheduler latency, and pending pod behavior. Slow API responses often show up before user-facing impact.
  2. Node-level signals: CPU and memory pressure, disk utilization, node-not-ready events, and kubelet errors. These predict pod scheduling failures.
  3. Pod and workload signals: Restart counts, OOMKilled events, readiness probe failures, request rate, error rate, and latency. 
  4. Cost and capacity signals: Pod-per-node density, unused capacity, idle pods. Without this, EKS clusters drift toward overprovisioning.

Where LogicMonitor Helps

EKS gives you the cluster. But you don’t know whether issues in EKS connect to what users actually experience and that is where most teams have gaps.

LogicMonitor brings the EKS signal layer into a broader Autonomous IT operating model. You get: 

  • Unified visibility across hybrid infrastructure through LM Envision
  • Internet performance and digital experience context through Catchpoint
  • AI-assisted correlation through Edwin AI 

As a result, you get a broader operational context where a pod restart is connected to the service it impacted, the user experience it changed, and the dependencies that triggered it.

For EKS specifically, LogicMonitor surfaces dedicated dashboards for API server health, pod resource usage, and container metrics, with Edwin AI prioritizing what needs attention versus what is noise. 

Simply put, LogicMonitor helps teams like yours move from “we are drowning in pod alerts” to “we know which incident to act on first, and why.”

How to Start Using AWS EKS

To get started with Amazon EKS, configure networking, access controls, worker nodes, and observability. 

Here’s how to do it step by step:

  1. Plan your VPC: Choose a CIDR range with enough space for nodes, pods, and Elastic Network Interfaces (ENIs). Most production deployments use three private subnets across three Availability Zones.
  2. Set up IAM: Create IAM roles for the EKS cluster and worker nodes. Decide whether workloads will use IAM Roles for Service Accounts (IRSA) or EKS Pod Identity for AWS access.
  3. Create the cluster: Deploy the cluster with eksctl, the AWS CLI, Terraform, or AWS CDK. Use a Kubernetes version in standard support that has been available for long enough to reduce upgrade risk.
  4. Add worker nodes: Choose a node deployment model. Most teams start with managed node groups because AWS handles node lifecycle management. You can adjust capacity later as workloads grow.
  5. Install core add-ons: Install the VPC CNI, CoreDNS, kube-proxy, and EBS CSI driver. EKS-managed add-ons help manage compatible versions, but you still initiate add-on updates.
  6. Set up observability and access: Connect monitoring and logging tools such as LogicMonitor, Prometheus, or CloudWatch. Configure CI/CD pipelines and define RBAC policies for users and services.

What Can Go Wrong

These are some of the most common problems you may run into during initial setup.

  • Subnet IP exhaustion: The VPC CNI assigns a VPC IP address to every pod. Small subnets run out of available IPs quickly as pod counts increase. 
  • Missing aws-auth configuration: Without the aws-auth ConfigMap or its newer replacement, access entries, worker nodes, and users may fail authentication or authorization, and IAM users cannot access Kubernetes resources with kubectl.
  • Public API endpoint exposure: EKS clusters often expose the Kubernetes API endpoint publicly by default if endpoint access settings are not restricted. Restrict public access before production workloads go live.
  • Pinned add-on versions: Self-managed add-ons can fall out of compatibility after Kubernetes upgrades. EKS-managed add-ons reduce version drift and simplify maintenance.
  • Missing pod resource requests: Without CPU and memory requests, Kubernetes cannot schedule workloads efficiently. This leads to unstable autoscaling behavior and unnecessary infrastructure costs.

Maximize Your Kubernetes Investment with LogicMonitor

AWS EKS is a system that can accelerate and optimize your company’s operations. However, many need to be using it to its full potential. Monitoring will help you get the most out of your investment via key metrics and visualizations.

LogicMonitor offers dedicated Kubernetes monitoring dashboards, including insights into Kubernetes API Server performance, container health, and pod resource usage. 

These tools provide real-time metrics to detect and resolve issues quickly, ensuring a reliable Kubernetes environment.

Get full visibility into AWS EKS with LogicMonitor

LogicMonitor helps you monitor and optimize AWS EKS environments at scale

FAQs

How do I choose between managed node groups, self-managed nodes, and AWS Fargate in EKS?

The choice depends on your team’s expertise and use case. Managed node groups work well if you want AWS to handle scaling and updates. Self-managed nodes offer full control but require more operational effort. AWS Fargate is ideal for serverless workloads where you don’t want to manage infrastructure at all.

What’s the best way to secure workloads running on AWS EKS?

You can strengthen security using IAM roles for fine-grained access control, encrypting data with AWS KMS, isolating networks with VPCs, and using Kubernetes network policies or AWS security groups to restrict traffic.

Can AWS EKS help reduce operational overhead compared to vanilla Kubernetes?

Yes. Amazon EKS handles control plane management, patching, and availability across multiple zones. These need to be managed yourself with vanilla Kubernetes, which can be complex and time-consuming.

Is EKS suitable for hybrid cloud or on-prem deployments?

Absolutely. EKS Anywhere helps you extend Kubernetes clusters to on-prem environments. They support hybrid architectures while keeping a consistent management experience.

How does EKS pricing compare to running Kubernetes on EC2 without EKS?

EKS adds a per-cluster hourly charge but reduces management effort and operational risk. Without EKS, you don’t pay that fee, but you take on full responsibility for control plane management, availability, and scaling.

What tools integrate well with EKS for CI/CD pipelines?

You can integrate EKS with CodePipeline, Jenkins, GitLab, or ArgoCD for CI/CD. These tools automate builds, tests, and deployments in Kubernetes, speeding up software delivery.

14-day access to the full LogicMonitor platform