View a markdown version of this page

設定 Auto Scaling 群組以使用容量保留啟動執行個體 - Amazon EC2 Auto Scaling

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

設定 Auto Scaling 群組以使用容量保留啟動執行個體

若要設定 Auto Scaling 群組以使用 Amazon EC2 容量保留和 Capacity Blocks ML 啟動執行個體,請選擇符合您方法的程序:

使用容量保留規格

當您建立新的 Auto Scaling 群組時,請使用下列其中一種方法來設定容量保留規格。

Console
在新群組上設定容量保留規格 (主控台)
  1. 遵循 中的步驟使用 Amazon EC2 啟動精靈建立 Auto Scaling 群組,直到步驟 2。

  2. 在選擇執行個體啟動選項頁面的其他容量設定下,選擇容量保留偏好設定。或者,選擇容量保留目標。如需詳細資訊,請參閱容量保留偏好設定及容量保留目標。

  3. 繼續執行精靈的其餘步驟。

AWS CLI

將 --capacity-reservation-specification 參數新增至 create-auto-scaling-group 命令。參數接受偏好設定和選用目標。如需詳細資訊,請參閱 容量保留偏好設定 和 容量保留目標。

下列範例會建立偏好設定為 的 Auto Scaling 群組,capacity-reservations-only並以特定容量保留做為目標。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --min-size 1 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a,subnet-abc1234b" \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-only", "CapacityReservationTarget": { "CapacityReservationIds": ["cr-1234567890abcdef1"] } }'

更新現有的 Auto Scaling 群組

若要變更現有 Auto Scaling 群組的容量保留規格,請使用下列其中一種方法。

Console
若要變更現有群組上的容量保留規格 (主控台)
  1. 在 開啟 Amazon EC2 主控台https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組。

  2. 從頂端的導覽列中,選擇 AWS 區域 Auto Scaling 群組所在的 。

  3. 選取 Auto Scaling 群組旁的核取方塊。分割窗格會在頁面底部開啟。

  4. 在詳細資訊索引標籤的容量保留偏好設定下,選擇編輯。

  5. 選擇容量保留偏好設定,也可以選擇容量保留目標。

  6. 選擇更新。

AWS CLI

將 --capacity-reservation-specification 參數新增至 update-auto-scaling-group 命令。

下列範例會更新 Auto Scaling 群組,以使用容量保留資源群組做為偏好為 的目標capacity-reservations-first。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": ["arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"] } }'

啟動範本中的目標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-template 命令來建立以 為目標的啟動範本Capacity Block。對於可中斷的容量保留,請將 MarketType值取代為 interruptible-capacity-reservation。

aws ec2 create-launch-template \ --launch-template-name my-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-name my-cr-asg \ --launch-template LaunchTemplateName=my-cr-launch-template \ --min-size 0 --max-size 4 --desired-capacity 4 \ --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 群組中的多個容量保留類型為目標,請使用 分佈區段。