

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

# 使用執行個體權重來管理 EC2 機群或 Spot 機群的成本和效能
<a name="ec2-fleet-instance-weighting"></a>

執行個體加權，可讓您為 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 個執行個體)
+ 4 個 `m5.large` 和 1 個 `m5.2xlarge`

**範例：使用執行個體權重進行成本管理**

根據預設，您指定的價格是*每執行個體小時*。使用執行個體權重功能時，您指定的價格是*每單位小時*。您可以透過將執行個體類型價格除以它所代表的單位數，來計算每單位小時的價格。機群會將目標容量除以執行個體的權重，來計算出要啟動的執行個體數量。如果結果不是整數，則機群會將其捨入到下一個整數，以便您的機群大小不低於其目標容量。即使所啟動的執行個體容量超過所請求的目標容量，該機群也可以選取您在啟動規格中指定的任何集區。

下表包含決定目標容量為 10 的機群每單位價格之計算範例。


| 執行個體類型 | 執行個體權重 | 目標容量 | 已啟動的執行個體數目 | 每個執行個體小時的價格 | 每個單位小時的價格 | 
| --- | --- | --- | --- | --- | --- | 
| r3.xlarge |  2  | 10 |  5 (10 除以 2)  |  0.05 USD  |  \$10.025 (.05 除以 2)  | 
| r3.8xlarge |  8  | 10 |  2 (10 除以 8，將結果四捨五入)  |  0.10 USD  |  \$10.0125 (.10 除以 8)  | 

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

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

1. 設定每單位價格

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

**執行個體權重範例**  
請考慮下列組態的機群請求：
+ 目標容量為 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` 策略，機群會在三個集區的每一個集區啟動一個執行個體，並且三個集區任一個中的第四個執行個體會提供最低的每單位價格。