问题描述
我很难理解这个场景的命名法:
假设我在 ALB 目标组中有一个 Web 服务器,即服务器 A,用户访问该服务器。
我想将该服务器脱机,并将其替换为服务器 B,而不会对现有用户会话造成过多干扰。
因此,我计划将服务器 B 添加到目标组,并希望将所有新会话路由到服务器 B。所有现有会话(并且没有新会话)将继续访问服务器 A。然后我可以决定合适的时间删除服务器 A,一旦旧用户在服务器 A 上的活动变慢或停止。
似乎没有将注销用于此目的。我没有看到仅引用新会话的粘性会话设置。
对于这种情况,最好的方法是什么?
解决方法
所有会话都必须具有粘性,而不仅仅是新会话。在您的描述中,旧会话“卡住”到旧服务器,而新会话“卡住”到新服务器。您可以通过 ALB 设置获得的最接近的是启用粘性会话,并设置适当的 Deregistration Delay 设置。
要更好地控制此切换,您需要使用除 ALB 之外的其他 AWS 服务,例如 AWS Global Accelerator。