本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:將EC2叢集設定為使用執行個體加權
本教程使用一個名為 Example Corp 的虛構公司來說明使用實例加權請求EC2艦隊的過程。
目標
Example Corp 是一家製藥公司,希望利用 Amazon 的計算能力來篩選可能用於EC2對抗癌症的化合物。
規劃
Example Corp 首先檢視了 Spot 最佳實務
執行個體類型
Example Corp 具有運算密集型和記憶體密集型應用程式,具有至少 60 GB 記憶體和八個虛擬 CPUs () vCPUs 的效能最佳。他們希望以最低的價格為應用程式最大限度利用這些資源。範例公司決定下列任何一種EC2執行個體類型都能滿足其需求:
執行個體類型 | 記憶體 (GiB) | vCPUs |
---|---|---|
r3.2xlarge |
61 |
8 |
r3.4xlarge |
122 |
16 |
r3.8xlarge |
244 |
32 |
目標容量 (單位)
使用執行個體加權時,目標容量可以等於執行個體數目 (預設值) 或核心 (vCPUs)、記憶體 () 和儲存 (GiBsGBs) 等因素的組合。通過將其應用程序的基礎(60 GB RAM 和八個vCPUs)視為一個單元,Example Corp 決定 20 倍這個數量將滿足他們的需求。因此,該公司將其EC2艦隊請求的目標容量設置為 20 個單位。
執行個體權重
Example Corp 決定目標容量後,即計算執行個體權重。為了計算每個執行個體類型的執行個體權重,將決定達成目標容量所需的每個執行個體類型單位,如下所示:
-
大容量 (61.0 GB, 8vCPUs) = 一個單位的二十
-
大容量 (122.0 GB,16vCPUs) = 兩個單位的 20 個單位
-
大容量 (24 GB、32vCPUs) = 四個單位的 20 個單位
因此,Example Corp 會將 1、2 和 4 的執行個體權重指派給其EC2叢集請求中的相應啟動設定。
每個單位小時的價格
Example Corp 會使用每執行個體小時的隨需價格
執行個體類型 | 隨需價格 | 執行個體權重 | 每個單位小時的價格 |
---|---|---|---|
R3.2 xLarge |
0.7 USD |
1 |
0.7 USD |
r3.4 xLarge |
1.4 USD |
2 |
0.7 USD |
r3.8 xLarge |
$2.8 |
4 |
0.7 USD |
Example Corp 可以使用每單位小時 0.7 USD 的全球價格,並且對於所有三種執行個體類型都具有競爭力。在 r3.8xlarge
啟動規格中,他們也可以使用每單位小時 0.7 USD 全局價格和 0.9 USD 每單位小時特定價格。
驗證許可
在建立EC2叢集之前,Example Corp 會驗證其具有必要權限的IAM角色。如需詳細資訊,請參閱EC2機隊先決條。
建立啟動範本
接下來,範例公司會建立一個啟動範本。啟動範本 ID 會在下列步驟中使用。如需詳細資訊,請參閱創建一個 Amazon EC2 啟動模板。
建立EC2艦隊
實施例公司創建一個文件config.json
,其EC2艦隊具有以下配置。在下列範例中,以您自己的資源識別符取代資源識別符。
{
"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"
}
}
實施例公司使用以下創建EC2艦隊命令創建艦隊。
aws ec2 create-fleet --cli-input-json file://config.json
如需詳細資訊,請參閱建立EC2艦隊。
實現
分配策略決定您的 競價型執行個體 來自哪個 Spot 容量集區。
採用 lowest-price
策略 (預設的策略),競價型執行個體 來自實現時每單位價格最低的集區。為了提供 20 個容量單位,EC2叢集會啟動 20 r3.2xlarge
個執行個體 (20 除以 1)、10 r3.4xlarge
個執行個體 (20 除以 2) 或 5 r3.8xlarge
個執行個體 (20 除以 4)。
如果 Example Corp 使用 diversified
策略,競價型執行個體 將來自所有三個集區。EC2艦隊將啟動 6 個r3.2xlarge
實例(提供 6 個單元),3 個r3.4xlarge
實例(提供 6 個單元)和 2 個r3.8xlarge
實例(提供 8 個單位),總共 20 個單元。