使用執行個體權重來管理 EC2 機群或 Spot 機群的成本和效能 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用執行個體權重來管理 EC2 機群或 Spot 機群的成本和效能

執行個體加權,可讓您為 EC2 機群或 Spot 機群中的每個執行個體類型指派權重,以代表其運算容量和效能。根據權重,機群可以使用指定執行個體類型的任意組合,只要機群可以滿足所需的目標容量即可。這可協助您管理機群的成本和效能。

權重代表執行個體類型為總目標容量貢獻的容量單位。

範例:使用執行個體加權進行效能管理

假設您的機群有兩種執行個體類型,您可以為每個執行個體類型指派不同的權重,以反映每個執行個體類型達到相同的效能所需的權重,如下所示:

  • m5.large – 權重:1

  • m5.2xlarge – 權重:4

指派以上權重,表示您需要 4 個 m5.large 執行個體才能達到與 1 個 m5.2xlarge 相同的效能。

若要計算指定目標容量需要多少執行個體類型的執行個體,請使用下列公式:

target capacity / weight = number of instances

如果您的目標容量為 8 個單位,機群可以使用 m5.largem5.2xlarge 達成目標容量,或兩者混合,如下所示:

  • 8 個 m5.large 執行個體 (容量為 8/權重為 1 = 8 個執行個體)

  • 2 個 m5.2xlarge 執行個體 (容量為 8/權重為 4 = 2 個執行個體)

  • 4 個 m5.large 和 1 個 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)

按照下列方式,在實現請求時使用機群執行個體權重,以在完成要求時,使用每單位最低價在集區中佈建所需目標容量:

  1. 在您所選擇的執行個體 (預設) 或裝置中 (例如 vCPU、記憶體、儲存空間或輸送量),設定機群的目標容量。

  2. 設定每單位價格

  3. 為每個啟動規格指定權重,即執行個體類型代表目標容量的單位數。

執行個體權重範例

請考慮下列組態的機群請求:

  • 目標容量為 24

  • 執行個體類型為 r3.2xlarge 且權重為 6 的啟動規格

  • 執行個體類型為 c3.xlarge 且權重為 5 的啟動規格

權重表示執行個體類型代表目標容量的單位數。如果第一個啟動規格提供最低的每單位價格 (r3.2xlarge 的每小時執行個體價格除以 6),機群將啟動其中四個執行個體 (24 除以 6)。

如果第二個啟動規格提供了最低的每單位價格 (c3.xlarge 的每小時執行個體價格除以 5),則機群會啟動這些執行個體的其中 5 個 (24 除以 5,將結果四捨五入)。

執行個體權重與分配策略

請考慮下列組態的機群請求:

  • 目標容量為 30 個 Spot 執行個體

  • 執行個體類型為 c3.2xlarge 且權重為 8 的啟動規格

  • 執行個體類型為 m3.xlarge 且權重為 8 的啟動規格

  • 執行個體類型為 r3.xlarge 且權重為 8 的啟動規格

機群會啟動 4 個執行個體 (30 除以 8,將結果四捨五入)。採用 diversified 策略,機群會在三個集區的每一個集區啟動一個執行個體,並且三個集區任一個中的第四個執行個體會提供最低的每單位價格。