允许在 AWS 上托管的多租户 SaaS 平台上为租户自定义域名

Allowing custom domain names for tenants on multi tenant SaaS platform hosted on AWS

概览

我正在 AWS 上构建多租户 SaaS 平台。现在的部署架构非常简单。

一切都在 VPC 中,EC2 和 RDS 在私有子网中,

问题

我希望我的客户(租户)拥有自己的域名。例如假设现在可以在 URL http://xyz-elb.amazon.aws.com

访问我的应用程序

我想让我的客户使用

访问应用程序

我目前所做的研究: 我读到了可以完成它的反向代理,但是我没有得到任何可靠的 link。尝试阅读有关 HAProxy 的内容,但我觉得我走错了方向。

我需要的

非常感谢您阅读我的问题。并在此先感谢您对此做出的回复。

只需在每个租户域中创建一个 DNS CNAME 资源记录,指向您的应用程序 ELB DNS 名称。

我更喜欢将 ELB DNS 名称作为我的服务域的别名,然后将租户域作为它的别名。示例:

app.example.com IN CNAME my-loadbalancer-1234567890.us-west-2.elb.amazonaws.com

然后在我的租户 DNS 中:

app.tenant1.com IN CNAME app.example.com.

此别名允许您根据需要更改 ELB 端点,而无需更改所有客户端的 DNS 记录。