我需要一些关于 AWS 自动缩放、负载均衡器和健康检查的建议:
是否可以区分两种健康检查机制,一种是何时向实例发送或不发送流量(但不终止/替换它),另一种是何时终止/替换该实例。
场景:
- 我在负载均衡器后面有两个实例,我使用自动缩放。我想在其中一个实例上执行一些维护任务,所以我不希望负载均衡器向它发送任何流量。但后来我想把它重新投入使用。
- 与上面相同,负载均衡器后面的两个实例使用自动缩放。其中一个实例存在不可恢复的问题,因此我希望自动缩放终止它并替换为另一个实例。
提前感谢您的答案。
我需要一些关于 AWS 自动缩放、负载均衡器和健康检查的建议:
是否可以区分两种健康检查机制,一种是何时向实例发送或不发送流量(但不终止/替换它),另一种是何时终止/替换该实例。
场景:
提前感谢您的答案。
目前尚不清楚您使用的是 EC2 还是 ECS,以及您使用的是什么类型的 ELB,并且还取决于您正在运行的应用程序的类型。如果您想要更好的答案,请提供这些详细信息和一些关于您的应用程序堆栈的信息。
通常,当客户端请求到达 ELB 时,它会确定它在哪个实例上“路由/发送”流量(基于配置,比如说循环),当您从 ELB 中删除实例时,这并不意味着当前建立的连接是自动路由到剩余的实例。您应等待或监视已删除实例上的活动连接以获取详细信息,当您看到没有任何活动连接时执行维护(即升级后重新启动实例)。
关键因素之一是保存有关当前已建立会话的信息。如果每个实例分别持有会话,“一半的登录用户将被注销”。您需要做的是经常将会话存储在“其他地方”在 ElastiCache 或 DB/RDS 中,因此当您删除实例会话时保持连接(没有注销的用户)。如果您单独举行会话,当您从 ELB 中删除实例时,您几乎可以立即对其进行核对(但同样,这取决于您正在运行的应用程序)
AWS 文档中有非常好的信息:
ELB 是如何工作的
从自动缩放组中分离 EC2
从自动缩放组中临时删除实例
在 ELB 中注册或注销实例
ELB 健康检查