我可以在 AWS ALB 中为前端连接配置超时吗?我不是在谈论连接级别空闲超时。我问的是事务级别超时。例如,我在负载均衡器中的某处配置 60 秒的超时,并将事务发送到 ALB,然后将其发送到适当的目标。如果在 60 秒内未收到目标的响应,则用户会从 ALB 获得预配置的响应。
这是 ALB 上的
Connection idle timeout
设置,默认为 60 秒。可以增加到4000秒。
这里是我们如何从控制台增加它。
在描述选项卡上,选择编辑属性并输入空闲超时(以秒为单位)。
我正在查看上面答案中的评论,通过入口组的每个路由可能有不同的超时。我能够实现这一目标。就我而言,我们有 Kubernetes 模板和创建 ALB 的入口。您可以在同一入口组下绑定不同的路由,因此它将位于单个 ALB 中。请参考以下代码。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: student-webapp
labels:
app: student-app
name: student-webapp
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/group.name: student-ingress-group
alb.ingress.kubernetes.io/group.order: '200'
alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=120"
spec:
rules:
- http:
paths:
- path: /practice/
pathType: Prefix
backend:
service:
name: practice-api
port:
number: 8080
---------------------------------
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: student-webapp
labels:
app: student-app
name: student-webapp
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/group.name: student-ingress-group
alb.ingress.kubernetes.io/group.order: '300'
alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=180"
spec:
rules:
- http:
paths:
- path: /study/
pathType: Prefix
backend:
service:
name: study-api
port:
number: 8080