AWS Copilot 多个负载均衡 Web 服务

AWS Copilot multiple Load Balanced Web Service

我已经在 copilot 应用程序中部署了负载平衡 Web 服务。部署后,我添加了一个新的 HTTPS / 443 侦听器,将请求转发到部署了 ECS 容器的目标组:

name: api1
type: Load Balanced Web Service

http:
  path: 'api1'

当我转到 https://my-domain.com/api1 时,请求转到我的 ECS 容器,一切正常。

现在我想添加第二个负载平衡 Web 服务:

name: api2
type: Load Balanced Web Service

http:
  path: 'api2'

当我部署它时,它被创建到另一个目标组中,当我这样做时 https://my-domain.com/api2 请求转到第一个容器 (api1)。我尝试将第二个目标组添加到 Https 侦听器的“转发到”规则中,但随后请求在两者之间随机重定向,大多数时候我都会收到 503 错误。

在同一个应用程序中部署 2 个负载平衡 Web 服务的正确方法是什么?我只想拥有 https://my-domain.com/api1 => api1 容器 https://my-domain.com/api2 => api2 容器

所以我终于找到了解决方案,我不得不在负载均衡器上做:

  • 添加转发到目标组之一的 HTTPS 侦听器
  • 在新的 HTTPS 侦听器上单击“View/edits 规则”
  • 点击导航栏中的 + 按钮
  • 点击中间的“+插入规则”
  • 点击“+ 添加条件”
  • select“路径”并输入其他服务的路径/api2
  • 点击“+ 添加操作”
  • select“转发给”和select第二个目标组

能够从副驾驶配置执行此操作会很好,但现在可以使用了