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

如何在Bash脚本中汇总所有AWS区域的EC2实例总数?

统计所有AWS区域EC2实例总数的改进脚本

当然有办法啦!我帮你调整一下脚本,既能保留每个区域的实例数量明细,又能自动算出所有区域的总和,直接得到最终结果:

#!/bin/bash

# 初始化总和变量为0
total_instances=0

# 遍历所有AWS区域
for region in $(aws ec2 describe-regions --query "Regions[*].[RegionName]" --output text); do
    # 获取当前区域的EC2实例数量,同时处理可能的错误(比如无权限访问的区域)
    instance_count=$(aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --region "$region" --output text 2>/dev/null | wc -l)
    
    # 打印当前区域的实例数量(可选,方便查看明细)
    echo "区域 $region 的EC2实例数量:$instance_count"
    
    # 累加到总和中
    total_instances=$((total_instances + instance_count))
done

# 输出最终的总数
echo "----------------------------------------"
echo "所有AWS区域的EC2实例总数:*$total_instances*"

关键改进点:

  • 新增了total_instances变量来累加每个区域的实例数,避免手动计算列表数值
  • 把每个区域的实例数存到instance_count变量中,方便后续的累加和打印操作
  • 添加了2>/dev/null来忽略无权限访问区域时的错误提示,避免干扰统计结果和脚本运行
  • 增加了明细打印,让你清楚看到每个区域的实例分布情况(如果不需要可以删掉对应的echo行)
  • 最后用加粗格式突出显示总数量,结果更直观

如果你的AWS账号对某些区域没有访问权限,这个脚本也能正常运行,不会因为个别区域的报错中断统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:32:23