AWS boto3配置具有状态的EC2的服务列表

时间:2018-02-12 15:58:46

标签: amazon-web-services amazon-ec2 service config boto3

我想使用Boto3生成一个EC2列表以及一组两个日期时间之间的状态更改(挂起,运行,关闭,终止等)。我的理解是,即使EC2不再存在,Config服务也会保留EC2的历史记录。我查看了this文档,但是我很难理解要使用哪些函数来完成手头的任务。

谢谢

1 个答案:

答案 0 :(得分:0)

假设您已经配置了 AWS Config规则来跟踪ec2-instance状态,这种方法将满足您的需求。

1)使用list_discovered_resources API获取ec2-instances列表。如果要包含, includeDeletedResources 设置为 True 在回复中删除了资源。

response = client.list_discovered_resources(
    resourceType='AWS::EC2::Instance',
    limit=100,
    includeDeletedResources=True,
    nextToken='string'
)

解析响应并存储 resource-id

2)将每个 resource_id 传递给get_resource_config_history API。

response = client.get_resource_config_history(
    resourceType='AWS::EC2::Instance',
    resourceId='i-0123af12345be162h5',      // Enter your EC2 instance id here
    laterTime=datetime(2018, 1, 7),         // Enter end date. default is current date.
    earlierTime=datetime(2018, 1, 1),       // Enter start date
    chronologicalOrder='Reverse'|'Forward',
    limit=100,
    nextToken='string'
)

您可以解析响应并获取状态更改,ec2实例经历了相应的时间段。