Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Amazon Machine Images (AMIs)

This document covers how to find AMIs compatible with AWS Graviton, and how to look up and use the AMIs in AWS System Manager and AWS CloudFormation.

Using the console

AMIs can both be found in the console as explained in the AWS documentation when launching instances interactively.

Using APIs - AWS Systems Manager Parameter Store

When integrating the AMI lookup process in a script or in a piece of code, it is more convenient to leverage AWS Systems Manager Parameter Store.

There's a good article about it on the AWS Compute blog: Query for the latest Amazon Linux AMI IDs using AWS Systems Manager Parameter Store.

OS releaseParameter name
Amazon Linux 2023/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64
Amazon Linux 2023 minimal/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64
Amazon Linux 2/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2
Ubuntu 24.04/aws/service/canonical/ubuntu/server/24.04/stable/current/arm64/hvm/ebs-gp3/ami-id
Ubuntu 22.04/aws/service/canonical/ubuntu/server/22.04/stable/current/arm64/hvm/ebs-gp2/ami-id
Ubuntu 20.04/aws/service/canonical/ubuntu/server/20.04/stable/current/arm64/hvm/ebs-gp2/ami-id
Debian 12/aws/service/debian/release/12/latest/arm64
Debian 11/aws/service/debian/release/11/latest/arm64
SLES 15 SP6/aws/service/suse/sles/15-sp6/arm64/latest

Here is an example to get the AMI ID of the latest Amazon Linux 2023 version in the us-east-1 region:

$ aws ssm get-parameter --name /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64 --region us-east-1 --query Parameter.Value --output text

Here is an example to get the AMI ID of the latest Amazon Linux 2 version in the us-east-1 region:

$ aws ssm get-parameter --name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 --region us-east-1 --query Parameter.Value --output text

AWS CloudFormation also supports AWS Systems Manager Parameter Store for obtaining AMI IDs without hard-coding them.

Here is an example demonstrating how to refer to the latest Amazon Linux 2023 AMI for Graviton/arm64 in a CloudFormation template:

Parameters:
  LatestAmiId:
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64

Resources:
 GravitonInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref LatestAmiId
      InstanceType: c7g.medium

Here is an example demonstrating how to refer to the latest Amazon Linux 2 AMI for Graviton/arm64 in a CloudFormation template:

Parameters:
  LatestAmiId:
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2

Resources:
 GravitonInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref LatestAmiId
      InstanceType: c7g.medium