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

如何统计AWS us-west-2区域内运行状态的EC2实例总数量

解决方案

修改后的完整代码如下:

import boto3

ec2client = boto3.client('ec2', region_name='us-west-2')
response = ec2client.describe_instances()
running_count = 0

for reservation in response["Reservations"]:
    for instance in reservation["Instances"]:
        if instance['State']['Name'] == 'running':
            running_count += 1

print(f"us-west-2区域运行状态EC2实例总数:{running_count}")

修改说明

  • 新增初始值为0的running_count计数器变量,用于累计符合条件的实例数量
  • 原代码打印实例ID的逻辑替换为计数器自增
  • 所有实例遍历完成后直接输出计数器的最终值即可得到总数

可选优化(应对实例数量超过1000的场景)

AWS的describe_instances接口默认单次最多返回1000条实例信息,如果账号下该区域EC2实例总数超过1000,需要处理分页Token避免漏统计,优化后代码如下:

import boto3

ec2client = boto3.client('ec2', region_name='us-west-2')
running_count = 0
paginator = ec2client.get_paginator('describe_instances')

for page in paginator.paginate():
    for reservation in page["Reservations"]:
        for instance in reservation["Instances"]:
            if instance['State']['Name'] == 'running':
                running_count += 1

print(f"us-west-2区域运行状态EC2实例总数:{running_count}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:51:02