Obtendo um número diferente de instâncias do AWS dependendo de como eu conto

1

Estou calculando meu número total de instâncias reservadas com base em instance_type e estou armazenando isso em um dicionário por instance_type como uma chave.

Primeiramente, estou localizando todas as instâncias reservadas por get_all_reserved_instances() , depois, para cada instância retornada por isso, faço isso:

if each.state != 'retired':
 key = str(each.instance_type)
 res_count[key]+=each.instance_count

Também estou calculando o número total de instâncias com base em instance_type . Primeiramente, estou encontrando todas as instâncias por get_all_instances() e, em seguida, para cada instance_type , faço isso:

if each.state == 'running':
 key = str(each.instance_type)
 all_count[key]+=1

Agora, para um tipo de instância, ele retorna:

all_count = 17

res_count = 19

Como é possível que res_count seja maior que all_count ? res_count pode ser igual a all_count , se não houver ondemand instance, mas por que isso é maior que all_count ? Uma instância não aposentada também pode não estar em execução? se for, então eu acho que isso é o caso dessa diferença.

Existe alguma falha no uso do estado ou há outro motivo?

    
por Vikas Saini 02.01.2016 / 19:54

1 resposta

0

uma instância não aposentada também pode não estar em execução?

  • Sim, uma instância do AWS EC2 pode estar em vários estados além de running . De acordo com a documentação oficial mais recente neste ciclo de vida da instância do link, há no estado retired , mas a linha each.state != 'retired' no seu código irá puxar todas as instâncias reservadas, no entanto.

Como é possível que res_count seja maior que all_count?

  • Você tem instâncias em um estado diferente de execução.
por 05.01.2016 / 05:18