有没有办法使用EC2 CLI工具查询免费的层AMI ID?
答案 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