AWS CLI 的扩缩策略示例
您可以通过 AWS 管理控制台、AWS Command Line Interface(AWS CLI)或 SDK 创建 Amazon EC2 Auto Scaling 的扩缩策略。
以下示例显示如何使用 AWS CLI put-scaling-policy用户输入占位符替换为您自己的信息。
要开始使用 AWS CLI 编写扩缩策略,请参阅目标跟踪扩缩策略和步进和简单扩展策略中的介绍性练习。
示例 1:应用具有预定义指标规范的目标跟踪扩展策略
aws autoscaling put-scaling-policy --policy-namecpu50-target-tracking-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json{ "TargetValue":50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }
有关更多信息,请参阅 Amazon EC2 Auto Scaling API 参考中的 PredefinedMetricSpecification。
注意
如果文件不在当前目录中,请键入文件的完整路径。有关从文件中读取 AWS CLI 参数值的更多信息,请参阅《AWS Command Line Interface User Guide.》中的 Loading AWS CLI parameters from a file。
示例 2:应用具有自定义指标规范的目标跟踪扩展策略
aws autoscaling put-scaling-policy --policy-namesqs100-target-tracking-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json{ "TargetValue":100.0, "CustomizedMetricSpecification": { "MetricName": "MyBacklogPerInstance", "Namespace": "MyNamespace", "Dimensions": [{ "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" }], "Statistic": "Average", "Unit": "None" } }
有关更多信息,请参阅 Amazon EC2 Auto Scaling API 参考中的 CustomizedMetricSpecification。
示例 3:为仅向外扩展应用目标跟踪扩展策略
aws autoscaling put-scaling-policy --policy-namealb1000-target-tracking-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json{ "TargetValue":1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "DisableScaleIn": true }
示例 4:为向外扩展应用步进扩展策略
aws autoscaling put-scaling-policy \ --auto-scaling-group-namemy-asg\ --policy-namemy-step-scale-out-policy\ --policy-type StepScaling \ --adjustment-typePercentChangeInCapacity\ --metric-aggregation-typeAverage\ --step-adjustments MetricIntervalLowerBound=10.0,MetricIntervalUpperBound=20.0,ScalingAdjustment=10\ MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20\ MetricIntervalLowerBound=30.0,ScalingAdjustment=30\ --min-adjustment-magnitude1
记下策略的 Amazon Resource Name (ARN)。创建 CloudWatch 警报时,您需要 ARN。
示例 5:为缩减应用步进扩展策略
aws autoscaling put-scaling-policy \ --auto-scaling-group-namemy-asg\ --policy-namemy-step-scale-in-policy\ --policy-type StepScaling \ --adjustment-typeChangeInCapacity\ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2
记下策略的 Amazon Resource Name (ARN)。创建 CloudWatch 警报时,您需要 ARN。
示例 6:为向外扩展应用简单扩展策略
aws autoscaling put-scaling-policy --policy-namemy-simple-scale-out-policy\ --auto-scaling-group-namemy-asg--scaling-adjustment30\ --adjustment-typePercentChangeInCapacity--min-adjustment-magnitude2
记下策略的 Amazon Resource Name (ARN)。创建 CloudWatch 警报时,您需要 ARN。
示例 7:为缩减应用简单扩展策略
aws autoscaling put-scaling-policy --policy-namemy-simple-scale-in-policy\ --auto-scaling-group-namemy-asg--scaling-adjustment-1\ --adjustment-typeChangeInCapacity--cooldown180
记下策略的 Amazon Resource Name (ARN)。创建 CloudWatch 警报时,您需要 ARN。