You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单个ALB配置多HTTPS监听器并整合ELB优化AWS基础设施

问题2:整合多个ELB到单个ALB,保留HTTPS且无额外成本

针对你「子域名对应不同后端端口(80、8080、8081、8585)」的场景,基于主机头的ALB路由是零额外成本的最优方案(单个ALB小时费用远低于多个ELB总和),实操方案如下:

核心逻辑

用单个ALB的443端口统一接收所有HTTPS请求,通过子域名(主机头)匹配不同应用,自动转发到对应后端端口的目标组,替代原多ELB架构。

实操步骤

1. 统一SSL证书

在ACM申请包含所有业务子域名的SAN证书,例如:

  • frontend.yourdomain.com(对应原80端口应用)
  • service1.yourdomain.com(对应原8080端口应用)
  • service2.yourdomain.com(对应原8081端口应用)
  • admin.yourdomain.com(对应原8585端口应用)
    ACM会自动完成域名验证,证书免费且自动续期。

2. 分应用创建目标组

为每个后端应用创建独立目标组:

  • frontend-tg:目标类型选EC2/ECS,端口填80,绑定运行前端应用的实例/服务。
  • service1-tg:端口填8080,绑定对应服务实例。
  • service2-tg:端口填8081,绑定对应服务实例。
  • admin-tg:端口填8585,绑定对应服务实例。
    每个目标组配置匹配应用特性的健康检查路径(如/health),确保服务可用性检测准确。

3. 配置ALB HTTPS监听器规则

  • 创建单个HTTPS监听器,端口443,绑定上述ACM证书。
  • 为监听器添加以下路由规则:
    规则条件动作目标组
    主机头 = frontend.yourdomain.com转发到目标组frontend-tg
    主机头 = service1.yourdomain.com转发到目标组service1-tg
    主机头 = service2.yourdomain.com转发到目标组service2-tg
    主机头 = admin.yourdomain.com转发到目标组admin-tg
    • 默认规则:可配置为返回404或转发到默认服务(按需设置)。

4. 调整DNS解析

将所有子域名的A/CNAME记录指向ALB的DNS名称(在ALB控制台「描述」标签下获取),替换原指向各ELB的解析记录。

5. 验证与测试

  • 用浏览器或curl命令访问每个子域名,确认HTTPS正常加载,请求正确转发到对应后端服务。
  • 开启ALB访问日志(存储到S3),排查路由规则是否生效、流量是否符合预期。

最佳实践

  • 优先主机头路由:避免暴露多个HTTPS端口,减少攻击面,更符合现代架构规范。
  • 安全组严格限制:后端实例安全组仅允许ALB安全组访问对应端口,禁止外部直接访问后端端口。
  • 健康检查优化:根据应用响应速度调整健康检查的间隔、超时时间,避免误判服务不可用。
  • 日志持续监控:定期分析ALB访问日志,排查异常流量和路由问题。

内容的提问来源于stack exchange,提问作者Kodi Arasan M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:08:14