我正在计算我的预留实例总数,并将其作为键instance_type
存储在字典中。instance_type
首先,我通过 找到我的所有保留实例get_all_reserved_instances()
,然后对于由此返回的每个实例,我执行以下操作:
if each.state != 'retired':
key = str(each.instance_type)
res_count[key]+=each.instance_count
我也根据 计算实例总数instance_type
。首先,我通过 找到所有实例get_all_instances()
,然后对每个instance_type
实例执行此操作:
if each.state == 'running':
key = str(each.instance_type)
all_count[key]+=1
现在对于一个实例类型它返回:
all_count = 17
res_count = 19
怎么可能res_count
大于all_count
? 如果没有实例,res_count
可以等于,但为什么它大于?非退役实例是否也可能未运行?如果是,那么我认为这就是这种差异的情况。all_count
ondemand
all_count
是否存在使用状态的错误或者有其他原因?
答案1
未退役的实例是否可以不运行?
- 是的,除了 之外,AWS EC2 实例还可以处于多种状态
running
。根据此链接中的最新官方文档实例生命周期,没有状态,但是代码中的retired
行仍然会拉出所有保留实例。each.state != 'retired'
res_count 怎么可能大于 all_count?
- 您有一些处于非运行状态的实例。