Auto Scaling
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Auto Scaling 生命周期

Auto Scaling 组中的 EC2 实例具有的路径或生命周期不同于其他 EC2 实例中的路径或生命周期。生命周期从 Auto Scaling 组启动实例并将其投入使用时开始。生命周期在您终止实例或 Auto Scaling 组禁用实例并将其终止时结束。

注意

一旦启动实例,您就需要为实例付费,包括尚未将实例投入使用的时间。

下图阐释了 Auto Scaling 生命周期内的实例状态之间的过渡。

 Auto Scaling 组中的实例的生命周期。

扩大

以下扩大事件指示 Auto Scaling 组启动 EC2 实例并将其附加到组:

  • 手动增大组的大小。有关更多信息,请参阅 手动扩展

  • 您创建一个扩展策略来自动根据指定的所需增量来增大组的大小。有关更多信息,请参阅 动态扩展

  • 您可以通过安排在某个特定时间增大组的大小来设置扩展。有关更多信息,请参阅 计划的扩展

在发生扩大事件时,Auto Scaling 组将使用分配的启动配置来启动所需数目的 EC2 实例。这些实例最初处于 Pending 状态。如果您向 Auto Scaling 组添加生命周期挂钩,则可在此处执行自定义操作。有关更多信息,请参阅 生命周期挂钩

在每个实例完全配置并通过 Amazon EC2 运行状况检查后,该实例将附加到 Auto Scaling 组并进入 InService 状态。针对 Auto Scaling 组的所需容量对实例进行计数。

已投入使用的实例

实例将保持 InService 状态,直至出现下列情况之一:

缩小

重要的是,您要为您创建的每个扩展事件创建一个相应的缩小事件。这有助于确保分配给您的应用程序的资源与对这些资源的需求尽可能相符。

以下缩小事件指示 Auto Scaling 组从组中分离 EC2 实例并将其终止:

  • 手动减小组的大小。

  • 您创建一个扩展策略,自动根据指定的所需减少量来减小组的大小。

  • 您可以通过安排在某个特定时间减小组的大小来设置扩展。

发生缩小事件时,Auto Scaling 组分离一个或多个实例。Auto Scaling 组使用其终止策略来确定要终止的实例。正在从 Auto Scaling 组中分离和关闭的实例将进入 Terminating 状态,且无法重新将其投入使用。如果您向 Auto Scaling 组添加生命周期挂钩,则可在此处执行自定义操作。最后,实例将完全终止并进入 Terminated 状态。

附加实例

您可以将符合特定条件的正在运行的 EC2 实例附加到您的 Auto Scaling 组。在附加实例后,将该实例作为 Auto Scaling 组的一部分进行管理。

有关更多信息,请参阅 将 EC2 实例附加到 Auto Scaling 组

分离实例

您可以从 Auto Scaling 组中分离实例。分离实例后,您可以独立于 Auto Scaling 组管理实例或者将实例附加到其他 Auto Scaling 组。

有关更多信息,请参阅 从 Auto Scaling 组中分离 EC2 实例

生命周期挂钩

您可以将生命周期挂钩添加到 Auto Scaling 组,以便在实例启动或终止时执行自定义操作。

当 Auto Scaling 响应扩大事件时,它将启动一个或多个实例。这些实例最初处于 Pending 状态。如果您已将一个 autoscaling:EC2_INSTANCE_LAUNCHING 生命周期挂钩添加到您的 Auto Scaling 组,则实例将从 Pending 状态转换为 Pending:Wait 状态。完成生命周期操作后,实例将进入 Pending:Proceed 状态。在完全配置实例后,实例将附加到 Auto Scaling 组并进入 InService 状态。

当 Auto Scaling 响应缩小事件时,它将终止一个或多个实例。这些实例将从 Auto Scaling 组中分离并进入 Terminating 状态。如果您已将一个 autoscaling:EC2_INSTANCE_TERMINATING 生命周期挂钩添加到您的 Auto Scaling 组,则实例将从 Terminating 状态转换为 Terminating:Wait 状态。完成生命周期操作后,实例将进入 Terminating:Proceed 状态。在完全终止实例后,实例将进入 Terminated 状态。

有关更多信息,请参阅 Auto Scaling 生命周期挂钩

进入和退出备用状态

可以将任何处于 InService 状态的实例置于 Standby 状态。这使您能够终止对实例的使用,排查实例的问题或对实例进行更改,然后重新将实例投入使用。

处于 Standby 状态的实例继续由 Auto Scaling 组管理。但是,在将这些实例重新投入使用前,它们不是您的应用程序的有效部分。

有关更多信息,请参阅 临时从 Auto Scaling 组中删除实例