AWS Load Balancer可将流量路由到具有多个微服务的一个目标组

时间:2019-07-03 19:57:58

标签: amazon-web-services amazon-ec2 routing microservices aws-application-load-balancer

我有ALB侦听端口80上的HTTP流量,我在ALB侦听器中添加了一个目标组,该目标组由一台EC2计算机组成。我的EC2实例在不同的端口上运行多个微服务,例如。 App1在8080上运行,App2在8001上运行,App3在8004上运行,依此类推... EC2再次在端口80上侦听通过ALB的任何传入请求。我想基于路径将到EC2的传入流量路由到基于该路径的不同应用端口,例如

  

“ /用户”-> 8080上的应用程序; “ /获取/信息”-> 8001等

。有办法实现吗?还是做我正在尝试的更好的方法?现在,我已经完成了基于ip表的路由,以将流量从EC2的端口80路由到单个端口(即8080),但这仅服务于我的许多微服务之一。我如何配置它以服务所有这些人?

1 个答案:

答案 0 :(得分:2)

这正是应用程序负载平衡器的设计目标。

您可以创建多个目标组。每个目标群体都有:

  • 一个名字
  • 目标(例如端口8080上的HTTP)
  • 运行状况检查配置,以确定目标是否健康

因此,您将为正在运行的每个应用创建一个目标组

然后,您可以将Amazon EC2实例与每个目标组关联。就您而言,如果一切都在单个Amazon EC2实例上运行,则可以将同一实例与所有目标组关联

然后,创建应用程序负载平衡器(或将目标组关联到现有的应用程序负载平衡器)。

在“应用程序负载平衡器”配置中,转到“侦听器”选项卡,并添加将特定路径(例如/users)发送到特定目标组的规则。

请参阅: