Amazon-Ec2

根據我的計數方式獲得不同數量的 AWS 實例

  • January 5, 2016

我正在計算我的保留實例總數,並將其作為鍵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

使用狀態有什麼錯誤還是有其他原因?

非退休實例也可以不執行嗎?

  • 是的,一個 AWS EC2 實例除了可以處於running. 根據此連結Instance Life cycle中的最新官方文件,沒有retired狀態,但是each.state != 'retired'您的程式碼中的行將提取所有保留的實例。

res_count 怎麼可能大於 all_count?

  • 您的實例處於執行之外的狀態。

引用自:https://serverfault.com/questions/746388