AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Auto Scaling Plans 示例 AWS CLI
以下代码示例向您展示了如何使用与 Auto Scaling Plans AWS Command Line Interface 配合使用来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 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详细信息,请参阅 “CreateScalingPlan AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteScalingPlan AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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? 在 AWS Auto Scaling 用户指南中。
-
有关API详细信息,请参阅 “DescribeScalingPlanResources AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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? 在 AWS Auto Scaling 用户指南中。
-
有关API详细信息,请参阅 “DescribeScalingPlans AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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自动缩放”。
-
有关API详细信息,请参阅 “GetScalingPlanResourceForecastData AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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? 在 AWS Auto Scaling 用户指南中。
-
有关API详细信息,请参阅 “UpdateScalingPlan AWS CLI
命令参考”。
-