根据我的计算方式获取不同数量的 AWS 实例

根据我的计算方式获取不同数量的 AWS 实例

我正在计算我的预留实例总数,并将其作为键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_countondemandall_count

是否存在使用状态的错误或者有其他原因?

答案1

未退役的实例是否可以不运行?

  • 是的,除了 之外,AWS EC2 实例还可以处于多种状态running。根据此链接中的最新官方文档实例生命周期,没有状态,但是代码中的retired行仍然会拉出所有保留实例。each.state != 'retired'

res_count 怎么可能大于 all_count?

  • 您有一些处于非运行状态的实例。

相关内容