Amazon EKS — AMI Types

1 minute read

AMI Types for EKS

The AMI (Amazon Machine Image) determines the operating system and base configuration of your worker nodes. EKS supports several AMI types.


Available AMI Types

AMI OS Description Best For
AL2 (Amazon Linux 2) Linux Default EKS AMI, most tested General workloads
AL2023 Linux Next-gen Amazon Linux New clusters
Bottlerocket Linux Minimal container OS by AWS Security-focused
Ubuntu Linux Canonical-maintained Teams familiar with Ubuntu
Windows Windows Windows Server 2019/2022 .NET workloads

Amazon Linux 2 (Default)

managedNodeGroups:
  - name: al2-nodes
    instanceType: m5.large
    amiFamily: AmazonLinux2    # Default
    desiredCapacity: 3

Pros: Most tested, broadest compatibility, AWS support Cons: Full OS (larger attack surface than Bottlerocket)


Bottlerocket

Bottlerocket is a minimal, purpose-built OS for running containers:

managedNodeGroups:
  - name: bottlerocket-nodes
    instanceType: m5.large
    amiFamily: Bottlerocket
    desiredCapacity: 3
    bottlerocket:
      settings:
        motd: "EKS Bottlerocket Node"

Pros:

  • Minimal attack surface (no SSH by default, no package manager)
  • Atomic updates (entire OS updated at once)
  • Faster boot time
  • Read-only root filesystem

Cons:

  • Can’t install extra packages
  • SSH debugging requires SSM

Comparison

Feature AL2 Bottlerocket
SSH access Yes No (SSM only)
Package manager yum None
Update model In-place Atomic (A/B partition)
Root filesystem Read-write Read-only
Boot time ~45 sec ~25 sec
Attack surface Medium Minimal
Recommendation General use Security-focused

Common Mistakes

Mistake Fix
Using AL2 when security requires minimal OS Use Bottlerocket
Custom AMI without testing Always test bootstrap and pod scheduling
Mixing AMI types without labels Label nodes by AMI for targeted scheduling

What’s Next?

Specialized compute: GPU & ARM Instances.