本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移您的擴展計劃
您可以從擴展計劃遷移到 Amazon EC2 Auto Scaling 和 Application Auto Scaling 展政策。
遷移程序
重要
若要移轉擴展計劃,您必須以精確的順序完成多個步驟。遷移擴展計劃時,請勿更新它,因為這會打破操作順序並可能導致不良行為。
步驟 1:檢閱您現有的設定
若要決定必須移動哪些比例設定,請使用描述比例-比例計畫指令。
aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names
my-scaling-plan
記下您要從現有調整比例計劃中保留的料號,其中可包括下列項目:
-
MinCapacity
— 可擴充資源的最小容量。 -
MaxCapacity
— 可擴充資源的最大容量。 -
PredefinedLoadMetricType
— 用於預測縮放的負載指標。 -
PredefinedScalingMetricType
— 用於目標跟踪(動態)縮放和預測縮放的縮放指標。 -
TargetValue
— 縮放量度量的目標值。
擴展計劃和擴展政策之間的差異
擴展計劃和擴展政策之間存在一些重要差異:
-
擴展政策只能啟用一種類型的擴展:目標追蹤縮放或預測性擴展。若要使用這兩種擴展方法,您必須建立個別的政策。
-
同樣地,您必須在各自的政策中分別定義預測縮放的縮放指標和目標追蹤縮放的縮放指標。
步驟 2:建立預測性擴展政策
如果您不使用預測縮放比例,請跳至步驟 4:準備刪除擴展計劃。
為了提供評估預測的時間,我們建議您先建立預測性擴展政策,然後再建立其他擴展政策。
對於任何具有現有負載指標規格的 Auto Scaling 群組,請執行以下操作,將其轉換為以 Amazon EC2 自動擴展為基礎的預測擴展政策。
若要建立預測性擴展政策
-
在 JSON 檔案中,定義結
MetricSpecifications
構,如下列範例所示:{ "MetricSpecifications":[ {
...
} ] } -
在
MetricSpecifications
結構中,針對擴展規劃中的每個負載量度,建立PredefinedLoadMetricSpecification
或CustomizedLoadMetricSpecification
使用縮放計劃中的對等設定。以下是負載公制剖面結構的範例。
-
將調整比例測量結果規格新增至,
MetricSpecifications
然後定義目標值。以下是調整比例測量結構和目標值區段的結構範例。
-
若只要預測,請加入值為
Mode
的屬性ForecastOnly
。完成移轉預測擴展並確定預測準確且可靠之後,您可以變更模式以允許擴展。如需詳細資訊,請參閱 步驟 7:重新啟用預測性縮放。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly",...
}如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考中的PredictiveScaling組態。
-
如果該
ScheduledActionBufferTime
屬性存在於您的擴展計劃中,請將其值複製到預測SchedulingBufferTime
性擴展政策中的屬性。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly","SchedulingBufferTime":300, ...
}如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考中的PredictiveScaling組態。
-
如果
PredictiveScalingMaxCapacityBehavior
和PredictiveScalingMaxCapacityBuffer
屬性出現在您的擴展計劃中,則您可以在預測MaxCapacityBuffer
性擴展政策中設定MaxCapacityBreachBehavior
和屬性。這些屬性定義了當預測容量接近或超過針對 Auto Scaling 群組指定的最大容量時應發生的情況。警告
如果將
MaxCapacityBreachBehavior
屬性設定為IncreaseMaxCapacity
,則啟動的執行個體數量可能會超過預期,除非您監視和管理增加的最大容量。增加的最大容量會成為 Auto Scaling 群組的新一般最大容量,直到您手動更新為止。最大容量不會自動減少到原來的最大容量。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly", "SchedulingBufferTime":300,"MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10
}如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考中的PredictiveScaling組態。
-
使用唯一名稱儲存 JSON 檔案。記下檔案名稱。當您重新啟用預測性擴展政策時,您需要在下一個步驟,並在移轉程序結束時再次使用。如需詳細資訊,請參閱 步驟 7:重新啟用預測性縮放。
-
儲存 JSON 檔案之後,執行 put 縮放原則命令。在下列範例中,將每個
使用者輸入預留位置
取代為您自己的資訊。aws autoscaling put-scaling-policy --policy-name
my-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 自動擴展型預測擴展政策的每個負載指標規格重複這些步驟。
步驟 3:複查預測擴展政策所產生的預測
如果您不使用預測性縮放比例,請略過下列程序。
建立預測資源調整政策後不久,即可使用預測。Amazon EC2 Auto Scaling 產生預測後,您可以透過 Amazon EC2 Auto Scaling 主控台檢閱政策的預測,並視需要進行調整。
若要檢閱預測擴展政策的預測
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇「Auto Scaling 群組」,然後從清單中選擇「Auto Scaling」群組的名稱。
-
在 [自動調度資源調整] 索引標籤的 [預測資源調整] 政策中,選擇您
-
在監控區段中,您可以根據實際值檢視政策在過去和未來的負載和容量預測。
-
針對您建立的每個預測性資源調整政策重複這些步驟。
步驟 4:準備刪除擴展計劃
對於具有現有目標追蹤擴展設定的任何資源,請執行下列動作以從擴展計劃收集您需要的任何其他資訊,然後再刪除該資訊。
若要描述擴展計劃中的資源調整原則資訊,請使用描述-擴展計劃-資源命令。在下面的示例命令中,用您自己的信息替換我的縮放計劃
。
aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version 1
檢閱輸出並確認您要移轉所述的資源調整原則。使用此資訊在中建立新的 Amazon EC2 Auto Scaling 和以應用程式自動擴展為基礎的目標追蹤擴展政策。步驟 6:重新啟用動態縮放
步驟 5:刪除擴展計劃
在建立新的目標追蹤擴展政策之前,您必須先刪除資源調度計劃,才能刪除其建立的資源調度政策。
若要刪除擴展計劃,請使用刪除擴展計劃命令。在下面的示例命令中,用您自己的信息替換我的縮放計劃
。
aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name
my-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 群組的目標追蹤縮放原則
-
在 JSON 檔案中,建立
PredefinedMetricSpecification
或CustomizedMetricSpecification
使用縮放計劃中的對等設定。以下是目標追蹤組態的範例。在這些範例中,請以您自己的資訊取代每個
使用者輸入預留位置
。 -
若要建立資源縮放政策,請使用 put-Scaling 原則命令,以及您在上一個步驟中建立的 JSON 檔案。在下列範例中,將每個
使用者輸入預留位置
取代為您自己的資訊。aws autoscaling put-scaling-policy --policy-name
my-target-tracking-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json
-
針對要移轉至 Amazon EC2 自動擴展目標追蹤擴展政策的每個以擴展計劃為基礎的擴展政策,重複此程序。
為其他可擴充資源建立目標追蹤擴展政策
接下來,透過執行下列設定工作,為其他可擴充的資源建立目標追蹤擴展政策。
-
使用「應用程式 auto 擴展」服務註冊可調整的目標以進行自動調整
-
在可擴展目標上新增目標追蹤擴展政策。
為其他可擴充資源建立目標追蹤擴展政策
-
使用註冊可擴展目標命令將資源註冊為可擴展目標,並定義擴展政策的擴展限制。
在下列範例中,將每個
使用者輸入預留位置
取代為您自己的資訊。對於命令選項,請提供下列資訊:-
--service-namespace
— 目標服務的命名空間 (例如,
)。若要取得服務命名空間,請參閱 RegisterScalableTarget 參考資料。ecs
-
--scalable-dimension
— 與目標資源相關聯的可縮放維度 (例如,
)。若要取得可縮放的維度,請參閱 RegisterScalableTarget 參考資料。ecs:service:DesiredCount
-
--resource-id
— 目標資源的資源 ID (例如,
)。如需有關特定資源 ID 的語法和範例的詳細資訊,請參閱 RegisterScalableTarget 參考資料。service/
my-cluster
/my-service
aws application-autoscaling register-scalable-target --service-namespace
namespace
\ --scalable-dimensiondimension
\ --resource-ididentifier
\ --min-capacity1
--max-capacity10
如果成功,此命令會傳回可擴展目標的 ARN。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
-
在 JSON 檔案中,建立
PredefinedMetricSpecification
或CustomizedMetricSpecification
使用縮放計劃中的對等設定。以下是目標追蹤組態的範例。
-
若要建立資源縮放政策,請使用 put-Scaling 原則命令,以及您在上一個步驟中建立的 JSON 檔案。
aws application-autoscaling put-scaling-policy --service-namespace
namespace
\ --scalable-dimensiondimension
\ --resource-ididentifier
\ --policy-namemy-target-tracking-scaling-policy
--policy-typeTargetTrackingScaling
\ --target-tracking-scaling-policy-configurationfile://config.json
-
針對您要移轉至以應用程式自動縮放為基礎的目標追蹤擴展政策的每個以擴展計劃為基礎的擴展政策,重複此程序。
步驟 7:重新啟用預測性縮放
如果您不使用預測性縮放比例,請略過此步驟。
將預測性擴展切換為預測和擴展,以重新啟用預測擴展。
若要進行此變更,請更新您在其中建立的 JSON 檔案,步驟 2:建立預測性擴展政策並將Mode
選項的值變更ForecastAndScale
為,如下列範例所示:
"Mode":"ForecastAndScale"
然後,使用 put-Scal ing 原則命令來更新每個預測性擴展政策。在此範例中,將每個使用者輸入預留位置
取代為您自己的資訊。
aws autoscaling put-scaling-policy --policy-name
my-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 自動擴展參考
基於參考目的,下表列出擴展計劃中的所有目標追蹤組態屬性及其在 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.EstimatedInstanceWarmup ¹ |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.PredefinedScalingMetricType |
TargetTrackingConfiguration.PredefinedMetricSpecification.PredefinedMetricType |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.PredefinedMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.ScaleInCooldown |
Not available |
TargetTrackingConfiguration.ScaleOutCooldown |
Not available |
TargetTrackingConfiguration.TargetValue |
TargetTrackingConfiguration.TargetValue |
¹ 執行個體預熱是 Auto Scaling 群組的一項功能,可協助確保新啟動的執行個體已準備好接收流量,然後再將其使用量資料提供給擴展指標。當執行個體仍在變暖時,Amazon EC2 Auto Scaling 會減慢新增或移除執行個體到群組的程序。建議您使用 Auto Scaling 群組的預設執行個體暖機設定,而不是指定擴展政策的暖機時間,以確保所有執行個體啟動都使用相同的執行個體預熱時間。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的設定 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.ScaleInCooldown ¹ |
TargetTrackingScalingPolicyConfiguration.ScaleInCooldown |
TargetTrackingConfiguration.ScaleOutCooldown ¹ |
TargetTrackingScalingPolicyConfiguration.ScaleOutCooldown |
TargetTrackingConfiguration.TargetValue |
TargetTrackingScalingPolicyConfiguration.TargetValue |
¹ 當您的可擴展資源向外擴展(增加容量)和擴展(減少容量)時,應用 Application Auto Scaling 擴展使用冷卻時間來減慢擴展速度。如需詳細資訊,請參閱應用 Ap plication Auto Scaling 使用指南中的定義冷卻時間。
其他資訊
若要了解如何從主控台建立新的預測性擴展政策,請參閱下列主題:
-
Amazon EC2 Auto Scaling — 在 Amazon EC2 自動擴展使用者指南中建立預測性擴展政策。
若要了解如何使用主控台建立新的目標追蹤擴展政策,請參閱下列主題:
-
Amazon Aurora — 使用 Amazon RDS 使用者指南中的 Amazon Aurora Auto Scaling 與 Aurora 複本。
-
DynamoDB — 在 Amazon Dynam oDB 開發人員指南中 AWS Management Console 搭配使用 auto 擴展功能。
-
Amazon EC2 Auto Scaling — 在 Amazon EC2 自動擴展使用者指南中建立目標追蹤擴展政策。
-
Amazon ECS — 使用 Amazon 彈性容器服務開發人員指南中的主控台更新服務。
-
競價型叢集 — 使用 Amazon EC2 使用者指南中的目標追蹤政策擴展競價型叢集。