本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理保留的实例
监控和控制已进入保留状态的 Amazon EC2 实例。使用 CloudWatch 指标来跟踪保留的实例,然后在完成自定义操作后手动终止保留的实例。
保留的实例不计入您的 Amazon EC2 Auto Scaling 组的所需容量。当实例进入保留状态时,Auto Scaling 会启动替换实例以保持所需的容量。例如,假设您的 Auto Scaling 组的所需容量为 10。当实例进入Terminating:Retained状态时,Auto Scaling 会启动一个替换实例以保持所需的容量 10。现在,您总共有 11 个正在运行的实例:您的活动组中有 10 个实例,再加上 1 个保留的实例。在您手动终止保留的实例之前,将对所有 11 个实例收取标准 Amazon EC2 费用。
保留实例的实例生命周期状态
了解在使用实例生命周期策略时,实例是如何通过生命周期状态过渡的。实例遵循从正常终止到保留再到最终终止的特定路径。
触发保留后,实例会进入以下状态:
Terminating-正常终止开始Terminating:Wait-生命周期挂钩执行Terminating:Proceed-生命周期操作总结(无论成功还是失败)Terminating:Retained-挂钩失败,实例保留以供手动干预
根据场景,温池实例采用不同的生命周期状态路径:
向温池缩减的实例:
Warmed:Pending-正常的温池过渡开始Warmed:Pending:Wait-生命周期挂钩执行Warmed:Pending:Proceed-生命周期操作总结(无论成功还是失败)Warmed:Pending:Retained-挂钩失败,实例保留以供手动干预
正在从温池中终止的实例:
Warmed:Terminating-正常终止开始Warmed:Terminating:Wait-生命周期挂钩执行Warmed:Terminating:Proceed-生命周期操作总结(无论成功还是失败)Warmed:Terminating:Retained-挂钩失败,实例保留以供手动干预
监控保留的实例
由于保留的 Amazon EC2 实例会产生成本并需要手动干预,因此必须对其进行监控。Amazon EC2 Auto Scaling 提供了多种 CloudWatch 指标来跟踪保留的实例。
启用群组指标以跟踪保留的实例:
aws autoscaling enable-metrics-collection \ --auto-scaling-group-namemy-asg\ --metricsGroupTerminatingRetainedInstances
可用指标有:
-
GroupTerminatingRetainedInstances显示处于该Terminating:Retained状态的实例数量。 -
GroupTerminatingRetainedCapacity显示Terminating:Retained状态下的实例所代表的容量单位。 -
WarmPoolTerminatingRetainedCapacity跟踪从温池中终止的保留实例。 -
WarmPoolPendingRetainedCapacity跟踪返回到温池的保留实例。
您还可以查看您的 Amazon EC2 Auto Scaling 组的扩展活动,以了解保留实例的原因。查找带有StatusCode: Cancelled指示生命周期挂钩失败的状态原因消息的终止活动:
aws autoscaling describe-scaling-activities \ --auto-scaling-group-namemy-asg
我们建议根据这些指标创建 CloudWatch 警报,以便在实例进入保留状态时提醒您。这可以帮助您跟踪成本影响,并确保您不会忘记清理需要手动干预的实例。
终止保留的实例
完成自定义操作后,通过调用 TerminateInstanceInAutoScalingGroupAPI 终止您保留的实例:
aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-idi-1234567890abcdef0\ --no-should-decrement-desired-capacity