我们可以在 Route 53 AWS DNS 服务中创建多少个子域?

How many subdomains we can create in Route 53 AWS DNS service?

在我的应用程序中,我为每个帐户提供了一个子域(如 user.domain.com)。因此,我计划使用 AWS Route 53 将子域路由到我的应用程序。 Amazon Route 53 中的子域是否有最大限制。 提前致谢!

列出了 Route53 限制和配额 here

限制不是直接表示在子域的数量上,而是在记录和托管区域的数量等方面。

因此,每个托管区域有 10,000 条记录,但可以增加。此外,每个帐户可以有 500 个托管区域

I'm giving a subdomain (like user.domain.com) to each account

你应该修改你的应用程序设计如果你的用户达到百万?如果您将来想迁移您的 DNS,子域最大限制因服务提供商而异。

所以概括解决方案云就像所有子域都将指向一个 单个端点(负载均衡器) 并且您的核心后端将检查 DNS 然后加载自定义响应库在域上,通常是登录页面,您可以针对域名保存自定义徽标等,并基于域加载这些资源。

高层架构

大型云服务提供商也是如此,例如 slack,它为每个用户提供子域,但我们认为 slack 是否为每个用户管理 route53 记录?

how-slack-works

或者您可以简单地nslookup,对于千个域您将获得相同的后端 IP。

slacker:~$ nslookup acmeinc.slack.com
Name:   acmeinc.slack.com
Address: 13.228.49.204

slacker:~$ nslookup www.slack.com
Name:   www.slack.com
Address: 13.228.49.204

这可能相关或不相关,具体取决于您的用例,但如果您预计会有大量用户并希望为每个用户分配一个自定义子域,那么 10,000 的限制可能对您来说不够。

您的另一个选择是创建一个带有通配符子域的 CNAME 记录,例如 *.domain.com,并将该记录指向您的应用程序,AWS Route 53 现在支持此功能并将支持所有可能的子域。

缺点是未注册的子域也将定向到您的应用程序(如 random-str.domain.com),因此您需要在 Route 53 之外进行验证。也许调用 API 从您的前端应用程序进行验证