Skip to content

Instantly share code, notes, and snippets.

@sgykfjsm
Last active December 10, 2018 05:02
Show Gist options
  • Save sgykfjsm/054638f582eb947a3243 to your computer and use it in GitHub Desktop.
Save sgykfjsm/054638f582eb947a3243 to your computer and use it in GitHub Desktop.
AWS AMIをざっくり検索する
#!/bin/bash
#
# region information: http://docs.aws.amazon.com/general/latest/gr/rande.html
# aws-cli ec2 describe-images: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html
#
set -eu
aws_cmd=$(which aws ||:)
if [ -z "${aws_cmd}" ]; then
echo Please Install aws-cli >&2
echo Goto http://docs.aws.amazon.com/cli/latest/index.html >&2
exit 1
fi
jq_cmd=$(which jq ||:)
if [ -z "${jq_cmd}" ]; then
echo Please Install jq >&2
echo Goto http://stedolan.github.io/jq/ >&2
exit 1
fi
regions=( \
"us-east-1" \
"us-west-2" \
"us-west-1" \
"eu-west-1" \
"ap-southeast-1" \
"ap-southeast-2" \
"ap-northeast-1" \
"sa-east-1" \
)
for r in ${regions[@]}
do
${aws_cmd} --region ${r} ec2 describe-images \
--filters \
"Name=architecture,Values=x86_64" \
"Name=state,Values=available" \
"Name=virtualization-type,Values=hvm" \
"Name=is-public,Values=true" \
"Name=owner-alias,Values=amazon" \
"Name=name,Values=*elastic*tomcat*java7*" | \
${jq_cmd} -r ".Images[]|[.Name,.ImageId]|@csv" | \
sed -e 's/"//g' | \
awk '{print "'${r}',"$0}'
#
# output like this:
# us-east-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-gpu-201409291824,ami-34c1775c
# us-east-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-50c17738
# us-west-2,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-e74103d7
# us-west-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-df52599a
# eu-west-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-e4df7f93
# eu-west-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-gpu-201409291824,ami-e6df7f91
# ap-southeast-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-441e3916
# ap-southeast-2,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-050e6c3f
# ap-northeast-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-5196be50
# sa-east-1,aws-elasticbeanstalk-amzn-2014.09.0.x86_64-tomcat7java7-hvm-201409291824,ami-b5d560a8
#
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment