关于AWS-EC2实例的State状态与Code-对实现CMDB信息收集时的影响及处理方法

发布时间 2023-05-09 11:21:38作者: 520_1351

关于对EC2相关信息的查询,我们可以通过EC2.Client.describe_instances(**kwargs)这个API实现

然后将其信息,整理输出到Excel表格,形成CMDB资源信息表格

但笔者在代码完成后,遇到有的实例无法输出如 PrivateIpAddress 等相关的信息

最后通过debug调试才发现,非常巧合的一件事,就是那个实例在代码的执行阶段被终止/删除了

因此在对其json输出的字典中,获取如 PrivateIpAddress 信息时,就会有异常,代码在实现时,是理解的每一个实例都会有PrivateIpAddress这个字段的

所以代码异常的最根本的原因就是那台实例的状态为 terminated ,在Console web界面上显示的是 Terminated

然后笔者去查询了一下,关于实例的State状态与Code的说明,如下: