虽然有一些方法可以将某些AWSCLI命令的输出和过滤器转换为此列表,但是否有人有一种漂亮且简单的方法来列出特定区域的所有EC2实例类型?
或者这个列表是否在某个地方的存储桶中以.json文件的形式发布,由AWS维护?
我只是在寻找这种输出:
t1.micro
t2.nano
t2.micro
t2.small
...
虽然有一些方法可以将某些AWSCLI命令的输出和过滤器转换为此列表,但是否有人有一种漂亮且简单的方法来列出特定区域的所有EC2实例类型?
或者这个列表是否在某个地方的存储桶中以.json文件的形式发布,由AWS维护?
我只是在寻找这种输出:
t1.micro
t2.nano
t2.micro
t2.small
...
看起来至少有一种编程方法可以通过查询AWS定价API来完成此操作:
#!/bin/bash
curl https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json | jq -r '.products[].attributes["instanceType"]' | sort -u | grep '\.'
这里有一份代码概要,以备后续调整需要: https://gist.github.com/nmagee/b096e6fadf9ac336da7ffdada43f656a
它缺少按AWS区域进行分组/指定的功能,这可能是一个重要的区别--并非每个区域都拥有所有实例类型提供。
aws ec2 run-instances
,instance-type
参数列出可用的实例类型,并引用aws文档。
其他人已解析数据并提供了它们。正如其他人所指出的那样,这不是您可以从AWS API端点轻松获取的内容。
因此,为了填补这个空白,我建立了一个通用模块来处理这个问题。
我希望这对各种用例有所帮助: https://gist.github.com/mrsiesta/0e4fac21c0eb0e8977e1de7b5277e63b