是否需要最新的AWSALB cookie?(AWS ELB应用程序负载均衡器)

mgd*_*mgd 17 amazon-web-services sticky-session elastic-load-balancer

意见

使用Amazon ELB Application Load Balancer并使用Sticky Sessions时,负载均衡器会插入AWSALB第一个请求中指定的cookie .要让下一个请求粘贴到同一目标节点(EC2实例),cookie应该包含在该请求中.这样做时,负载均衡器似乎在对第二个请求的响应中插入了不同的cookie值.在第3个请求中包含此新cookie值时,我们会在响应中获得新的cookie值.等等...

(这与Sticky Sessions如何与Classic Load Balancer一起使用,其中cookie被命名AWSELB并保留其值,直到被客户端或负载均衡器丢弃.)

AWSALBcookie一直在改变值的原因似乎是(正如文档所述):

cookie的名称是AWSALB.这些cookie的内容使用旋转密钥加密.您无法解密或修改负载均衡器生成的cookie.

因此,即使cookie的内容可能相同,我们也无法分辨.

问题是对负载均衡器的请求是否必须始终包含最近收到的AWSALBcookie 值,或者是否可以发送一些先前收到的值(当然,来自同一个粘性会话).

如果这是一项要求,AWS ELB应用程序负载均衡器将无法为执行多个并行请求的客户端(在收到第一个AWSALBcookie之后)提供服务,而只能为以连续方式(一次一个)执行所有请求的客户端提供服务.

任何人都可以对此有所了解吗?

mgd*_*mgd 18

在等待回复之后,我向亚马逊提出了一个支持案例,得到了这样的答复:

我知道您想确认是否需要为每个请求提供最新的粘性cookie.

你是正确的,注意到CLB和ALB之间的行为是不同的.由于应用程序负载均衡器的不同功能将流量定向到多个目标组,每个目标组都有自己的粘性,ALB会加密引导流量所需的信息,并为每个请求提供新的cookie.这可确保始终正确遵守不同组的不同时间.

客户端始终可以获取最新的cookie,因为内部信息将确保正确路由到同一目标.如果您想重用单个cookie,ALB也会尊重它,并根据cookie中的粘性正确路由流量.我不建议使用相同的cookie超过60秒的时间.这是为了确保在目标变得不可用的情况下,您可以获得新的cookie,其中包含新的粘性信息,可以将您引导至新目标.