首页 > 解决方案 > 如何使用 python 获取有关 ec2 实例的报告?

问题描述

我想生成一份关于添加/删除哪些新实例以及对实例进行的任何配置更改的每日报告(使用 lambda),以便在预算时帮助我的团队。

我使用 describe_instance 获取实例的启动时间,我想将它与昨天的日期进行比较,如果匹配,则将实例 ID 和一些其他信息附加到 Excel 表中,但我对 lambda 和 python 完全陌生,而不是确定在获得启动时间后如何创建逻辑

ec2info = defaultdict()
for instance in running_instances:
    for tag in instance.tags:
        if 'Name'in tag['Key']:
            name = tag['Value']
    #Add instance info to a dictionary         
    ec2info[instance.id] = {
       'Name': name,
       'Type': instance.instance_type,
       'State': instance.state['Name'],
       'Private IP': instance.private_ip_address,
       'Public IP': instance.public_ip_address,
       'Launch Time': instance.launch_time
    }

attributes = ['Name', 'Type', 'State', 'Private IP', 'Public IP', 'Launch Time']
for instance_id, instance in ec2info.items():
    for key in attributes:
        print("{0}: {1}".format(key, instance[key]))
        print("------")

这是我得到的输出,不知道在此之后如何进行?

名称:aecpns-lb02

类型:m4.xlarge

状态:运行

私有IP:172.26.29.132

公共 IP:无

上线时间:2019-03-22 19:46:16+00:00

标签: pythonamazon-web-servicesamazon-ec2

解决方案


您可以利用AWS Config服务,而不必自己收集和维护这些信息。

什么是 AWS Config?

AWS Config提供您 AWS 账户中 AWS 资源配置的详细视图。这包括资源如何相互关联以及它们过去是如何配置的,以便您可以看到配置和关系如何随时间变化


推荐阅读