我的目标是能够通过 Route53: 为多租户应用程序添加/删除子域tenant.example.com
。帐户配置应将新租户放置在托管节点上,然后将新加入的租户子域添加到 Route53。父 DNS 当前由第 3 方 (dnsmadeeasy) 处理。目前 DNS 提供商有这样的东西:
example.com -> A -> <someIP>
example.com -> MX -> <mailhost>
mail.example.com -> CNAME -> <mailhost>
www.example.com -> CNAME -> example.com
example.com -> NS -> <several provider name servers>
我也很确定 DNS 父提供商 (dnsmadeeasy) 也有一个隐式的 SOA 记录(未在管理 UI 中显示)。所以我做了以下事情:
- 我在 Route53: 中添加了一个通配符托管区域
*.example.com
。现在有 5 条记录,4 条带有各种名称服务器的 NS 记录和一条 SOA 记录 我将 Route53 NS 记录添加到父 DNS 提供商 (dnsmadeeasy)
*.example.com -> NS -> <Route53 name server for hostzone above>
我的想法是,现在我可以开始在 Route53 区域中为每个租户添加 A 记录:
tenant1.example.com -> A -> <tenant1 hosting IP>
tenant2.example.com -> A -> <tenant1 hosting IP>
...
但是尝试在 Route53 中添加 A 记录导致tenant1.\052.example.com
这不是我想要的。而且我什至不确定它会起作用。
我的问题是这是继续前进的正确方法还是我走错了路。
为此,您需要为每个子域在 DnsMadeEasy 托管的区域上创建一个 NS 记录。此操作称为“委托子域”给外部 DNS 服务器。这是DNS Made Easy 指南。
例如,您需要父区域中的 NS 记录:
tenant1.example.com
,它指向在 Amazon Route 53 中创建托管区域时分配给您的四个namserver 地址。tenant1.example.com
在 Amazon Route 53 中创建您的托管子域:
然后确保 DNS Made Easy 对于每个子域都有这样的条目: