24 February 2018
Find Latest AMI
Find latest Amazon Linux 2 image in us-east-1:
aws --region=us-east-1 ec2 describe-images --owners amazon --filters \ 'Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2' \ 'Name=state,Values=available' | \ jq -r '.Images | sort_by(.CreationDate) | last(.[]).ImageId'
To verify or generally check out an AMI:
aws --region=us-east-1 ec2 describe-images --image-ids ami-XXXXXXX | jq .
Find latest Amazon Linux 2 images in all regions
regions=$(aws ec2 describe-regions --query 'Regions[].{Name:RegionName}' --output=text | sort) for i in $regions ; do echo -n "$i " aws --region=$i ec2 describe-images --owners amazon \ --filters 'Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2' 'Name=state,Values=available' | \ jq -r '.Images | sort_by(.CreationDate) | last(.[]).ImageId' done
List all Regions
aws ec2 describe-regions --query 'Regions[].{Name:RegionName}' --output=text | sort # same as aws ec2 describe-regions | jq -r '.Regions | sort_by(.RegionName) | .[].RegionName'
See also https://github.com/haraldkubota/aws-stuff for some more examples using NodeJS instead of the AWS CLI.