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.