教學課程:將EC2叢集設定為使用執行個體加權 - Amazon Elastic Compute Cloud

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

教學課程:將EC2叢集設定為使用執行個體加權

本教程使用一個名為 Example Corp 的虛構公司來說明使用實例加權請求EC2艦隊的過程。

目標

Example Corp 是一家製藥公司,希望利用 Amazon 的計算能力來篩選可能用於EC2對抗癌症的化合物。

規劃

Example Corp 首先檢視了 Spot 最佳實務。接下來,實施例公司確定其EC2艦隊的要求。

執行個體類型

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 會使用每執行個體小時的隨需價格,來做為其價格的起點。他們也可以使用最近的 Spot 價格,或兩者的組合。為計算每單位小時價格,他們將每個執行個體小時的起始價格除以權重。例如:

執行個體類型 隨需價格 執行個體權重 每個單位小時的價格

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 個單元。