我的 Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling 组无法正确扩展。如何解决此问题?
解决方法
根据您的扩展问题,对 Amazon EC2 Auto Scaling 配置执行以下检查:
我的 Amazon EC2 Auto Scaling 组未遵循我配置的扩展策略
检查扩展策略,查看是否存在一个事件触发多个策略的情况。如果同时评估两个策略,Amazon EC2 Auto Scaling 将遵循具有更大影响的策略。例如,假设您有一个添加两个实例的策略和另一个添加四个实例的策略。在这种情况下,当两个策略同时触发时,Amazon EC2 Auto Scaling 会添加四个实例。
我的 Amazon EC2 Auto Scaling 组正在扩展而不是缩减
验证是否会同时触发扩展策略和缩减策略。如果同时触发扩展策略和缩减策略,Amazon EC2 Auto Scaling 会遵循扩展策略以确认可用性。
要验证是否同时触发扩展策略和缩减策略,请执行以下操作:
我的 Amazon EC2 Auto Scaling 组未响应 CloudWatch 警报或运行状况检查替换
- 检查您的 Auto Scaling 组是否已达到其最小实例数或最大实例数。要查找指定的最小容量或最大容量,请使用 Amazon EC2 控制台查看您的 Amazon EC2 Auto Scaling 组的详细信息。在扩展因最小容量或最大容量而被阻止时,Amazon EC2 Auto Scaling 不会在组的活动历史记录中显示错误消息。
- 检查您的 Auto Scaling 组的暂停的进程。如果暂停 Terminate、Launch 或 Alarm Notification 进程,Amazon EC2 Auto Scaling 将无法评估 CloudWatch 扩展策略。如果暂停 ReplaceUnhealthy 或 HealthCheck 进程,Amazon EC2 Auto Scaling 将无法评估运行状况检查替换。
- 如果您使用的是简单的扩展策略,请检查您的实例是否处于冷却时间。在冷却时间之前,简单的扩展策略都将暂停。
- 如果您使用的是步进扩展策略或目标跟踪策略,请检查正在进行的实例预热。如果您指定了预热时间,则在预热后,实例才会计入 Auto Scaling 组的指标。
- 检查 CloudWatch 警报以确保其正确地触发扩展活动。有关更多信息,请参阅如何确保 Amazon CloudWatch 警报触发我的 Auto Scaling 组扩展?
- 检查是否存在为您的 Amazon EC2 Auto Scaling 组配置的生命周期挂钩。如果存在某个生命周期挂钩,您可能需要完成此生命周期挂钩或等待该超时周期结束。有关更多信息,请参阅以下部分“在扩展活动期间,我的实例陷入‘Pending:Wait’或‘Terminating:Wait’状态”。
在扩展活动期间,我的实例陷入“Pending:Wait”或“Terminating:Wait”状态
如果您为 Amazon EC2 Auto Scaling 组配置了生命周期挂钩,则实例可能暂停于“Pending:Wait”或“Terminating:Wait”状态。除步进扩展策略以外,其他扩展活动都将暂停,直到实例退出“Pending:Wait”或“Terminating:Wait”状态。
要确定是否配置了生命周期挂钩,请运行以下 AWS 命令行界面 (AWS CLI) 命令:
aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name my-asg-name
**注意:**如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI。
要继续执行扩展过程,等待超时周期结束(默认为 1 小时),也可以完成生命周期挂钩。
有关从 Amazon EC2 控制台管理生命周期挂钩的信息,请参阅 Amazon EC2 Auto Scaling 生命周期挂钩。
我的 Amazon EC2 Auto Scaling 组未响应计划的操作
- 检查您为计划操作配置的时区。您必须采用协调世界时 (UTC) 计划操作。
- 从 Amazon EC2 控制台查看您的 Amazon EC2 Auto Scaling 组的活动历史记录。 验证是否存在任何扩展活动与您的计划操作冲突。
- 如果您正在计划扩展和缩减操作,请检查是否已计划一个用于扩展的操作和另一个用于缩减的操作。您无法使用同一计划操作同时进行缩减和扩展。
我用完了我的 Amazon EC2 实例配额
如果您的 Amazon EC2 Auto Scaling 组因 EC2 实例配额不足而未扩展,您将收到与以下内容类似的消息:
Launching a new EC2 instance. Status Reason: Your quota allows for 0 more running instance(s).
You requested at least 1. Launching EC2 instance failed.
要提高配额,请联系 AWS Support。有关更多信息,请参阅 AWS 服务配额。
相关信息
Auto Scaling 生命周期
Amazon EC2 Auto Scaling 问题排查