如何通过CLI获取基于Nitro系统的EC2实例类型列表?
查询AWS Nitro实例类型的CLI方法
不需要解析静态页面,你可以直接通过AWS官方提供的EC2实例类型查询接口动态获取数据,用到的是aws ec2 describe-instance-types命令,而非你提到的aws ec2 describe-instances(后者是查询你账号下已创建的实例信息的接口)。
基础查询命令
直接执行以下命令即可输出当前区域所有基于Nitro系统的实例类型:
aws ec2 describe-instance-types \ --filters "Name=hypervisor,Values=nitro" \ --query "InstanceTypes[].InstanceType" \ --output text
参数说明:
--filters:按照实例管理程序属性过滤,AWS会为所有Nitro实例标记hypervisor = nitro,过滤结果100%准确--query:通过JMESPath语法仅提取实例类型名称字段,过滤冗余返回内容--output text:输出为纯文本格式,方便后续脚本处理,你也可以根据需要将输出格式改为json或table
进阶使用示例
如果你需要同时获取实例类型的其他配套属性,可以调整--query参数,比如同时输出实例类型和默认vCPU数量:
aws ec2 describe-instance-types \ --filters "Name=hypervisor,Values=nitro" \ --query "InstanceTypes[].{InstanceType:InstanceType, vCPUs:VCpuInfo.DefaultVCpus}" \ --output table
注意事项
- 上述命令默认返回当前CLI配置的区域下的Nitro实例列表,不同AWS区域支持的实例类型可能存在差异,你可以增加
--region <区域ID>参数指定要查询的目标区域 - 调用该接口仅需要
ec2:DescribeInstanceTypes权限,属于EC2通用只读权限,常规只读访问角色默认都已包含该权限
内容的提问来源于stack exchange,提问作者shohey1226
相关产品推荐
相关产品推荐

