【问题标题】:Do not understand how to route to different ports on same ec2 instance不明白如何路由到同一个 ec2 实例上的不同端口
【发布时间】:2019-08-18 06:40:51
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么要用户输入特定的 IP 地址?如果实例失败并被替换,这将不起作用,如果 Auto Scaling 组中启动了多个实例,它也不起作用。
  • 我的负载均衡器确实有一个不错的 DNS 名称,这样用户就不必输入 IP。我只是在尝试先让 IP 方法正常工作,然后再尝试获取它,以便他们输入漂亮的 DNS 名称,后跟端口或特定地址以获取指定的应用程序。

标签: amazon-web-services amazon-ec2 amazon-cloudformation amazon-elb aws-load-balancer


【解决方案1】:

正常的方法是:

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

这样,每当 Auto Scaling 组添加/删除实例时,目标组都会更新。用户只需转到正常的 URL,他们就会被重定向到相应端口上的实例之一。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 2021-07-29
相关资源
最近更新 更多