使用控制台终止实例时,AWS ELB 连接耗尽是否适用?
Does AWS ELB connection draining apply when terminating an instance using the console?
我正努力为我的 AWS EC2 Auto-Scaling Group
实现零停机部署。
考虑这种情况:
- 我的 ASG 中有 3 个实例。
- 我想对我的应用程序的新版本进行滚动发布。
- 所以我想生成 3 个新实例,然后终止旧实例。
- 我已经在我的
ELB
上启用了连接耗尽功能,并设置了合理的超时时间,应该可以轻松地让与任何给定实例的任何当前连接有足够的时间完成。
我的问题:
因此,如果我要终止 "old" 个实例,它们会断开连接,还是 ELB 连接耗尽仍然适用?
CLI 工具怎么样?
在此先感谢您的帮助!
如果您的应用程序依赖于连接耗尽,那么不要只是终止实例。为了让 draining 正常工作,实例需要从 ELB 中注销。 CLI、控制台或 API 在这里不会有什么不同。
由于您已经使用了自动缩放,因此您可以设置自定义终止策略 OldestInstance
,将组中所需的实例数增加到 6,等待新实例可用,然后将所需实例数减少到 3 . 自动缩放将为您删除最旧的实例。如果您需要更改启动配置,您可以类似地使用 OldestLaunchConfiguration
终止策略。
我正努力为我的 AWS EC2 Auto-Scaling Group
实现零停机部署。
考虑这种情况:
- 我的 ASG 中有 3 个实例。
- 我想对我的应用程序的新版本进行滚动发布。
- 所以我想生成 3 个新实例,然后终止旧实例。
- 我已经在我的
ELB
上启用了连接耗尽功能,并设置了合理的超时时间,应该可以轻松地让与任何给定实例的任何当前连接有足够的时间完成。
我的问题:
因此,如果我要终止 "old" 个实例,它们会断开连接,还是 ELB 连接耗尽仍然适用?
CLI 工具怎么样?
在此先感谢您的帮助!
如果您的应用程序依赖于连接耗尽,那么不要只是终止实例。为了让 draining 正常工作,实例需要从 ELB 中注销。 CLI、控制台或 API 在这里不会有什么不同。
由于您已经使用了自动缩放,因此您可以设置自定义终止策略 OldestInstance
,将组中所需的实例数增加到 6,等待新实例可用,然后将所需实例数减少到 3 . 自动缩放将为您删除最旧的实例。如果您需要更改启动配置,您可以类似地使用 OldestLaunchConfiguration
终止策略。