如何高效管理白标SaaS应用的自定义域名指向同一EC2实例?
针对SaaS自定义域名规模化管理的AWS优化方案
核心优化方案:单ALB+SNI+主机头路由
你当前的问题核心在于每个域名单独创建HTTPS监听器的模式,既低效又受限于ALB的配额。最优方案是利用ALB的SNI(Server Name Indication)支持和主机头路由规则,实现单监听器覆盖所有自定义域名:
- 证书管理:使用AWS Certificate Manager(ACM)的多域名证书或通配符证书(若客户域名是你主域名的子域名,如
*.yoursaas.com)。对于独立客户域名,可通过ACM API自动申请证书并完成DNS验证(若客户域名托管在Route53,可自动完成;非Route53托管则需引导客户添加TXT记录),然后将所有证书绑定到同一个HTTPS监听器——ALB会通过SNI自动匹配对应域名的证书。 - 路由配置:创建单个HTTPS监听器,添加基于
Host头的路由规则,将不同域名的请求转发到对应目标组(若所有客户共享同一后端服务,也可直接转发到默认目标组,由后端通过Host头识别客户)。 - 自动化流程:通过AWS SDK(如Boto3)或基础设施即代码工具(Terraform/CloudFormation),将新增客户的流程自动化:
- 自动在Route53添加CNAME/Alias记录,将客户域名指向ALB域名
- 自动向ACM申请并验证客户域名的证书,添加到ALB监听器的证书列表
- 按需添加主机头路由规则(若需区分后端目标组)
Route53统一映射与动态配置的可行性
完全可行。所有自定义域名均可通过Route53的CNAME记录(针对非Route53托管域名)或Alias记录(针对Route53托管域名,无额外费用且支持健康检查)统一映射到ALB的域名。动态配置可通过以下方式实现:
- 当客户在你的SaaS后台提交域名后,系统自动调用Route53 API创建对应记录
- 结合上述ACM和ALB的自动化配置,实现从域名映射到证书、路由的全流程自动化,无需手动操作
多负载均衡器扩容方案的可行性
当单个ALB的配额(如监听器数量、证书数量、并发连接数等)耗尽时,新增多个LB是可行的横向扩展方案:
- 可通过Route53的加权路由或地理路由将不同客户域名分配到不同LB,实现负载分摊和配额扩容
- 建议用基础设施即代码工具批量创建和管理多个LB的配置,确保所有LB的监听器、证书、路由规则保持一致,避免配置混乱
- 注意:每个LB需独立绑定对应的ACM证书集合,可通过自动化工具同步证书配置
内容的提问来源于stack exchange,提问作者Saurabh Jain
相关产品推荐
相关产品推荐

