

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

# Elastic Beanstalk 环境的 Auto Scaling 触发器
<a name="environments-cfg-autoscaling-triggers"></a>

您的 Elastic Beanstalk 环境中的 Auto Scaling 组使用 CloudWatch 两个亚马逊警报来触发扩展操作。当每个实例的平均出站网络流量在 5 分钟时间段内高于 6 MB 或低于 2 MB 时，默认触发器将扩展。要有效地使用 Amazon A EC2 uto Scaling，请配置适合您的应用程序、实例类型和服务要求的触发器。您可以基于若干个统计数据 (包括延迟、磁盘 I/O、CPU 使用率和请求计数) 来进行扩展。

有关 CloudWatch 指标和警报的更多信息，请参阅[亚马逊* CloudWatch 用户指南中的亚马逊 CloudWatch *概念](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)。

## 配置 Auto Scaling 触发器
<a name="environments-cfg-autoscaling-triggers-console"></a>

您可以配置触发器，以便在 Elastic Beanstalk 控制台中调整环境的 Auto Scaling 组中的实例数。

**在 Elastic Beanstalk 控制台中配置触发器**

1. 打开 [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 AWS 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 在导航窗格中，选择 **Configuration (配置)**。

1. 在 **Capacity (容量)** 配置类别中，选择 **Edit (编辑)**。

1. 在**扩展触发**部分中，配置以下设置：
   + **Metric (指标)** – 用于 Auto Scaling 触发器的指标。
   + **Statistic (统计数据)** - 触发器应使用的统计数据计算，如 `Average`。
   + **Unit (单位)** - 触发器指标的单位，例如 **Bytes (字节)**。
   + **周期** — 指定 Amazon CloudWatch 衡量触发指标的频率。
   + **Breach duration (违例持续时间)** - 触发扩展操作前，指标可以超出上限阈值和下限阈值的时间（以分钟为单位）。
   + **Upper threshold (上限)** - 如果指标超出该违例持续时间数值，则会触发扩展操作。
   + **向上扩展增量** — 执行扩展活动时要添加的 Amazon EC2 实例数量。
   + **Lower threshold (下限)** - 如果指标小于该违例持续时间值，则会触发扩展操作。
   + **缩减增量** — 执行扩展活动时要移除的 Amazon EC2 实例数量。

1. 要保存更改，请选择页面底部的 **Apply**（应用）。

## aws:autoscaling:trigger 命名空间
<a name="environments-cfg-autoscaling-triggers-namespace"></a>

Elastic Beanstalk 为 [`aws:autoscaling:trigger`](command-options-general.md#command-options-general-autoscalingtrigger) 命名空间中的 Auto Scaling 设置提供[配置选项](command-options.md)。此命名空间中的设置按它们所适用的资源来组织。

```
option_settings:
  AWSEBAutoScalingScaleDownPolicy.aws:autoscaling:trigger:
    LowerBreachScaleIncrement: '-1'
  AWSEBAutoScalingScaleUpPolicy.aws:autoscaling:trigger:
    UpperBreachScaleIncrement: '1'
  AWSEBCloudwatchAlarmHigh.aws:autoscaling:trigger:
    UpperThreshold: '6000000'
  AWSEBCloudwatchAlarmLow.aws:autoscaling:trigger:
    BreachDuration: '5'
    EvaluationPeriods: '1'
    LowerThreshold: '2000000'
    MeasureName: NetworkOut
    Period: '5'
    Statistic: Average
    Unit: Bytes
```