Nil*_*ngh 2 routing amazon-ec2 amazon-web-services microservices aws-application-load-balancer
我有 ALB,它侦听端口 80 上的 HTTP 流量,我在 ALB 侦听器中添加了一个目标组,它由一台 EC2 机器组成。我的 EC2 实例在不同的端口上运行多个微服务,例如。App1 在 8080 上运行,App2 在 8001 上运行,App3 在 8004 上运行,依此类推……EC2 再次在端口 80 上侦听通过 ALB 的任何传入请求。我想根据路径为 EC2 到不同应用程序端口的传入流量执行基于路径的路由,例如,
"/users" -> 8080 上的应用程序;"/get/info" -> 8001 等
. 有没有办法实现它?或者有什么更好的方法来做我正在尝试的事情?现在我已经完成了基于 ip-tables 的路由,将流量从 EC2 的端口 80 路由到单个端口,即 8080,但这仅服务于我的众多微服务中的一个。我如何配置它来为所有这些服务?
这正是Application Load Balancer的设计目的。
您可以创建多个目标组。每个目标群体有:
因此,您将为正在运行的每个应用程序创建一个目标组。
然后,您可以将 Amazon EC2 实例与每个目标组相关联。在您的情况下,如果一切都在单个 Amazon EC2 实例上运行,您可以将同一实例与所有目标 Groups 相关联。
然后,创建Application Load Balancer(或将目标组关联到现有的 Application Load Balancer)。
在 Application Load Balancer 配置中,转到 Listeners 选项卡并添加将特定路径(例如/users)发送到特定目标组的规则。
看: