AWS负载均衡器支持粘性会话,即将每个用户的请求路由到同一后端实例,以确保用户会话的连续性。这可以通过在负载均衡器上启用不同的stickiness类型来实现。其中,Forward Action Stickiness可确保在同一转发操作中的所有请求都由同一后端实例处理。
代码示例:
resource "aws_lb_target_group" "example" {
name = "example"
port = 80
protocol = "HTTP"
vpc_id = aws_vpc.example.id
stickiness {
type = "lb_cookie"
cookie_duration = 600
}
health_check {
interval = 30
timeout = 5
unhealthy_threshold = 2
healthy_threshold = 2
path = "/health"
port = "traffic-port"
protocol = "HTTP"
}
}
resource "aws_lb_listener_rule" "example" {
listener_arn = aws_lb_listener.example.arn
action {
target_group_arn = aws_lb_target_group.example.arn
stickiness {
enabled = true
type = "forward"
}
}
condition {
host_header {
values = ["example.com"]
}
}
}
以上代码示例展示了如何在AWS负载均衡器中启用前向操作粘性。在此示例中,我们首先创建了一个目标组,并在其中启用了一个类型为“lb_cookie”的粘性会话。然后,我们创建了一个侦听器规则,并将其绑定到目标组。在此规则中,我们将启用前向操作粘性,以确保在同一转发操作中的所有请求都由同一后端实例处理。最后,我们使用host_header条件指定此规则适用于哪个主机名。