本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Auto Scaling 群組以使用容量保留啟動執行個體
若要設定 Auto Scaling 群組以使用 Amazon EC2 容量保留和 Capacity Blocks ML 啟動執行個體,請選擇符合您方法的程序:
-
如需隨需容量保留,請參閱 使用容量保留規格。
-
如需 Capacity Blocks或 可中斷的容量保留,請參閱 啟動範本中的目標Capacity Blocks或中斷容量保留。
-
如需在相同的 Auto Scaling 群組中混合多個保留類型 (例如,隨需容量保留和 Capacity Blocks),請參閱 使用分佈區段以多個容量保留類型為目標。
-
如需容量保留目標選項和行為的背景,請參閱 Auto Scaling 群組的目標容量保留。
使用容量保留規格
當您建立新的 Auto Scaling 群組時,請使用下列其中一種方法來設定容量保留規格。
更新現有的 Auto Scaling 群組
若要變更現有 Auto Scaling 群組的容量保留規格,請使用下列其中一種方法。
啟動範本中的目標Capacity Blocks或中斷容量保留
您可以使用以launch-template-based目標,從 Auto Scaling 群組取用Capacity Blocks或中斷容量保留。此方法需要在啟動範本上設定市場類型,並將容量保留 ID 指定為 Auto Scaling 群組上的目標。
如果您的 Auto Scaling 群組使用混合執行個體政策,建議您改用分佈區段,這可讓您在 Auto Scaling 群組的單一位置設定容量預留。如果您的 Auto Scaling 群組使用單一執行個體類型,則需要Launch-template-based目標。
設定啟動範本
在啟動範本中,設定下列項目:
-
將
capacity-block的執行個體市場類型 (InstanceMarketOptions.MarketType) 設定為 Capacity Block,或interruptible-capacity-reservation將 設定為可中斷的容量保留。 -
將容量保留目標 (
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId) 設定為容量保留 ID。
下列範例使用 create-launch-templateMarketType值取代為 interruptible-capacity-reservation。
aws ec2 create-launch-template \ --launch-template-namemy-cr-launch-template\ --launch-template-data '{ "ImageId": "ami-0abcdef1234567890", "InstanceType": "p5.48xlarge", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } } }'
如需建立啟動範本的相關資訊,請參閱《Amazon EC2 使用者指南》中的啟動範本。
建立 Auto Scaling 群組
建立使用啟動範本的 Auto Scaling 群組。Auto Scaling 群組必須使用與容量保留位於相同可用區域中的子網路進行設定。
下列範例會建立 Auto Scaling 群組,該群組使用在上一個步驟中建立的啟動範本。
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-namemy-cr-asg\ --launch-template LaunchTemplateName=my-cr-launch-template\ --min-size0--max-size4--desired-capacity4\ --vpc-zone-identifier "subnet-abc1234a"
如需詳細資訊,請參閱使用啟動範本建立 Auto Scaling 群組。
操作準則
使用啟動範本型目標時,請考慮下列操作準則。
-
啟動範本版本 – 將您的 Auto Scaling 群組指向特定的啟動範本版本,而不是
$Default或$Latest版本。這可確保保留期間的一致性。 -
執行個體替換 – 當 Capacity Block過期或回收可中斷的容量保留時,Amazon EC2 會終止其中執行的執行個體。Auto Scaling 運作狀態檢查程式會偵測終止,並嘗試以與未通過運作狀態檢查的任何執行個體相同的方式啟動替換執行個體。這些終止的擴展活動會顯示停止服務,以回應表示已終止或停止的 Amazon EC2 運作狀態檢查。
-
對於 Capacity Blocks – 在 Auto Scaling 群組中擴展到零,超過Capacity Block保留結束時間的 30 分鐘。Amazon EC2 會在結束時間前 30 分鐘開始終止任何剩餘的執行個體。使用排程擴展在保留開始時向外擴展,並在結束之前向內擴展。視需要新增生命週期掛鉤,以在強制終止時段之前正常關閉應用程式。
-
對於可中斷的容量保留 – 當容量擁有者回收容量時,執行個體可以透過 2 分鐘的通知終止。設計您的應用程式來處理正常關機。Amazon EC2 會在終止前 2 分鐘傳送通知,而且您可以設定自訂自動化來回應這些通知。
在 Auto Scaling 群組層級覆寫容量保留設定
您可以在 Auto Scaling 群組上設定容量保留偏好設定和目標,以覆寫啟動範本中的設定。如需容量保留規格的詳細資訊,請參閱 Auto Scaling 群組的目標容量保留。
考量事項
-
混合執行個體政策 – Launch-template-based 目標Capacity Blocks或中斷容量預留。若要將這些保留類型與混合執行個體政策搭配使用,請參閱 使用分佈區段以多個容量保留類型為目標。
-
暖集區 – 當您的啟動範本以 Capacity Block或可中斷的容量保留為目標時,不支援暖集區。
-
每個啟動範本一個容量保留類型 – 啟動範本只能以一個容量保留類型為目標。若要以一個 Auto Scaling 群組中的多個容量保留類型為目標,請使用 分佈區段。