本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon A EC2 uto Scaling 实例生命周期
Auto Scaling 组中的EC2实例的路径或生命周期与其他EC2实例的路径或生命周期不同。生命周期从 Auto Scaling 组启动实例并将其投入使用时开始。生命周期在您终止实例或 Auto Scaling 组禁用实例并将其终止时结束。
注意
一旦启动实例,您就需要为实例付费,包括尚未将实例投入使用的时间。
下图显示了 Amazon A EC2 uto Scaling 生命周期中实例状态之间的转换。
扩展
以下横向扩展事件指示 Auto Scaling 组启动EC2实例并将其附加到该组:
-
手动增大组的大小。有关更多信息,请参阅 更改现有自动扩缩组的所需容量。
-
您创建一个扩展策略来自动根据指定的所需增量来增大组的大小。有关更多信息,请参阅 Amazon A EC2 uto Scaling 的动态扩展。
-
您可以通过安排在某个特定时间增大组的大小来设置扩展。有关更多信息,请参阅 Amazon A EC2 uto Scaling 的计划扩展。
发生扩展事件时,Auto Scaling 组会使用其分配的启动模板启动所需数量的EC2实例。这些实例最初处于 Pending
状态。如果您向 Auto Scaling 组添加生命周期挂钩,则可在此处执行自定义操作。有关更多信息,请参阅 生命周期钩子。
当每个实例都完成配置并通过 Amazon 运行EC2状况检查后,它会附加到 Auto Scaling 组并进入InService
状态。针对 Auto Scaling 组的所需容量对实例进行计数。
如果您的 Auto Scaling 组配置为接收来自 Elastic Load Balancing 负载均衡器的流量,则 Amazon A EC2 uto Scaling 会在将您的实例标记为之前自动向该负载均衡器注册该实例InService
。
以下总结了向负载均衡器注册实例以进行横向扩展事件的步骤。
已投入使用的实例
实例将保持 InService
状态,直至出现下列情况之一:
-
发生了缩减事件,Amazon A EC2 uto Scaling 选择终止此实例以缩小 Auto Scaling 组的大小。有关更多信息,请参阅 控制在横向缩减过程中要终止的 Auto Scaling 实例。
-
将实例置于
Standby
状态。有关更多信息,请参阅 进入和退出备用状态。 -
您从 Auto Scaling 组分离实例。有关更多信息,请参阅 从您的 Auto Scaling 组中分离或附加实例。
-
实例未通过所需数目的运行状况检查,因此将从 Auto Scaling 组中删除实例、终止实例和替换实例。有关更多信息,请参阅 自动扩缩组中实例的运行状况检查。
缩小
以下缩减事件指示 Auto Scaling 组从该组中分离EC2实例并将其终止:
-
手动减小组的大小。有关更多信息,请参阅 更改现有自动扩缩组的所需容量。
-
您创建一个扩展策略,自动根据指定的所需减少量来减小组的大小。有关更多信息,请参阅 Amazon A EC2 uto Scaling 的动态扩展。
-
您可以通过安排在某个特定时间减小组的大小来设置扩展。有关更多信息,请参阅 Amazon A EC2 uto Scaling 的计划扩展。
您必须为所创建的每个横向扩展事件创建一个相应的缩减事件。这有助于确保分配给您的应用程序的资源与对这些资源的需求尽可能相符。
发生缩减事件时,Auto Scaling 组会终止一个或多个实例。Auto Scaling 组使用其终止策略来确定要终止的实例。正在从自动扩缩组中终止的实例将进入 Terminating
状态,且无法重新将其投入使用。
如果您的 Auto Scaling 组配置为接收来自弹性负载平衡负载均衡器的流量,则 Amazon A EC2 uto Scaling 会自动从负载均衡器中注销正在终止的实例。取消注册实例可确保将所有新请求重定向到负载均衡器目标组中的其他实例,同时允许与该实例的现有连接继续,直到取消注册延迟到期。
如果您向自动扩缩组添加生命周期挂钩,则可在终止中的实例上执行自定义操作。有关更多信息,请参阅 生命周期钩子。最后,实例将完全终止并进入 Terminated
状态。
以下总结了为缩减事件向负载均衡器注销实例的步骤。
分离实例
您可以从 Auto Scaling 组中分离实例。分离实例后,您可以独立于 Auto Scaling 组管理实例或者将实例附加到其他 Auto Scaling 组。
有关更多信息,请参阅 从您的 Auto Scaling 组中分离或附加实例。
附加实例
您可以将符合特定条件的正在运行的EC2实例附加到您的 Auto Scaling 组。在附加实例后,将该实例作为 Auto Scaling 组的一部分进行管理。
有关更多信息,请参阅 从您的 Auto Scaling 组中分离或附加实例。
生命周期钩子
您可以将生命周期挂钩添加到 Auto Scaling 组,以便在实例启动或终止时执行自定义操作。
当 Amazon A EC2 uto Scaling 响应扩展事件时,它会启动一个或多个实例。这些实例最初处于 Pending
状态。如果您已将一个 autoscaling:EC2_INSTANCE_LAUNCHING
生命周期挂钩添加到您的 Auto Scaling 组,则实例将从 Pending
状态转换为 Pending:Wait
状态。完成生命周期操作后,实例将进入 Pending:Proceed
状态。在完全配置实例后,实例将附加到 Auto Scaling 组并进入 InService
状态。
当 Amazon A EC2 uto Scaling 响应缩减事件时,它会终止一个或多个实例。这些实例将从 Auto Scaling 组中分离并进入 Terminating
状态。如果您已将一个 autoscaling:EC2_INSTANCE_TERMINATING
生命周期挂钩添加到您的 Auto Scaling 组,则实例将从 Terminating
状态转换为 Terminating:Wait
状态。完成生命周期操作后,实例将进入 Terminating:Proceed
状态。在完全终止实例后,实例将进入 Terminated
状态。
有关更多信息,请参阅 Amazon EC2 Auto Scaling 生命周期钩子。
进入和退出备用状态
可以将任何处于 InService
状态的实例置于 Standby
状态。这使您能够终止对实例的使用,排查实例的问题或对实例进行更改,然后重新将实例投入使用。
处于 Standby
状态的实例继续由 Auto Scaling 组管理。但是,在将这些实例重新投入使用前,它们不是您的应用程序的有效部分。
有关更多信息,请参阅 临时从 Auto Scaling 组中移除实例。