本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用執行個體加權來管理EC2叢集或 Spot 叢集的成本和效能
透過執行個體權重,您可以為EC2叢集或 Spot 叢集中的每個執行個體類型指派加權,以表示其相對於彼此的運算容量和效能。根據權重,叢集可以使用指定執行個體類型的任意組合,只要它能夠滿足所需的目標容量即可。這可以幫助您管理車隊的成本和性能。
重量代表執行個體類型貢獻總目標容量的容量單位。
範例:使用執行個體加權進行績效管理
假設您的叢集有兩種執行個體類型,而且您為每個執行個體類型指派不同的權重,以反映每種執行個體類型需要多少才能達到相同效能,如下所示:
-
m5.large
— 重量:1 -
m5.2xlarge
-重量:4
通過分配這些權重,你說你需要 4 m5.large
個實例來實現與 1 相同的性能m5.2xlarge
。
若要計算指定目標容量需要每個執行個體類型的執行個體數目,請使用下列公式:
target capacity / weight = number of instances
如果您的目標容量為 8 個單位,則艦隊可以使用m5.large
或或m5.2xlarge
兩者混合來滿足目標容量,如下所示:
-
8
m5.large
個執行個體 (8 個容量/重量為 1 = 8 個執行個體) -
2
m5.2xlarge
個執行個體 (8 個容量/重量為 4 = 2 個執行個體) -
四
m5.large
和一m5.2xlarge
範例:使用執行環境加權進行成本管理
根據預設,您指定的價格是每執行個體小時。使用執行個體權重功能時,您指定的價格是每單位小時。您可以透過將執行個體類型價格除以它所代表的單位數,來計算每單位小時的價格。叢集會計算要啟動的執行個體數目,方法是將目標容量除以執行個體權重。如果結果不是整數,則機群會將其捨入到下一個整數,以便您的機群大小不低於其目標容量。即使所啟動的執行個體容量超過所請求的目標容量,該機群也可以選取您在啟動規格中指定的任何集區。
下表包含計算範例,以判斷目標容量為 10 之車隊的每單位價格。
執行個體類型 | 執行個體權重 | 目標容量 | 已啟動的執行個體數目 | 每個執行個體小時的價格 | 每個單位小時的價格 |
---|---|---|---|---|---|
r3.xlarge |
2 |
10 |
5 (10 除以 2) |
0.05 USD |
$0.025 (.05 除以 2) |
r3.8xlarge |
8 |
10 |
2 (10 除以 8,將結果四捨五入) |
0.10 USD |
$0.0125 (.10 除以 8) |
請依照下列方式使用叢集執行個體加權,以履行時每單位最低價格在集區中佈建您想要的目標容量:
-
以執行個體 (預設值) 或您選擇的單位 (例如 v CPU、記憶體、儲存體或輸送量) 設定叢集的目標容量。
-
設定每單位價格
-
為每個啟動規格指定權重,即執行個體類型代表目標容量的單位數。
執行個體權重範例
請考慮使用下列組態的叢集要求:
-
目標容量為 24
-
執行個體類型為
r3.2xlarge
且權重為 6 的啟動規格 -
執行個體類型為
c3.xlarge
且權重為 5 的啟動規格
權重表示執行個體類型代表目標容量的單位數。如果第一次啟動規格提供每單位最低價格 (r3.2xlarge
每執行個體小時的價格除以 6),叢集就會啟動其中四個執行個體 (24 除以 6)。
如果第二次啟動規格提供每單位最低價格 (c3.xlarge
每執行個體小時的價格除以 5),叢集就會啟動其中五個執行個體 (24 除以 5,結果四捨五入)。
執行個體權重與分配策略
請考慮使用下列組態的叢集要求:
-
目標容量為 30 個 競價型執行個體
-
執行個體類型為
c3.2xlarge
且權重為 8 的啟動規格 -
執行個體類型為
m3.xlarge
且權重為 8 的啟動規格 -
執行個體類型為
r3.xlarge
且權重為 8 的啟動規格
艦隊將啟動四個實例(30 除以 8,結果四捨五入)。採用 diversified
策略,機群會在三個集區的每一個集區啟動一個執行個體,並且三個集區任一個中的第四個執行個體會提供最低的每單位價格。