1

概述

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

  • 我有一个 ELB(所有流量都在这里)
  • 我的 EC2 实例很少(托管我的 java + angular 应用程序)。这是在链接到 ELB 的 Autoscaling 组下。
  • 我在 RDS 中有一个 MySQL 集群,EC2 与之通信。

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

问题

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

我想让我的客户使用

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

我需要的

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

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

  • 你们这里的任何帅哥的任何实践经验或案例研究

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

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

4

1 回答 1

2

只需在每个租户域中创建一个 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 记录。

于 2019-04-15T06:41:45.317 回答