首页 > 解决方案 > 列出 AWS 区域中正在运行的实例数

问题描述

我想列出 us-west-2 区域中所有正在运行的 ec2 实例的数量,并且我能够列出这些实例,但实际上,我希望实例名称的数量不是 nessosry。请看下面的代码

import boto3
ec2client = boto3.client('ec2',region_name='us-west-2')
response = ec2client.describe_instances()
for reservation in response["Reservations"]:
    for instance in reservation["Instances"]:
        if instance['State']['Name'] == 'running':
           x = (instance["InstanceId"])
           print (x)

输出在这里

在此处输入图像描述

输出类型

在此处输入图像描述

标签: pythonamazon-web-servicesamazon-ec2boto3aws-cli

解决方案


您可以将这些名称存储在列表中,并检查列表长度:

running_instances = []

ec2client = boto3.client('ec2',region_name='us-west-2')
response = ec2client.describe_instances()
for reservation in response["Reservations"]:
    for instance in reservation["Instances"]:
        if instance['State']['Name'] == 'running':
           x = (instance["InstanceId"])
           #print(x)
           running_instances.append(x)
        
print('Number of running instances', len(running_instances))

推荐阅读