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

时间:2019-04-14 23:03:45

标签: amazon-web-services domain-mapping

概述

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

  • 我有一个ELB(所有流量都在这里)
  • 我只有几个EC2实例(托管我的Java + angular应用程序)。该类别位于与ELB链接的“自动缩放”组下。
  • 我在RDS中有一个MySQL集群,EC2与之对话。

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

问题

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

访问

我想让我的客户使用

访问应用程序

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

我需要的

  • 关于域映射的不同方法的专家意见

  • 解决此特定问题的资源列表和链接

  • 任何酷人的任何实践经验或案例研究

  • 便宜的解决方案(我不想通过似乎不符合我需要的Amazon API Gateway / Route53策略)

非常感谢您阅读我的问题。并在此先感谢您为此做出的努力。

1 个答案:

答案 0 :(得分:1)

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

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

  

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

然后在我的租户DNS中:

  

app.tenant1.com在CNAME app.example.com中。

通过该别名,您可以根据需要更改ELB终结点,而不必更改所有客户端的DNS记录。