

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

# 的扩展策略示例 AWS CLI
<a name="examples-scaling-policies"></a>

您可以通过 AWS 管理控制台、 AWS Command Line Interface (AWS CLI) 或为 Amazon EC2 Auto Scaling 创建扩展策略 SDKs。

以下示例显示了如何使用 AWS CLI [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)命令为 Amazon EC2 Auto Scaling 创建扩展策略。将每个 {{user input placeholder}} 替换为您自己的信息。

要开始使用编写扩展策略 AWS CLI，请参阅[目标跟踪扩展策略](as-scaling-target-tracking.md)和中的入门练习[步进和简单扩展策略](as-scaling-simple-step.md)。

**示例 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}}"
  }
}
```

有关更多信息，请参阅[PredefinedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredefinedMetricSpecification.html)《*亚马逊 EC2 Auto Scaling API 参考*》。

**注意**  
如果文件不在当前目录中，请键入文件的完整路径。有关从文件读取 AWS CLI 参数值的更多信息，请参阅 AWS Command Line Interface 用户指南中的[从文件加载 AWS CLI 参数](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html)。

**示例 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}}"
  }
}
```

有关更多信息，请参阅[CustomizedMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CustomizedMetricSpecification.html)《*亚马逊 EC2 Auto 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 Resource Name (ARN)。创建警报时需要 ARN。 CloudWatch 

**示例 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 Resource Name (ARN)。创建警报时需要 ARN。 CloudWatch 

**示例 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 Resource Name (ARN)。创建警报时需要 ARN。 CloudWatch 

**示例 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 Resource Name (ARN)。创建警报时需要 ARN。 CloudWatch 