本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Auto Scaling 功能自动扩缩 Elastic Beanstalk 环境实例
本主题将介绍如何自定义 Auto Scaling 功能以管理 Elastic Beanstalk 环境的工作负载。您可以使用 Elastic Beanstalk 控制台、命名空间配置选项、Amazon CLI 或 EB CLI 为环境配置 Auto Scaling 功能。
Load-balanced 或单实例环境
您的 Amazon Elastic Beanstalk 环境包括一个 Auto Scaling 组,用于管理您的环境中的 Amazon EC2 实例。在单实例环境中,Auto Scaling 组可确保始终有一个正在运行的实例。在负载均衡的环境中,您将为组配置一系列要运行的实例,Auto Scaling 将根据负载按需添加或删除实例。
EC2 实例配置
自动扩缩组还会应用您的配置选择来预置和管理环境中的 EC2 实例。您可以修改 EC2 配置来更改实例类型、密钥对、Amazon Elastic Block Store(Amazon EBS)存储以及只能在启动实例时配置的其他设置。
On-Demand 和竞价型实例
作为一种选择,Elastic Beanstalk 可以在您的环境中加入竞价型实例,并将其与实例结合进行管理。 On-Demand您可以配置 Amazon EC2 Auto Scaling,以通过启用容量再平衡监控和自动响应影响 Spot 实例可用性的更改。您还可以配置 Auto Scaling 服务用于为环境预置竞价型实例的 竞价型分配策略。
启用竞价型实例所需的权限
启用 Spot 实例请求需要使用 Amazon EC2 启动模板。在创建或更新环境过程中配置此功能时,Elastic Beanstalk 尝试将环境配置为使用 Amazon EC2 启动模板(如果环境尚未使用启动模板)。在这种情况下,如果您的用户策略缺乏必要的权限,则创建或更新环境可能会失败。因此,我们建议您使用托管用户策略,或者将所需的权限添加到自定义策略中。有关所需权限的详细信息,请参阅启动模板要求的权限。
Auto Scaling 触发
Auto Scaling 组使用两个 Amazon CloudWatch 警报来触发扩展操作。当每个实例的平均出站网络流量在 5 分钟时间段内高于 6 MiB 或低于 2 MiB 时,默认触发器将扩展。要高效使用 Auto Scaling,请根据您的应用程序、实例类型和服务要求配置触发器。您可以根据多种统计数据进行扩展,包括延迟、磁盘 I/O、CPU 利用率和请求数。
计划的 Auto Scaling 操作
要通过可预测的峰值流量期间来优化环境对 Amazon EC2 实例的使用,请配置 Auto Scaling 组以更改计划中的实例计数。您可以安排每天或每周重复一次的组配置更改,或安排一次性更改,以便为可为网站带来大量流量的营销活动做好准备。
Auto Scaling 运行状况检查
Auto Scaling 监控它启动的每个 Amazon EC2 实例的运行状况。如果任何实例出现意外终止,Auto Scaling 会检测该终止,并启动替代实例。要配置组以使用负载均衡器的运行状况检查机制,请参阅Elastic Beanstalk 环境的 Auto Scaling 运行状况检查设置。