【问题标题】:Routing Traffic to different instance using ELB使用 ELB 将流量路由到不同的实例
【发布时间】:2018-03-10 01:15:13
【问题描述】:
我在 Site Ground 上托管了一个网站,比如说 www.test.com
我创建了一个子域 xyz.test.com 并通过负载均衡器将流量路由到后端服务器 A,该负载均衡器托管在 VPC 的私有子网中。它工作正常,因为我创建了一个侦听器,在该侦听器上将流量从 443 转发到 3000。现在我想在同一个私有子网中添加一个后端服务器 B,并希望将到达 ELB 端口 444 的流量路由到该服务器。我希望请求 xyz.test.com:444 转到服务器 B 的端口 3010。简而言之,我想将流量路由到负载均衡器后面的不同实例,但我的 URL 是相同的,只是端口不同。
我怎样才能做到这一点?
【问题讨论】:
标签:
amazon-web-services
amazon-elb
amazon-vpc
elastic-load-balancer
【解决方案1】:
您想设置一个Application Load Balancer。从文档(强调我的):
负载平衡器充当客户端的单一联系点。负载均衡器将传入的应用程序流量分配给多个可用区中的多个目标,例如 EC2 实例。这增加了应用程序的可用性。您向负载均衡器添加一个或多个侦听器。
侦听器检查来自客户端的连接请求,使用您配置的协议和端口,并根据以下规则将请求转发到一个或多个目标组:你定义。每个规则指定一个目标组、条件和优先级。当满足条件时,流量被转发到目标组。您必须为每个监听器定义一个默认规则,并且您可以添加规则,根据请求的内容指定不同的目标组(也称为基于内容的路由)。
您可能对 Classic Load Balancer 感兴趣的一些好处是:
-
支持基于路径的路由。您可以为您的配置规则
根据请求中的 URL 转发请求的侦听器。这个
使您能够将应用程序构建为较小的服务,并且
根据 URL 的内容将请求路由到正确的服务。
-
支持基于主机的路由。您可以为侦听器配置规则,根据 HTTP 中的主机字段转发请求
标题。这使您能够使用
单个负载均衡器。
-
支持将请求路由到单个 EC2 实例上的多个应用程序。您可以将每个实例或 IP 地址注册到
使用多个端口的同一目标组。
-
支持按 IP 地址注册目标,包括负载均衡器的 VPC 之外的目标。