我使用 DotEasy 作为我的域名 (我们称之为myapp.example.com
) 的注册商,但将应用程序的后端托管在 AWS EC2 上。我希望此应用程序后端 (它是一项 Web 服务) 具有生产 URLapi.myapp.example.com
和非生产/开发 URL api.dev.myapp.example.com
。
此外,根据 AWS 最佳实践,我为开发和生产设置了单独的 AWS 账户,因此它们彼此完全隔离。
我很乐意保留 DotEas 作为我的 DNS,但是如果可能的话,我希望 AWS Route 53 作为 DNS。最终,我也会迁移到 AWS 作为注册商。
我想知道我需要从 DotEasy 或 AWS(EC2 或者甚至在 Route53 中)内部做什么以便:
api.dev.myapp.example.com
指向我的 AWS“开发”账户中的 EC2 实例;api.myapp.example.com
指向我的 AWS“prod”账户中的 EC2 实例;- 如果可能的话,使用 Route 53 作为 DNS
您知道高级流程是什么样的吗?我猜是某物喜欢:
- 进入 AWS 开发账户 >> Route 53 并为
api.uat.myapp.example.com
域名创建 NS/SOA 记录 - 进入 DotEasy 并添加 DNS A 记录
api.uat.myapp.example.com
,这是我对创建子域名所需做的事情的理解 - 在 DotEasy 中,
api.uat.myapp.example.com
使用上面第 1 步生成的 NS/SOA 记录配置记录的 DNS - 在 AWS 开发账户的 Route 53 中添加一个流量策略,将请求映射到我的开发 EC2 实例
- 进入 AWS 生产账户 >> Route 53 并创建 NS/SOA 记录
api.myapp.example.com
- 进入 DotEasy 并添加 DNS A 记录
api.myapp.example.com
- 在 DotEasy 中
api.myapp.example.com
,使用上面第 5 步生成的 NS/SOA 记录配置记录的 DNS - 在 AWS 生产账户的 Route 53 中添加一个流量策略,将请求映射到我的生产 EC2 实例
这声音就像它应该可以工作一样,只是我不确定是否有可能(从一般网络的角度来看,甚至不是专门使用 DotEasy)myapp.example.com
使用两组不同的 NS/SOA 记录配置两个不同的 A 记录(都共享域)!
在现实生活中如何做到这一点?
答案1
您应该能够向您的注册商添加域内任何内容的 A 记录。只要配置正确,谁托管 DNS 并不重要。我假设 DotEasy 仍配置为您的名称服务器(SOA 和 NS 记录)。
您应该能够进入 DotEasy DNS 管理器并向api.dev.myapp.example.com
该框的 IP 添加一个新的 A 记录,并向api.myapp.example.com
此框的适当 IP 添加一个 A 记录。
一旦它填充到世界各地的 DNS 服务器上,您就应该能够将这两个域解析为相应的 IP。
我不完全清楚 Amazon 的 Route 53 是如何工作的,但假设它只是一个 DNS 服务器,您需要在 Route 53 中配置 SOA 和 NS 记录,并配置 DotEasy 以使 NS 记录指向 Amazon Route 53 服务器。通过这样做,您就是在告诉全世界,Amazon 的 Route 53 是您的域的授权起始点 (SOA),example.com
而 NS 服务器是该域的域基础设施的最终决定者。如果您这样做,全部DNS 条目必须在 Route 53 中转移(创建)。通过移动记录,DotEasy 将只是域名的注册商,而不是 DNS 主机。您仍然需要每年向他们付费以续订域名。