本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用執行個體權重設定 EC2 機群
本教學課程使用一間稱為 Example Corp 的虛構公司,說明使用執行個體權重來請求 EC2 Fleet 的程序。
目標
Example Corp 是一間製藥公司,希望利用 Amazon EC2 的計算能力篩選可能用於抗癌的化合物。
規劃
Example Corp 首先檢視了 Spot 最佳實務
執行個體類型
Example Corp 擁有運算和記憶體密集型應用程式,該應用程式在至少 60 GB 記憶體和八個虛擬 CPU (vCPU) 情況下效能最佳。他們希望以最低的價格為應用程式最大限度利用這些資源。Example Corp 認為以下任一個 EC2 執行個體類型都能滿足他們的需求:
執行個體類型 | 記憶體 (GiB) | vCPU |
---|---|---|
r3.2xlarge |
61 |
8 |
r3.4xlarge |
122 |
16 |
r3.8xlarge |
244 |
32 |
目標容量 (單位)
透過執行個體權重,目標容量可以等於多個執行個體 (預設) 或多個因素如核心 (vCPU)、記憶體 (GiB) 和儲存空間 (GB) 的組合。Example Corp 將其應用程式基礎 (60 GB RAM 和 8 個 vCPU) 做為一個單位考慮,Example Corp 決定此數量的 20 倍將可滿足他們的需求。因此,該公司將其 EC2 機群請求的目標容量設定為 20 個單位。
執行個體權重
Example Corp 決定目標容量後,即計算執行個體權重。為了計算每個執行個體類型的執行個體權重,將決定達成目標容量所需的每個執行個體類型單位,如下所示:
-
r3.2xlarge (61.0 GB, 8 vCPUs) = 1 單位 (共 20 單位)
-
r3.4xlarge (122.0 GB, 16 vCPUs) = 2 單位 (共 20 單位)
-
r3.8xlarge (244.0 GB, 32 vCPUs) = 4 單位 (共 20 單位)
因此,Example Corp 會針對其 EC2 Fleet 請求中的各個啟動組態,指派 1、2 和 4 的執行個體權重。
每個單位小時的價格
Example Corp 會使用每執行個體小時的隨需價格
執行個體類型 | 隨需價格 | 執行個體權重 | 每個單位小時的價格 |
---|---|---|---|
r3.2xLarge |
0.7 USD |
1 |
0.7 USD |
r3.4xLarge |
1.4 USD |
2 |
0.7 USD |
r3.8xLarge |
$2.8 |
4 |
0.7 USD |
Example Corp 可以使用每單位小時 0.7 USD 的全球價格,並且對於所有三種執行個體類型都具有競爭力。在 r3.8xlarge
啟動規格中,他們也可以使用每單位小時 0.7 USD 全局價格和 0.9 USD 每單位小時特定價格。
驗證許可
Example Corp 在建立 EC2 Fleet 之前,驗證其具有所需許可的 IAM 角色。如需詳細資訊,請參閱EC2 Fleet 先決條件。
建立啟動範本
接下來,範例公司會建立一個啟動範本。啟動範本 ID 會在下列步驟中使用。如需詳細資訊,請參閱建立 Amazon EC2 啟動範本。
建立 EC2 Fleet
Example Corp 會建立一個檔案 config.json
,且其 EC2 Fleet 組態如下。在下列範例中,以您自己的資源識別符取代資源識別符。
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-07b3bc7625cdab851",
"Version": "1"
},
"Overrides": [
{
"InstanceType": "r3.2xlarge",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 1
},
{
"InstanceType": "r3.4xlarge",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 2
},
{
"InstanceType": "r3.8xlarge",
"MaxPrice": "0.90",
"SubnetId": "subnet-482e4972",
"WeightedCapacity": 4
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 20,
"DefaultTargetCapacityType": "spot"
}
}
Example Corp 使用以下 create-fleet
aws ec2 create-fleet --cli-input-json file://config.json
如需詳細資訊,請參閱 建立 EC2 Fleet。
實現
分配策略決定您的 競價型執行個體 來自哪個 Spot 容量集區。
採用 lowest-price
策略 (預設的策略),競價型執行個體 來自實現時每單位價格最低的集區。為提供 20 個單位的容量,EC2 Fleet 將啟動 20 個 r3.2xlarge
執行個體 (20 除以 1)、10 個 r3.4xlarge
執行個體 (20 除以 2) 或 5 個 r3.8xlarge
執行個體 (20 除以 4)。
如果 Example Corp 使用 diversified
策略,競價型執行個體 將來自所有三個集區。EC2 Fleet 將啟動 6 個 r3.2xlarge
執行個體 (提供 6 個單位)、3 個 r3.4xlarge
執行個體 (提供 6 個單位) 和 2 個 r3.8xlarge
執行個體 (提供 8 個單位),共計 20 個單位。