我有ALB侦听端口80上的HTTP流量,我在ALB侦听器中添加了一个目标组,该目标组由一台EC2计算机组成。我的EC2实例在不同的端口上运行多个微服务,例如。 App1在8080上运行,App2在8001上运行,App3在8004上运行,依此类推... EC2再次在端口80上侦听通过ALB的任何传入请求。我想基于路径将到EC2的传入流量路由到基于该路径的不同应用端口,例如
“ /用户”-> 8080上的应用程序; “ /获取/信息”-> 8001等
。有办法实现吗?还是做我正在尝试的更好的方法?现在,我已经完成了基于ip表的路由,以将流量从EC2的端口80路由到单个端口(即8080),但这仅服务于我的许多微服务之一。我如何配置它以服务所有这些人?
答案 0 :(得分:2)
这正是应用程序负载平衡器的设计目标。
您可以创建多个目标组。每个目标群体都有:
因此,您将为正在运行的每个应用创建一个目标组。
然后,您可以将Amazon EC2实例与每个目标组关联。就您而言,如果一切都在单个Amazon EC2实例上运行,则可以将同一实例与所有目标组关联。
然后,创建应用程序负载平衡器(或将目标组关联到现有的应用程序负载平衡器)。
在“应用程序负载平衡器”配置中,转到“侦听器”选项卡,并添加将特定路径(例如/users
)发送到特定目标组的规则。
请参阅: