首页 > 解决方案 > 用于 AWS 的 Python 脚本,用于收集有关当前区域中所有实例的信息。它应该按 AMI 以及使用它们的实例数量对它们进行分组

问题描述

用于 AWS 的 Python 脚本,用于收集有关当前区域中所有实例的信息。它应该按 AMI 以及使用它们的实例数量对它们进行分组。我的问题是....我可以让这个脚本从我的帐户中提取我的 4 个实例中的 1 个,其中包含我需要的字典格式的所有信息。但我无法让它列出所有 AMI 的......我如何让它拉动正在运行的其余部分?

在此处输入代码 import boto3 import pprint

session = boto3.Session(profile_name ='kenjiro310', region_name='us-east-2')
# Let's use Amazon EC2
ec2_client = boto3.client('ec2', region_name="us-east-2")

response = ec2_client.describe_images(Owners=['self'])
pprint.pprint(response)

标签: pythonamazon-web-servicesamazon-ec2

解决方案


可能使用 ec2 资源更方便:

import boto3

ec2_resource = boto3.resource('ec2')
ec2_instances = ec2_resource.instances.filter(Filters=[{
    'Name': 'instance-state-name',
    'Values': ['running']
}])
instances = []
for ec2_instance in ec2_instances:
    instances.append({
        "ami": ec2_instance.image_id,
        "id": ec2_instance.id, 
        "public_ip": ec2_instance.public_ip_address

    })
print(instances)

这些是可用的属性


推荐阅读