本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移您的擴展計劃
您可以從擴展計劃遷移到 Amazon EC2 Auto Scaling 和 Application Auto Scaling 擴展政策。
遷移程序
重要
若要遷移擴展計劃,您必須以確切順序完成多個步驟。當您遷移擴展計畫時,請勿更新,因為這會中斷操作順序,並可能導致不良行為。
步驟 1:檢閱您現有的設定
若要判斷您必須移動的擴展設定,請使用 describe-scaling-plans 命令。
aws autoscaling-plans describe-scaling-plans \ --scaling-plan-namesmy-scaling-plan
記下您要從現有擴展計劃中保留的項目,其中可能包括下列項目:
-
MinCapacity– 可擴展資源的最小容量。 -
MaxCapacity– 可擴展資源的最大容量。 -
PredefinedLoadMetricType– 預測擴展的負載指標。 -
PredefinedScalingMetricType– 目標追蹤 (動態) 擴展和預測擴展的擴展指標。 -
TargetValue– 擴展指標的目標值。
擴展計畫和擴展政策之間的差異
擴展計畫和擴展政策之間有一些重要的差異:
-
擴展政策只能啟用一種擴展類型:目標追蹤擴展或預測擴展。若要使用這兩種擴展方法,您必須建立個別的政策。
-
同樣地,您必須在各自的政策中分別定義預測擴展的擴展指標,以及目標追蹤擴展的擴展指標。
步驟 2:建立預測擴展政策
如果您不使用預測擴展,請跳到 步驟 4:準備刪除擴展計畫。
為了提供時間來評估預測,建議您先建立預測擴展政策,然後再建立其他擴展政策。
對於具有現有負載指標規格的任何 Auto Scaling 群組,請執行下列動作將其轉換為以 Amazon EC2 Auto Scaling 為基礎的預測擴展政策。
建立預測擴展政策
-
在 JSON 檔案中,定義
MetricSpecifications結構,如下列範例所示:{ "MetricSpecifications":[ {...} ] } -
在
MetricSpecifications結構中,針對擴展計畫中的每個負載指標,CustomizedLoadMetricSpecification使用擴展計畫中的對等設定建立PredefinedLoadMetricSpecification或 。以下是負載指標區段結構的範例。
-
將擴展指標規格新增至
MetricSpecifications並定義目標值。以下是擴展指標和目標值區段結構的範例。
-
若只要預測,請新增值
Mode為 的 屬性ForecastOnly。完成遷移預測擴展並確保預測準確且可靠之後,您可以變更模式以允許擴展。如需詳細資訊,請參閱步驟 7:重新啟用預測擴展。{ "MetricSpecifications":[...], "Mode":"ForecastOnly",...}如需詳細資訊,請參閱《Amazon EC2 Auto Scaling Scaling API 參考》中的 PredictiveScalingConfiguration。
-
如果您的擴展計劃中存在
ScheduledActionBufferTime屬性,則將其值複製到預測擴展政策中的SchedulingBufferTime屬性。{ "MetricSpecifications":[...], "Mode":"ForecastOnly","SchedulingBufferTime":300, ...}如需詳細資訊,請參閱《Amazon EC2 Auto Scaling Scaling API 參考》中的 PredictiveScalingConfiguration。
-
如果您的擴展計劃中存在
PredictiveScalingMaxCapacityBehavior和PredictiveScalingMaxCapacityBuffer屬性,則可以在預測擴展政策中設定MaxCapacityBreachBehavior和MaxCapacityBuffer屬性。這些屬性會定義預測容量接近或超過為 Auto Scaling 群組指定的容量上限時應發生的情況。警告
如果您將
MaxCapacityBreachBehavior屬性設定為IncreaseMaxCapacity,則除非您監控和管理增加的最大容量,否則可能會啟動比預期更多的執行個體。增加的最大容量會成為 Auto Scaling 群組的新正常最大容量,直到您手動更新為止。最大容量不會自動減少回原始最大容量。{ "MetricSpecifications":[...], "Mode":"ForecastOnly", "SchedulingBufferTime":300,"MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10}如需詳細資訊,請參閱《Amazon EC2 Auto Scaling Scaling API 參考》中的 PredictiveScalingConfiguration。
-
使用唯一名稱儲存 JSON 檔案。記下檔案名稱。當您重新啟用預測擴展政策時,在下一個步驟和遷移程序結束時都需要它。如需詳細資訊,請參閱步驟 7:重新啟用預測擴展。
-
儲存 JSON 檔案後,請執行 put-scaling-policy 命令。在下列範例中,將每個
使用者輸入預留位置取代為您自己的資訊。aws autoscaling put-scaling-policy --policy-namemy-predictive-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://my-predictive-scaling-config.json如果成功,此命令會傳回政策的 Amazon Resource Name (ARN)。
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy", "Alarms": [] } -
針對您要遷移至 Amazon EC2 Auto Scaling 型預測擴展政策的每個負載指標規格,重複這些步驟。
步驟 3:檢閱預測擴展政策產生的預測
如果您不使用預測擴展,請略過下列程序。
預測會在您建立預測擴展政策後不久提供。Amazon EC2 Auto Scaling 產生預測後,您可以透過 Amazon EC2 Auto Scaling 主控台檢閱政策的預測,並視需要調整。
檢閱預測擴展政策的預測
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Auto Scaling 群組,然後從清單中選擇 Auto Scaling 群組的名稱。
-
在自動擴展索引標籤的預測擴展政策中,選擇您的政策。
-
在監控區段中,您可以根據實際值檢視政策在過去和未來的負載和容量預測。
如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的檢閱預測擴展監控圖表。
-
為您建立的每個預測擴展政策重複這些步驟。
步驟 4:準備刪除擴展計畫
對於具有現有目標追蹤擴展組態的任何資源,請執行下列動作,在刪除擴展計畫之前,從擴展計畫收集您需要的任何其他資訊。
若要描述擴展計劃中的擴展政策資訊,請使用 describe-scaling-plan-resources 命令。在下列範例命令中,將 my-scaling-plan 取代為您自己的資訊。
aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version 1
檢閱輸出並確認您想要遷移所述的擴展政策。使用此資訊在 中建立新的 Amazon EC2 Auto Scaling 和 Application Auto Scaling 型目標追蹤擴展政策步驟 6:重新啟用動態擴展。
步驟 5:刪除擴展計畫
建立新的目標追蹤擴展政策之前,您必須先刪除擴展計劃,才能刪除其建立的擴展政策。
若要刪除擴展計劃,請使用 delete-scaling-plan 命令。在下列範例命令中,將 my-scaling-plan 取代為您自己的資訊。
aws autoscaling-plans delete-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version 1
刪除擴展計畫後,動態擴展會停用。因此,如果流量或工作負載突然激增,則每個可擴展資源可用的容量不會自行增加。作為預防措施,您可能想要在短期內手動增加可擴展資源的容量。
增加 Auto Scaling 群組的容量
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Auto Scaling 群組,然後從清單中選擇 Auto Scaling 群組的名稱。
-
在 Details (詳細資訊) 索引標籤上,選擇 Group details (群組詳細資訊)、Edit (編輯)。
-
對於所需的容量,增加所需的容量。
-
完成後,請選擇更新。
將 Aurora 複本新增至資料庫叢集
-
前往 https://console.aws.amazon.com/rds/
,開啟 Amazon RDS 主控台。 -
在導覽窗格中,選擇資料庫,然後選取資料庫叢集。
-
確定叢集和主要執行個體都處於 Available (可用) 狀態。
-
選擇動作、新增讀取器。
-
在新增讀取器頁面上,指定新 Aurora 複本的選項。
-
選擇新增讀取器。
增加 DynamoDB 資料表或全域次要索引的佈建讀取和寫入容量
請在 https://console.aws.amazon.com/dynamodb/
開啟 DynamoDB 主控台。 -
在導覽窗格中,選擇資料表,然後從清單中選擇資料表的名稱。
-
在其他設定索引標籤上,選擇讀取/寫入容量、編輯。
-
在編輯讀取/寫入容量頁面上,對於讀取容量、佈建容量單位,增加資料表的佈建讀取容量。
-
(選用) 如果您希望全域次要索引使用與基礎資料表相同的讀取容量設定,請選取對所有全域次要索引使用相同的讀取容量設定核取方塊。
-
對於寫入容量、佈建容量單位,增加資料表的佈建寫入容量。
-
(選用) 如果您希望全域次要索引使用與基礎資料表相同的寫入容量設定,請選取對所有全域次要索引使用相同的寫入容量設定核取方塊。
-
如果您未在步驟 5 或 7 中選取核取方塊,請向下捲動頁面以更新任何全域次要索引的讀取和寫入容量。
-
選擇儲存變更以繼續。
增加 Amazon ECS 服務的執行中任務計數
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集,然後從清單中選擇叢集的名稱。
-
在服務區段中,選取服務旁的核取方塊,然後選擇更新。
-
針對所需任務,輸入您要為服務執行的任務數量。
-
選擇更新。
增加 Spot 機群的容量
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Spot 請求,然後選取您的 Spot 機群請求。
-
選擇動作和修改目標容量。
-
在修改目標容量中,輸入新的目標容量和隨需執行個體部分。
-
選擇提交。
步驟 6:重新啟用動態擴展
透過建立目標追蹤擴展政策來重新啟用動態擴展。
當您為 Auto Scaling 群組建立目標追蹤擴展政策時,請將其直接新增至群組。當您為其他可擴展性資源建立目標追蹤擴展政策時,首先將資源註冊為可擴展性目標,然後將目標追蹤擴展政策新增至可擴展性目標。
建立 Auto Scaling 群組的目標追蹤擴展政策
為 Auto Scaling 群組建立目標追蹤擴展政策
-
在 JSON 檔案中,
CustomizedMetricSpecification使用擴展計畫中的對等設定建立PredefinedMetricSpecification或 。以下是目標追蹤組態的範例。在這些範例中,將每個
使用者輸入預留位置取代為您自己的資訊。 -
若要建立擴展政策,請使用 put-scaling-policy 命令,以及您在上一個步驟中建立的 JSON 檔案。在下列範例中,將每個
使用者輸入預留位置取代為您自己的資訊。aws autoscaling put-scaling-policy --policy-namemy-target-tracking-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json -
針對您要遷移至 Amazon EC2 Auto Scaling 型目標追蹤擴展政策的每個擴展計劃型擴展政策,重複此程序。
為其他可擴展資源建立目標追蹤擴展政策
接著,執行下列組態任務,為其他可擴展資源建立目標追蹤擴展政策。
-
使用 Application Auto Scaling 服務註冊可擴展的目標以進行自動擴展。
-
在可擴展目標上新增目標追蹤擴展政策。
為其他可擴展資源建立目標追蹤擴展政策
-
使用 register-scalable-target 命令將資源註冊為可擴展的目標,並定義擴展政策的擴展限制。
在下列範例中,將每個
使用者輸入預留位置取代為您自己的資訊。對於命令選項,請提供下列資訊:-
--service-namespace– 目標服務的命名空間 (例如)。若要取得服務命名空間,請參閱 RegisterScalableTarget 參考。ecs -
--scalable-dimension– 與目標資源相關聯的可擴展維度 (例如)。若要取得可擴展的維度,請參閱 RegisterScalableTarget 參考。ecs:service:DesiredCount -
--resource-id– 目標資源的資源 ID (例如,)。如需有關語法和特定資源 IDs 範例的資訊,請參閱 RegisterScalableTarget 參考。service/my-cluster/my-service
aws application-autoscaling register-scalable-target --service-namespacenamespace\ --scalable-dimensiondimension\ --resource-ididentifier\ --min-capacity1--max-capacity10如果成功,此命令會傳回可擴展目標的 ARN。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
-
在 JSON 檔案中,
CustomizedMetricSpecification使用擴展計畫中的對等設定建立PredefinedMetricSpecification或 。以下是目標追蹤組態的範例。
-
若要建立擴展政策,請使用 put-scaling-policy 命令,以及您在上一個步驟中建立的 JSON 檔案。
aws application-autoscaling put-scaling-policy --service-namespacenamespace\ --scalable-dimensiondimension\ --resource-ididentifier\ --policy-namemy-target-tracking-scaling-policy--policy-typeTargetTrackingScaling\ --target-tracking-scaling-policy-configurationfile://config.json -
針對您要遷移至 Application Auto Scaling 型目標追蹤擴展政策的每個擴展計劃型擴展政策,重複此程序。
步驟 7:重新啟用預測擴展
如果您不使用預測擴展,請略過此步驟。
透過將預測擴展切換為預測和擴展來重新啟用預測擴展。
若要進行此變更,請更新您在 中建立的 JSON 檔案,步驟 2:建立預測擴展政策並將 Mode選項的值變更為 ,ForecastAndScale如下列範例所示:
"Mode":"ForecastAndScale"
然後,使用 put-scaling-policy 命令更新每個預測擴展政策。在此範例中,將每個使用者輸入預留位置取代為您自己的資訊。
aws autoscaling put-scaling-policy --policy-namemy-predictive-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://my-predictive-scaling-config.json
或者,您也可以根據預測設定開啟擴展,從 Amazon EC2 Auto Scaling 主控台進行此變更。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的預測擴展。
遷移目標追蹤擴展政策的 Amazon EC2 Auto Scaling 參考
基於參考目的,下表列出擴展計畫中的所有目標追蹤組態屬性,以及其在 Amazon EC2 Auto Scaling PutScalingPolicy API 操作中的對應屬性。
| 擴展計畫來源屬性 | Amazon EC2 Auto Scaling 目標屬性 |
|---|---|
PolicyName |
PolicyName |
PolicyType |
PolicyType |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Unit |
TargetTrackingConfiguration.CustomizedMetricSpecification.Unit |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingConfiguration.EstimatedInstanceWarmup |
TargetTrackingConfiguration.EstimatedInstanceWarmup1 |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.PredefinedScalingMetricType |
TargetTrackingConfiguration.PredefinedMetricSpecification.PredefinedMetricType |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.PredefinedMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.ScaleInCooldown |
Not available |
TargetTrackingConfiguration.ScaleOutCooldown |
Not available |
TargetTrackingConfiguration.TargetValue |
TargetTrackingConfiguration.TargetValue |
1 執行個體暖機期是 Auto Scaling 群組的一項功能,有助於確保新啟動的執行個體準備好接收流量,然後再將其用量資料提供給擴展指標。當執行個體仍在暖機時,Amazon EC2 Auto Scaling 會減慢新增或移除執行個體至群組的程序。建議您使用 Auto Scaling 群組的預設執行個體暖機設定,以確保所有執行個體啟動都使用相同的執行個體暖機時間,而不是指定擴展政策的暖機時間。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的設定 Auto Scaling 群組的預設執行個體暖機。
遷移目標追蹤擴展政策的 Application Auto Scaling 參考
基於參考目的,下表列出擴展計畫中的所有目標追蹤組態屬性,以及其在 Application Auto Scaling PutScalingPolicy API 操作中的對應屬性。
| 擴展計畫來源屬性 | Application Auto Scaling 目標屬性 |
|---|---|
PolicyName |
PolicyName |
PolicyType |
PolicyType |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Name |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Value |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.MetricName |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Namespace |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Statistic |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Unit |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Unit |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingScalingPolicyConfiguration.DisableScaleIn |
TargetTrackingConfiguration.EstimatedInstanceWarmup |
Not available |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.PredefinedScalingMetricType |
TargetTrackingScalingPolicyConfiguration.PredefinedMetricSpecification.PredefinedMetricType |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.ResourceLabel |
TargetTrackingScalingPolicyConfiguration.PredefinedMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.ScaleInCooldown1 |
TargetTrackingScalingPolicyConfiguration.ScaleInCooldown |
TargetTrackingConfiguration.ScaleOutCooldown1 |
TargetTrackingScalingPolicyConfiguration.ScaleOutCooldown |
TargetTrackingConfiguration.TargetValue |
TargetTrackingScalingPolicyConfiguration.TargetValue |
1 Application Auto Scaling 會在可擴展性資源向外擴展 (增加容量) 和向內擴展 (減少容量) 時,使用冷卻時間來減慢擴展速度。如需詳細資訊,請參閱《Application Auto Scaling 使用者指南》中的定義冷卻時間。
其他資訊
若要了解如何從主控台建立新的預測擴展政策,請參閱下列主題:
-
Amazon EC2 Auto Scaling – Amazon EC2 Auto Scaling 使用者指南》中的建立預測擴展政策。
若要了解如何使用主控台建立新的目標追蹤擴展政策,請參閱下列主題:
-
Amazon RDS 使用者指南中的 Amazon Aurora – 搭配使用 Amazon Aurora Auto Scaling 與 Aurora 複本。
-
DynamoDB – 在 AWS Management Console Amazon DynamoDB 開發人員指南中使用 搭配 DynamoDB 自動擴展。 DynamoDB
-
Amazon EC2 Auto Scaling – Amazon EC2 Auto Scaling 使用者指南》中的建立目標追蹤擴展政策。
-
Amazon ECS – 《Amazon Elastic Container Service 開發人員指南》中的使用主控台更新服務。
-
Spot 機群 – Amazon EC2 使用者指南中的使用目標追蹤政策擴展 Spot 機群。