我的 Amazon EC2 Auto Scaling 组无法正确扩展。
解决方案
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
您的 Amazon EC2 Auto Scaling 组不遵循扩缩策略
检查扩缩策略,看看一个事件是否调用了多个策略。如果两个策略同时扩展,则 Amazon EC2 Auto Scaling 遵循效果更大的策略。例如,您有一个策略用于添加两个 Amazon Elastic Compute Cloud (Amazon EC2) 实例,另一个策略用于添加四个实例。在这种情况下,当两个策略同时扩展时,EC2 Auto Scaling 会添加四个实例。
如果有多个目标跟踪扩缩策略,则只有其中一个策略会横向扩展。但是,所有目标跟踪扩缩策略都必须准备好同时横向缩减,才能让 Amazon EC2 Auto Scaling 执行横向缩减操作。
您的 Amazon EC2 Auto Scaling 组正在横向扩展,而不是横向缩减
检查您的横向扩展策略和横向缩减策略是否同时生效。当两个策略同时生效时,Amazon EC2 Auto Scaling 会遵循横向扩展策略来确认可用性。
要检查横向扩展和横向缩减策略是否同时生效,请执行以下操作:
您的 Amazon EC2 Auto Scaling 组不响应您的 CloudWatch 警报或运行状况检查替代
要确定您的组为何不响应您的 CloudWatch 警报或运行状况检查替代,请执行以下操作:
- 检查您的组是否已达到其最小或最大实例数。要查找实例容量,请在 Amazon EC2 控制台上查看您的组的详细信息。当您的组达到容量时,Amazon EC2 Auto Scaling 不会在该组的活动历史记录中显示错误消息。
- 检查您的组已暂停的进程。Amazon EC2 Auto Scaling 不会评估已暂停的 Terminate、Launch 或 AlarmNotification 进程的 CloudWatch 扩缩策略。Amazon EC2 Auto Scaling 不会评估已暂停的 ReplaceUnhealthy 或 HealthCheck 进程的运行状况检查替代。
- 检查您是否在组中的任何实例中开启了缩容保护。当您为实例开启缩容保护时,Amazon EC2 Auto Scaling 不会使用实例缩减您的组。必须关闭缩容保护才能让组缩减。
- 如果设置了简单的扩缩策略,请检查实例是否处于冷却时间。简单的扩缩策略仅在冷却时间结束后启动活动。
- 如果您的目标跟踪扩缩策略不缩减组,请检查策略中的缩容部分是否已停用。
- 检查您是否停用了扩缩策略。当您关闭扩缩策略时,该组不会更改。
- 检查您是否为步进扩缩策略配置了步进调整以便针对警报超出阈值的程度做出响应。
- 如果您设置了步进扩缩策略或目标跟踪扩缩策略,请检查是否有正在进行的实例预热。只有在预热时间结束后,Amazon EC2 Auto Scaling 才会将实例计入组指标。
- 确认您的 CloudWatch 警报正确地调用扩缩活动。
- 如果您配置了生命周期挂钩,则要么完成生命周期挂钩,要么等待超时时间结束。
在扩缩活动期间,您的实例卡滞在 Pending:Wait 或 Terminating:Wait 状态
如果为您的组配置了生命周期挂钩,则实例可能处于 Pending:Wait 或 Terminating:Wait 状态。由于简单的扩缩策略而启动的扩缩活动将暂停,直到该实例退出 Pending:Wait 或 Terminating:Wait 状态。
要确定您是否配置了生命周期挂钩,请运行 describe-lifecycle-hooks 命令:
aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name my-asg-name
要继续扩缩过程,请等待超时时间结束。然后,完成生命周期挂钩。
**注意:**默认情况下,超时时间为 1 小时。
有关 Amazon EC2 控制台中的生命周期挂钩管理的信息,请参阅 Amazon EC2 Auto Scaling lifecycle hooks。
您的 Amazon EC2 Auto Scaling 组不响应计划操作
如果您的组不响应计划的扩缩操作,请执行以下操作:
- 检查您是否为计划操作配置了时区。如果您未设置时区,请创建计划操作。
**注意:**默认情况下,计划操作以协调世界时 (UTC) 设置。如果您设置了时区,请验证操作是否基于该时区运行。
- 在 Amazon EC2 控制台上查看您的组的活动历史记录,以确定扩缩活动是否与您的计划操作相冲突。
- 如果计划了横向扩展和横向缩减操作,请检查您是否计划了一个操作用于横向扩展,并计划了另一项操作用于横向缩减。不能使用相同的计划操作进行横向缩减和横向扩展。
您已达到您的 EC2 实例配额
如果您的组因为达到 EC2 实例配额而无法扩缩,则您会收到类似于以下内容的消息:
“正在启动新的 EC2 实例。状态原因: 您的配额允许再运行 0 个实例。您要求至少 1 个。启动 EC2 实例失败。”
要增加配额,请联系 AWS Support。有关配额的信息,请参阅 AWS 服务配额。
相关信息
Amazon EC2 Auto Scaling instance lifecycle
对 Amazon EC2 Auto Scaling 中的问题进行故障排除