不了解如何路由到同一 ec2 实例上的不同端口

Do not understand how to route to different ports on same ec2 instance

我目前有一个由我的 cloudformation 模板启动的自动缩放组。它目前有一个实例。此实例在端口 8080 上有一个应用程序 运行,在端口 5005 上有另一个应用程序 运行。我在单独的堆栈中有一个 ALB。我希望能够在浏览器中输入 ec2 实例的 IP 地址和端口号,然后打开相应的应用程序。例如,目前在浏览器中输入 xx.xxx.xxx.xxx:8080 可以毫无问题地打开第一个应用程序。我希望端口 5005 上的应用程序获得相同的结果。

正如我之前所说,我的 ALB 存在于与我的自动缩放组不同的堆栈中。在与我的自动缩放组相同的堆栈中,我有一个使用协议 HTTP 和端口 8080 的目标组。我还有一个使用端口 443 的 HTTPS 侦听器,它从具有自定义 DNS 名称的 ALB 重定向到目标组。

如何实现输入 xx.xxx.xxx.xxx:5005 以打开相应应用程序的功能?

正常的方法是:

  • 在负载均衡器中创建两个目标组:每个应用一个
  • 使用 Route 53
  • 为负载均衡器(例如 example.com)创建一个友好的 DNS 名称
  • 配置 Application Load Balancer 以根据 URL 规则重定向到适当的目标组(例如 example.com/app1/example.com/app2/
  • 配置 Auto Scaling 组 以向负载均衡器注册实例

这样,每当 Auto Scaling 组 adds/removes 个实例时,目标组就会更新。用户只需转到正常 URL,他们就会被重定向到适当端口上的实例之一。