使用EC2命令行工具选择免费的亚马逊机器映像(AMI)

时间:2015-01-27 10:37:31

标签: amazon-web-services ec2-ami ec2-api-tools

有没有办法使用EC2 CLI工具查询免费的层AMI ID?

4 个答案:

答案 0 :(得分:2)

没有办法直接查询"免费等级"使用CLI,但如果查看Amazon free tier page.

上列出的条件,您可以确定哪些是免费套餐

仅查找亚马逊托管的公共图片的命令示例: aws ec2 describe-images --owners self amazon

查看亚马逊免费套餐页面和describe-images的{​​{3}},可以在免费套餐中找到图片。我想确切地说,所以我使用上面的命令&按机器类型--filter,直到找到与Amazon EC2 Linux t2.micro实例匹配的那个。

答案 1 :(得分:1)

免费套餐更多地是关于实例类型而不是AMI。

但是,您可以使用describe-images查询图像,如下所示:

aws ec2 describe-images

返回(在我的情况下)45mb响应。要缩小选择范围,请解析resultinng JSON并删除具有ProductCodes键的所有条目,这些条目是市场条目。

答案 2 :(得分:0)

我是AWS的新手。我在使用aws ec2 describe-images --filter选项时也遇到了困难。

我转到AMIs page页,经过一些实验,为我自己的要求提出了aws ec2 describe-images的以下命令行。

$ aws ec2 describe-images --owner amazon --filter "Name=description,Values=*Ubuntu*" "Name=owner-alias,Values=amazon" "Name=architecture,Values=x86_64" "Name=image-type,Values=machine" "Name=root-device-name,Values=/dev/sda1" "Name=root-device-type,Values=ebs" "Name=virtualization-type,Values=hvm"

i用管道将输出传递到jq '.Images|length',发现结果的数量随着每个新的过滤器参数的增加而减少。

请注意,描述图像中提供的Name=xxxxx与上面网址中的过滤器编辑框中提供的“资源属性”名称不同。

答案 3 :(得分:0)

获取当前的免费套餐 Amazon Linux 2 AMI

aws ec2 describe-images \
--owners amazon \
--filters "Name=name,Values=amzn2-ami-hvm-2.0.????????.?-x86_64-gp2" "Name=state,Values=available" \
--query "reverse(sort_by(Images, &Name))[:1].ImageId" \
--region sa-east-1 \
--output text

来源:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html

相关问题