Amazon EC2

Amazon Web Service’s Elastic Compute Cloud (EC2) provides a platform for deploying and running applications.

Images

On EC2, cloud images are referred to as Amazon Machine Images (AMIs). Canonical produces a wide variety of images to support numerous features found on EC2:

  • Generally, all images utilize EBS storage and HVM virtualization types. Older releases may also support PV and instance-store, but users benefit from the newer storage and virtualization technologies.
  • Standard server images as well as minimal images for amd64. As well, arm64 images for the standard server set.
  • Daily (untested) and release images are published.

Find Images with SSM

The AWS Systems Manager (SSM) parameter store is used by Canonical to store the latest AMI release versions for EC2. This provides users with a programmatic method of querying for the latest AMI ID.

Canonical stores SSM parameters under /aws/service/canonical/. To find the latest AMI ID user’s can use the AWS CLI:

aws ssm get-parameters --names \
     /aws/service/canonical/ubuntu/server/20.04/stable/current/amd64/hvm/ebs-gp2/ami-id

The path follows the following format:

ubuntu/$PRODUCT/$RELEASE/stable/current/$ARCH/$VIRT_TYPE/$VOL_TYPE/ami-id
  • PRODUCT: server or server-minimal
  • RELEASE: focal, 20.04, bionic, 18.04, xenial, or 16.04
  • ARCH: amd64 or arm64
  • VIRT_TYPE: pv or hvm
  • VOL_TYPE: ebs-gp2, ebs-io1, ebs-standard, or instance-store

The given serial for an image (e.g. 20210222) is also uploaded in place of current:

ubuntu/$PRODUCT/$RELEASE/stable/$SERIAL/$ARCH/$VIRT_TYPE/$VOL_TYPE/ami-id

For more details on SSM check out the following Discourse thread.

Ownership Verification

User’s can verify that an AMI was published by Canonical by ensuring the OwnerId field of an image is 099720109477. This ID is stored in SSM and is discoverable by running:

aws ssm get-parameters --names /aws/service/canonical/meta/publisher-id

With the value returned by that command, user’s can then run the describe-images command against an AMI ID and verify the OwnerId field matches the above ID:

aws ec2 describe-images --image-ids $AMI_ID

Note that listings on the AWS Marketplace will always show the OwnerId as Amazon (e.g. 679593333241). In these cases, users can verify the Amazon ID and look for aws-marketplace/ubuntu in the ImageLocation field.

Image Locator

Canonical also produces a Ubuntu Cloud Image Finder where users can filter down based on a variety of criteria (e.g. region, release, etc. ).

AWS EKS

EKS is a managed Kubernetes service provided by AWS that lets users run Kubernetes applications in the cloud or on-premises.

Canonical provides minimized Ubuntu images customized for use with EKS. These are fully tested release images that cover all Kubernetes versions supported by the EKS service.

The latest EKS AMI ID can be found in the SSM parameter store:

aws ssm get-parameters --names /aws/service/canonical/ubuntu/eks/20.04/1.21/stable/current/amd64/hvm/ebs-gp2/ami-id

The path follows the following format:

ubuntu/eks/$RELEASE/$K8S_VERSION/stable/current/$ARCH/$VIRT_TYPE/$VOL_TYPE/ami-id

For newer Kubernetes versions (>= 1.20), there are also arm64 images available (in addition to the amd64 images)

AWS Marketplace

AWS Marketplace is a digital catalog with thousands of software listings from independent software vendors that make it easy to find, test, buy, and deploy software that runs on AWS.

Canonical maintains image listings for recent Ubuntu releases on AWS Marketplace, including images in minimal and arm64 flavors.
Those images can also be found in the SSM parameter store:

aws ssm get-parameter --name /aws/service/marketplace/<identifier>/latest

Customers can also use the AWS Marketplace to launch and subscribe to official Ubuntu Pro images that allow users to pay for additional support.
Thoses Ubuntu Pro images can also be found in the SSM parameter store:

Not all releases are in govcloud at this time. Below is a list of available products. To query govcloud, be sure to use a govcloud region and credentials

aws --region us-gov-west-1 --profile govcloud ssm get-parameter --name /aws/service/marketplace/<identifier>/latest

Please use this chart to find the product identifier and availability:

Name Architecture identifier GovCloud
Ubuntu 16.04 LTS amd64 prod-aq7wy7l65auna :x:
Ubuntu 16.04 LTS arm64 prod-zjzktzfox3gz6 :x:
Ubuntu 18.04 LTS amd64 prod-43pfd7pfsijnm :heavy_check_mark:
Ubuntu 18.04 LTS arm64 prod-nanaj5afkj4gq :x:
Minimal Ubuntu 18.04 LTS amd64 prod-gv4aco7axss42 :x:
Ubuntu 20.04 LTS amd64 prod-x7h6cigkuiul6 :heavy_check_mark:
Ubuntu 20.04 LTS arm64 prod-gprrntd234sfc :x:
Minimal Ubuntu 20.04 LTS amd64 prod-df2jln3gjtwps :heavy_check_mark:
Ubuntu 21.04 amd64 prod-qlhjhgpvhozvw :heavy_check_mark:
Ubuntu 21.04 arm64 prod-ym2m7fljfnw7e :heavy_check_mark:
Ubuntu Pro FIPS 16.04 LTS amd64 prod-hykkbajyverq4 :x:
Ubuntu Pro FIPS 18.04 LTS amd64 prod-7izp2xqnddwdc :x:
Ubuntu Pro 14.04 LTS amd64 prod-7u42cjnp5pcuo :x:
Ubuntu Pro 16.04 LTS amd64 prod-f6ogoaqs7lwre :x:
Ubuntu Pro 18.04 LTS amd64 prod-jlgu4232gpnwa :heavy_check_mark:
Ubuntu Pro 20.04 LTS amd64 prod-3sk4unyn4iwqu :heavy_check_mark:

Last updated 12 days ago. Help improve this document in the forum.