AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

您的 AWS Elastic Beanstalk 环境的 Auto Scaling 组

您的 Elastic Beanstalk 包含一个 Auto Scaling 组,该组管理您环境中的 Amazon EC2 实例。在单实例环境中,Auto Scaling 组可确保始终有一个正在运行的实例。在负载均衡的环境中,您将为组配置一系列要运行的实例,Amazon EC2 Auto Scaling 将根据负载按需添加或删除实例。

Auto Scaling 组还会为您的环境中的实例管理启动配置。您可以修改启动配置,以更改实例类型、密钥对、Amazon Elastic Block Store (Amazon EBS) 存储和只能在启动实例时配置的其他设置。

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

要通过可预测的峰值流量期间来优化环境对 Amazon EC2 实例的使用,请配置 Auto Scaling 组以更改计划中的实例计数。您可以安排每天或每周重复一次的组配置更改,或安排一次性更改,以便为可为网站带来大量流量的营销活动做好准备。

Amazon EC2 Auto Scaling 可监控其启动的每个 Amazon EC2 实例的运行状况。如果任何实例意外终止,Amazon EC2 Auto Scaling 会检测该终止情况并启动替代实例。要配置组以使用负载均衡器的运行状况检查机制,请参阅 Auto Scaling 运行状况检查设置

配置您的环境的 Auto Scaling 组

可以通过在环境管理控制台中环境的 Configuration (配置)页面上编辑 Capacity (容量),来配置 Amazon EC2 Auto Scaling 的工作方式。

在 Elastic Beanstalk 控制台中配置计划的操作

  1. 打开 Elastic Beanstalk 控制台

  2. 导航到您的环境的管理页

  3. 选择 Configuration

  4. 容量配置卡上,选择修改

  5. Auto Scaling Group (Auto Scaling 组) 部分中,配置以下设置。

    • Environment type (环境类型) – 选择 Load balanced (负载均衡)

    • Min instances (最小实例数) – 组在任何时间均应包含的最小 EC2 实例数。组从最小计数开始,当满足扩展触发条件时,则添加实例。

    • Max instances (最大实例数) – 组在任何时间均应包含的最大 EC2 实例数。

      注意

      如果您使用滚动更新,请确保最大实例计数高于滚动更新的 Minimum instances in service (使用的最小实例数) 设置

    • Availability Zones (可用区) – 选择环境实例要跨越的可用区的数量。默认情况下,Auto Scaling 组会在所有可用区中均匀启动实例。要将实例集中在少数几个区域中,请选择要使用的区域数。对于生产环境而言,至少要使用两个区域,以确保当一个可用区中断服务时您的应用程序仍然可用。

    • Placement (放置)(可选)– 选择要使用的可用区。如果您的实例需要连接至特定区域中的资源或者您购买了区域特定的预留实例,请使用此设置。如果您还设置了区域数,则至少必须选择该数量的自定义区域。

      如果您在自定义 VPC 中启动环境,则无法配置此选项。在自定义 VPC 中,您需要为分配给环境的子网选择可用区。

    • Scaling cooldown (扩展冷却时间) – 在扩展之后、在继续评估触发器之前等待实例启动或终止的时间(以秒为单位)。有关更多信息,请参阅扩展冷却时间

    
            Elastic Beanstalk Auto Scaling 配置窗口
  6. 选择 Apply

aws:autoscaling:asg 命名空间

Elastic Beanstalk 在 aws:autoscaling:asg 命名空间中提供了用于 Auto Scaling 设置的配置选项

option_settings: aws:autoscaling:asg: Availability Zones: Any Cooldown: '720' Custom Availability Zones: 'us-west-2a,us-west-2b' MaxSize: '4' MinSize: '2'