amazon-web-services - 如何向 AWS 负载均衡器添加逻辑以将请求转发到特定集群
问题描述
我目前正在尝试在我的 AWS LB 中添加一些逻辑,以根据传递给请求的标头之一将请求转发到不同的集群,但我只设法找到了一种重定向方法。因为对于转发,我需要使用目标组(目前已经使用)。
我正在考虑使用 lambda 函数,但我并没有真正找到一种方法以干净的方式将它放在 LB 前面。
这里应该是什么样子
service.us.domain.com
: 美国负载均衡器
service.eu.domain.com
: 欧盟负载均衡器
service.domain.com
: 美国或欧盟负载均衡器取决于标头
任何涉及其他 AWS 解决方案的解决方案也受到欢迎。
解决方案
编辑
如果您尝试根据位置(例如美国或欧盟)转发到特定的负载均衡器,我建议您查看 Route 53。
您可以使用以下任一方法:
对于这些规则中的任何一个,域名都需要相同。
原来的
只要每个服务器池都有自己的目标组,您就可以使用单个 Application Load Balancer 来执行此操作。
创建侦听器时,它将具有默认规则,请确保将其发送到默认目标组。完成此操作后,如果传入特定的标头和值,则可以向侦听器添加附加规则,这将转发给您的目标组。
有关此方法的更多信息,请参阅AWS 应用程序负载均衡器的高级请求路由帖子。
如果此功能不足以满足您的用例,另一种选择是在负载均衡器前添加 CloudFront 分配。然后添加一个Lambda@Edge函数作为源请求事件,这将根据您自己定义的逻辑动态更改源。
Lambda@Edge 示例函数页面上提供了一些示例函数。
推荐阅读
- python - 使用 python 读取 CSV 以存储在 GCP 大查询中
- laravel - [Laravel]计算表列具体范围问题
- python - 如何沿对角线替换 PyTorch 张量中的特定值?
- java - 如何在 Laravel 5 中读取 Redis 数据
- solr - Solr 8.7 configset 在使用身份验证上传时为空
- c++ - c ++更改另一个类中的对象值
- amazon-web-services - 授予对 codecommit 存储库的访问权限
- reactjs - 在反应中,如何在渲染子图像之前确定容器的宽度?
- python - 如何使行对象值进入每一列
- flutter - Flutter Searchdelegate,我想在单击搜索时添加背景颜色和应用栏颜色