AWS Copilot 多负载均衡 Web 服务

Posted

技术标签:

【中文标题】AWS Copilot 多负载均衡 Web 服务【英文标题】:AWS Copilot multiple Load Balanced Web Service 【发布时间】:2022-01-20 13:26:46 【问题描述】:

我在副驾驶应用程序中部署了负载平衡 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 容器

【问题讨论】:

【参考方案1】:

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

添加转发到目标组之一的 HTTPS 侦听器 点击新 HTTPS 监听器上的“查看/编辑规则” 点击导航栏中的 + 按钮 点击中间的“+插入规则” 点击“+添加条件” 选择“路径”并输入其他服务的路径/api2 点击“+ 添加操作” 选择“转发到”并选择第二个目标组

如果能够从 copilot 配置中执行此操作会很好,但它现在可以工作了

【讨论】:

以上是关于AWS Copilot 多负载均衡 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS 中,如何将 Web 服务器安全组配置为仅接受来自 AWS 中的负载均衡器的流量?

40了解云计算平台的高可用架构,如 AWS 的多可用区GCP 的负载均衡器

AWS ELB - 多 VPC 负载均衡

服务器负载均衡

使用 AWS 负载均衡器的安全 Web 套接字 (wss)

AWS 负载均衡器背后的 Sidekiq Web