View a markdown version of this page

教學課程:設定您的 EC2 機群,使用容量保留資源群組在多個容量保留類型中啟動執行個體 - Amazon Elastic Compute Cloud

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

教學課程:設定您的 EC2 機群,使用容量保留資源群組在多個容量保留類型中啟動執行個體

本教學課程將逐步引導您設定 EC2 機群,以使用單一容量保留資源群組,跨多個容量保留類型啟動執行個體:隨需容量保留 (ODCRs)、ML 的容量區塊和可中斷容量保留。

您將了解如何建立包含不同容量保留類型的容量保留資源群組、設定 EC2 機群以特定順序排定容量保留類型的優先順序,以及當預留容量不足以滿足您的目標時,選擇性地回復到隨需容量。

考量事項

  • 使用 時instant,僅支援 類型的 EC2 機群請求ReservedCapacityOptions

  • 您必須明確指定要在ReservationTypes清單中鎖定的容量保留類型。EC2 機群只會在您指定的容量保留類型中啟動執行個體。

  • ReservedCapacityOptions 與 互斥OnDemandOptions.CapacityReservationOptions。您無法在相同的 EC2 機群請求中使用兩者。

本教學假設您的帳戶中已有下列容量保留:

  • p5.48xlarge 中 的 ODCR (cr-1234567890abcdef1) us-east-1a

  • p4d.48xlarge 中 的 ODCR (cr-abcdef1234567890a) us-east-1b

  • p5.48xlarge 中 的容量區塊 (cr-0123456789abcdef0) us-east-1a

  • p5.48xlarge 中 的可中斷容量保留 (cr-9876543210fedcba9)us-east-1a,由組織中的另一個帳戶與您共用

驗證許可

在建立 EC2 機群之前,請確認您擁有具有必要許可的 IAM 角色。如需詳細資訊,請參閱EC2 Fleet 先決條件

步驟 1:建立容量保留資源群組

建立容量保留資源群組,以保留 EC2 機群鎖定的容量保留。設定 群組,使其接受任何執行個體類型的容量保留和容量保留類型,這可讓群組混合保留容量保留類型。如需step-by-step說明,請參閱容量保留群組

注意

當您建立 群組時,請勿在AWS::EC2::CapacityReservationPool組態中指定 instance-typereservation-type 參數。省略這些參數可讓 群組接受任何執行個體類型的容量保留和容量保留類型。

步驟 2:將容量保留新增至群組

將您的容量保留新增至容量保留資源群組。您可以新增 ODCRs、ML 的容量區塊、可中斷的容量保留和 UltraServer 容量區塊的任意組合。在本教學課程中,新增本教學課程開頭列出的四個容量保留。如需step-by-step說明,請參閱容量保留群組

步驟 3:建立啟動範本

使用 create-launch-template 命令來建立以容量保留資源群組為目標的啟動範本。當您ReservedCapacityOptions在 EC2 機群組態中使用 時,您不需要在啟動範本MarketType中設定 - EC2 機群會為每個容量保留類型自動設定此值。

aws ec2 create-launch-template \ --launch-template-name my-cr-resource-group-template \ --launch-template-data \ '{"ImageId": "ami-0123456789example", "CapacityReservationSpecification": {"CapacityReservationTarget": {"CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"} } }'

步驟 4:建立 EC2 機群

建立 EC2 機群,以容量保留資源群組中的多個容量保留類型為目標。金鑰組態為 ReservedCapacityOptions,指定下列項目:

  • ReservationTypes – 要鎖定的容量保留類型的排序清單。EC2 機群可依此順序處理類型。有效值為 on-demand-capacity-reservationcapacity-blockinterruptible-capacity-reservation

  • AllocationStrategy – 執行個體類型在每個容量保留類型中的優先順序。設定為 prioritized 以遵循執行個體類型覆寫順序。

  • ReservedCapacityFallbackOptionsMarketTypes設定為 ,["on-demand"]以在預留容量不足時啟動隨需執行個體。如果您未指定備用選項,EC2 機群不會在指定的容量保留類型用盡之後回復為任何其他市場類型。

建立名為 config.json 且具有下列內容的檔案。在下列範例中,以您自己的資源識別符取代資源識別符。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-cr-resource-group-template", "Version": "1" }, "Overrides": [ { "InstanceType": "p5.48xlarge", "AvailabilityZone": "us-east-1a", "Priority": 1 }, { "InstanceType": "p4d.48xlarge", "AvailabilityZone": "us-east-1b", "Priority": 2 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 100, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationTypes": ["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation"], "ReservedCapacityFallbackOptions": { "MarketTypes": ["on-demand"] }, "AllocationStrategy": "prioritized" }, "Type": "instant" }

使用 create-fleet 命令啟動機群:

aws ec2 create-fleet --cli-input-json file://config.json

如需詳細資訊,請參閱建立 EC2 Fleet

EC2 機群如何解決容量保留

根據上述組態,EC2 機群會嘗試以下列順序啟動執行個體:

  1. ODCRs – 先p5.48xlarge保留 (最高優先順序的執行個體類型),然後再p4d.48xlarge保留。在每個執行個體類型中,如果存在多個 ODCRs,則會隨機選取一個。

  2. 容量區塊 – 如果所有 ODCRs 中沒有可用的容量,EC2 機群會鎖定容量區塊。 會先p5.48xlarge保留,然後在每個執行個體類型內隨機p4d.48xlarge選取 。

  3. 可中斷的容量保留 – 如果所有容量區塊中沒有可用的容量,EC2 機群會鎖定可中斷的容量保留。 會先p5.48xlarge保留,然後在每個執行個體類型內隨機p4d.48xlarge選取 。

  4. 隨需備用 – 如果預留容量不足以達到 100 個執行個體的目標,則剩餘容量會以隨需執行個體的形式啟動。EC2 機群會根據您在 中指定的配置策略啟動這些隨需執行個體OnDemandOptions

注意

EC2 機群會先解析容量保留類型,然後解析每個容量保留類型中的執行個體類型。在 EC2 機群移至排序清單中的下一個類型之前,每個容量保留類型都已完全耗盡。

(選用) 步驟 5:驗證執行個體屬性

使用 describe-instances 命令來驗證每個執行個體使用的容量保留類型。機群啟動的執行個體會顯示下列屬性。

屬性 隨需容量保留值 容量區塊值 可中斷的容量保留值 隨需值
instance-lifecycle null capacity-block interruptible-capacity-reservation null
capacity-reservation-id 使用的容量保留 ID 使用的容量保留 ID 使用的容量保留 ID 不存在
capacity-reservation-specification 群組 ARN 群組 ARN 群組 ARN 不存在

您可以使用下列命令,依容量保留資源群組篩選執行個體:

aws ec2 describe-instances \ --filters "Name=capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn,Values=arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"

清除

若要停止產生費用,請在不再需要執行個體時終止執行個體。請注意,在容量區塊中啟動的執行個體會在容量區塊保留結束時自動終止。如果容量擁有者回收容量,則啟動至可中斷容量預留的執行個體會自動終止。