You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询AWS账户内所有EC2实例对应的AMI名称?

可实现的操作方法

完全可以获取账号下所有EC2实例关联的AMI名称,核心逻辑是先拉取全量EC2实例绑定的AMI ID,再匹配查询AMI的名称属性后整合输出,以下是两种可直接落地的方案:

方案1:AWS CLI 一键查询/导出

直接在配置好对应账号权限的CLI环境执行以下命令,即可直接输出实例ID、实例名称标签、AMI ID、AMI名称的对应关系:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Tags[?Key==`Name`].Value | [0], ImageId]' --output text | sort -k3 | uniq -f2 | while read inst_id inst_name ami_id; do
  ami_name=$(aws ec2 describe-images --image-ids $ami_id --query 'Images[*].Name' --output text 2>/dev/null || echo "AMI已删除/无访问权限")
  echo "$inst_id | ${inst_name:-无实例名称标签} | $ami_id | $ami_name"
done
  • 命令会自动对重复的AMI ID去重,减少重复查询请求,遇到已被删除、当前账号无权限访问的AMI(比如其他账号共享的AMI被撤销、公共AMI被官方下线),会直接标记对应状态,不会中断执行。
  • 如果需要导出为CSV格式文件,直接在命令末尾追加 > ec2_ami_mapping.csv 即可,导出的文件可直接用表格类工具打开编辑。

方案2:控制台手动查询导出(无CLI环境适用)

  • 打开EC2控制台进入实例列表页,点击右上角导出按钮,导出全量实例的CSV清单,从清单中提取所有不重复的AMI ID。
  • 切换到EC2控制台的AMI页面,将筛选范围从默认的「自有AMI」调整为覆盖公共AMI、第三方共享AMI的全量范围,把提取到的AMI ID逐个粘贴到搜索框检索,即可匹配到对应AMI名称。
  • 若搜索无结果,说明对应AMI已被平台删除/撤销共享,无法再查询到原始名称。

执行aws ec2 describe-images无法直接拿到关联AMI名称,通常是因为执行命令时未通过--image-ids参数指定待查询的目标AMI ID,默认参数下该命令仅会返回当前账号自有、状态为可用的AMI列表,不会自动覆盖实例用到的公共AMI、跨账号共享AMI、已弃用/删除的AMI。

内容的提问来源于stack exchange,提问作者Ena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 09:01:21