文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Auto Scaling Plans 範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Auto Scaling Plans 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 create-scaling-plan
。
- AWS CLI
-
建立擴展計畫
下列
create-scaling-plan
範例my-scaling-plan
會使用已建立的 JSON 檔案 (名為 config.json) 建立名為 的擴展計畫。擴展計畫的結構包含名為 的 Auto Scaling 群組的擴展指示my-asg
。它會將TagFilters
屬性指定為應用程式來源,並啟用預測擴展和動態擴展。aws autoscaling-plans create-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --cli-input-jsonfile://~/config.json
config.json
檔案的內容:{ "ApplicationSource": { "TagFilters": [ { "Key": "purpose", "Values": [ "my-application" ] } ] }, "ScalingInstructions": [ { "ServiceNamespace": "autoscaling", "ResourceId": "autoScalingGroup/my-asg", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScheduledActionBufferTime": 300, "PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity", "PredictiveScalingMode": "ForecastAndScale", "PredefinedLoadMetricSpecification": { "PredefinedLoadMetricType": "ASGTotalCPUUtilization" }, "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "MinCapacity": 1, "MaxCapacity": 4, "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50 } ] } ] }
輸出:
{ "ScalingPlanVersion": 1 }
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateScalingPlan
。
-
下列程式碼範例示範如何使用 delete-scaling-plan
。
- AWS CLI
-
若要刪除擴展計畫
下列
delete-scaling-plan
範例會刪除指定的擴展計畫。aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteScalingPlan
。
-
下列程式碼範例示範如何使用 describe-scaling-plan-resources
。
- AWS CLI
-
描述擴展計劃的可擴展資源
下列
describe-scaling-plan-resources
範例顯示與指定擴展計畫相關聯的單一可擴展資源 (Auto Scaling 群組) 的詳細資訊。aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
輸出:
{ "ScalingPlanResources": [ { "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScalingPlanVersion": 1, "ResourceId": "autoScalingGroup/my-asg", "ScalingStatusCode": "Active", "ScalingStatusMessage": "Target tracking scaling policies have been applied to the resource.", "ScalingPolicies": [ { "PolicyName": "AutoScaling-my-asg-b1ab65ae-4be3-4634-bd64-c7471662b251", "PolicyType": "TargetTrackingScaling", "TargetTrackingConfiguration": { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d" }, "TargetValue": 40.0 } } ], "ServiceNamespace": "autoscaling", "ScalingPlanName": "my-scaling-plan" } ] }
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南中的什麼是 Auto Scaling?。 AWS Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeScalingPlanResources
。
-
下列程式碼範例示範如何使用 describe-scaling-plans
。
- AWS CLI
-
描述擴展計畫
下列
describe-scaling-plans
範例顯示指定擴展計畫的詳細資訊。aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names
scaling-plan-with-asg-and-ddb
輸出:
{ "ScalingPlans": [ { "LastMutatingRequestTime": 1565388443.963, "ScalingPlanVersion": 1, "CreationTime": 1565388443.963, "ScalingInstructions": [ { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50.0, "EstimatedInstanceWarmup": 300, "DisableScaleIn": false } ], "ResourceId": "autoScalingGroup/my-asg", "DisableDynamicScaling": false, "MinCapacity": 1, "ServiceNamespace": "autoscaling", "MaxCapacity": 10 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBReadCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBWriteCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 } ], "ApplicationSource": { "TagFilters": [ { "Values": [ "my-application-id" ], "Key": "application" } ] }, "StatusStartTime": 1565388455.836, "ScalingPlanName": "scaling-plan-with-asg-and-ddb", "StatusMessage": "Scaling plan has been created and applied to all resources.", "StatusCode": "Active" } ] }
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南中的什麼是 Auto Scaling?。 AWS Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeScalingPlans
。
-
下列程式碼範例示範如何使用 get-scaling-plan-resource-forecast-data
。
- AWS CLI
-
若要擷取負載預測資料
此範例會擷取與指定擴展計畫相關聯的可擴展資源 (Auto Scaling 群組) 的負載預測資料。
aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
\ --service-namespace"autoscaling"
\ --resource-idautoScalingGroup/my-asg
\ --scalable-dimension"autoscaling:autoScalingGroup:DesiredCapacity"
\ --forecast-data-type"LoadForecast"
\ --start-time"2019-08-30T00:00:00Z"
\ --end-time"2019-09-06T00:00:00Z"
輸出:
{ "Datapoints": [...] }
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南中的什麼是AWS Auto Scaling。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetScalingPlanResourceForecastData
。
-
下列程式碼範例示範如何使用 update-scaling-plan
。
- AWS CLI
-
更新擴展計畫
下列
update-scaling-plan
範例會修改指定擴展計畫中 Auto Scaling 群組的擴展指標。aws autoscaling-plans update-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
\ --scaling-instructions '{"ScalableDimension":"autoscaling:autoScalingGroup:DesiredCapacity","ResourceId":"autoScalingGroup/my-asg","ServiceNamespace":"autoscaling","TargetTrackingConfigurations":[{"PredefinedScalingMetricSpecification": {"PredefinedScalingMetricType":"ALBRequestCountPerTarget","ResourceLabel":"app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d"},"TargetValue":40.0}],"MinCapacity": 1,"MaxCapacity": 10}
'此命令不會產生輸出。
如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南中的什麼是 Auto Scaling?。 AWS Auto Scaling
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateScalingPlan
。
-