的扩展策略示例 AWS CLI - Amazon A EC2 uto Scaling

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

的扩展策略示例 AWS CLI

您可以通过 AWS Management Console、 AWS Command Line Interface (AWS CLI) 或为 Amazon A EC2 uto Scaling 创建扩展策略SDKs。

以下示例显示了如何使用 AWS CLI put-scaling-policy命令为 Amazon A EC2 uto Scaling 创建扩展策略。替换每个 user input placeholder 用你自己的信息。

要开始使用编写扩展策略 AWS CLI,请参阅目标跟踪扩展策略和中的入门练习步进和简单扩展策略

示例 1:应用具有预定义指标规范的目标跟踪扩展策略

aws autoscaling put-scaling-policy --policy-name cpu50-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json { "TargetValue": 50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }

有关更多信息,请参阅PredefinedMetricSpecificationAmazon A EC2 uto Scaling API 参考》。

注意

如果文件不在当前目录中,请键入文件的完整路径。有关从文件读取 AWS CLI 参数值的更多信息,请参阅 AWS Command Line Interface 用户指南中的从文件加载 AWS CLI 参数

示例 2:应用具有自定义指标规范的目标跟踪扩展策略

aws autoscaling put-scaling-policy --policy-name sqs100-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json { "TargetValue": 100.0, "CustomizedMetricSpecification": { "MetricName": "MyBacklogPerInstance", "Namespace": "MyNamespace", "Dimensions": [{ "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" }], "Statistic": "Average", "Unit": "None" } }

有关更多信息,请参阅CustomizedMetricSpecificationAmazon A EC2 uto Scaling API 参考》。

示例 3:为仅向外扩展应用目标跟踪扩展策略

aws autoscaling put-scaling-policy --policy-name alb1000-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://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-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --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-magnitude 1

记录政策的 Amazon 资源名称 (ARN)。创建 CloudWatch 警报ARN时需要。

示例 5:为缩减应用步进扩展策略

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-in-policy \ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2

记录政策的 Amazon 资源名称 (ARN)。创建 CloudWatch 警报ARN时需要。

示例 6:为向外扩展应用简单扩展策略

aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \ --auto-scaling-group-name my-asg --scaling-adjustment 30 \ --adjustment-type PercentChangeInCapacity --min-adjustment-magnitude 2

记录政策的 Amazon 资源名称 (ARN)。创建 CloudWatch 警报ARN时需要。

示例 7:为缩减应用简单扩展策略

aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \ --auto-scaling-group-name my-asg --scaling-adjustment -1 \ --adjustment-type ChangeInCapacity --cooldown 180

记录政策的 Amazon 资源名称 (ARN)。创建 CloudWatch 警报ARN时需要。