防止单个客户过载的内容负载平衡器
Content Load Balancer that prevent single customer overload
我正在寻找一个负载均衡器,它将根据用户引导负载。
例如,我有一个 REST API 支持 3 种不同的文档类型和 10 个服务器,每个文档类型不能占用超过 5 个服务器,或者另一个选项,每个文档类型被赋予 3 个服务器每个。我不想丢失请求,而是尽可能将它们排队。
我很确定这样的负载均衡器已经存在,但我找不到 it/an 实现的名称。或者更好的是,是否有一个 AWS ELB 已经能够处理这个问题?
您可以将 Web 应用程序防火墙放在应用程序负载均衡器前面,然后使用类似这样的规则来阻止超过指定 5 分钟规则的流量。
{
"Priority": 0,
"Action": {
"Count": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": { "Fn::Sub": "${Site}-Overall-Rate-Limit" }
},
"Name": { "Fn::Sub": "${Site}-Overall-Rate-Limit" },
"Statement": {
"RateBasedStatement": {
"Limit": { "Ref": "OverallRateLimit" },
"AggregateKeyType": "IP"
}
}
}
请注意,WAF 不是免费的。您为 ACL 和规则评估付费。
此处的另一种选择是使用像 cloudfront 这样的 CDN 来卸载向用户交付的内容。 DOS 像 cloudfront 这样的 CDN 几乎是不可能的。这种方法是否适合您取决于您的内容是静态和共享的,还是动态的且对客户独有的。
阅读您的编辑后,我将为您提供另一条路径。如果您的目标是 路由 不同的流量到不同的服务器,您可以使用 ALB 侦听器规则来实现。 https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html
您必须给用户一个 header 才能将他们路由到后端的正确目标组。
您可以使用粘性会话将它们保留在特定服务器上,但这可能有其自身的含义。
我正在寻找一个负载均衡器,它将根据用户引导负载。
例如,我有一个 REST API 支持 3 种不同的文档类型和 10 个服务器,每个文档类型不能占用超过 5 个服务器,或者另一个选项,每个文档类型被赋予 3 个服务器每个。我不想丢失请求,而是尽可能将它们排队。 我很确定这样的负载均衡器已经存在,但我找不到 it/an 实现的名称。或者更好的是,是否有一个 AWS ELB 已经能够处理这个问题?
您可以将 Web 应用程序防火墙放在应用程序负载均衡器前面,然后使用类似这样的规则来阻止超过指定 5 分钟规则的流量。
{
"Priority": 0,
"Action": {
"Count": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": { "Fn::Sub": "${Site}-Overall-Rate-Limit" }
},
"Name": { "Fn::Sub": "${Site}-Overall-Rate-Limit" },
"Statement": {
"RateBasedStatement": {
"Limit": { "Ref": "OverallRateLimit" },
"AggregateKeyType": "IP"
}
}
}
请注意,WAF 不是免费的。您为 ACL 和规则评估付费。
此处的另一种选择是使用像 cloudfront 这样的 CDN 来卸载向用户交付的内容。 DOS 像 cloudfront 这样的 CDN 几乎是不可能的。这种方法是否适合您取决于您的内容是静态和共享的,还是动态的且对客户独有的。
阅读您的编辑后,我将为您提供另一条路径。如果您的目标是 路由 不同的流量到不同的服务器,您可以使用 ALB 侦听器规则来实现。 https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html
您必须给用户一个 header 才能将他们路由到后端的正确目标组。
您可以使用粘性会话将它们保留在特定服务器上,但这可能有其自身的含义。