Route 53 - APEX 记录的跨账户委托

Hen*_*nry 5 domain-name-system dns-zone amazon-web-services amazon-route53

我们正在实施具有多个环境的 AWS 无服务器堆栈。为了遵循最佳实践,我们为不同的目的创建了多个帐户。

有一个DNS帐户,它应该包含与此项目相关的所有托管区域。它有一个托管区域用于example.org.

我们有多个环境和每个环境对应的帐户。现在我将专注于devprod

这是主机配置的样子:

发展

  • app.dev.example.org(开发帐户中的 CloudFront 分发)
  • login.dev.example.org(开发帐户中 Cognito 托管 UI 的 CloudFront 分发)
  • api.dev.example.org(开发账户中的 API 网关)
  • cdn.dev.example.org(开发帐户中的 CloudFront 分发)

生产

  • example.org(产品帐户中的 CloudFront 分发)
  • login.example.org(Prod 帐户中 Cognito 托管 UI 的 CloudFront 分发)
  • api.example.org(prod 帐户中的 API 网关)
  • cdn.example.org(生产帐户中的 CloudFront 分发)

dev是直截了当的。子站点的设置NS记录dev.example.org使用NS服务器托管,从区dev.example.org开发帐号,它的完成。

prod很棘手,因为我们想使用example.org. 此外,login.example.orgapi.example.orgcdn.example.org没有一个共同的子域。

寻找可能的解决方案,我想出了以下选项:

  1. example.org改为为生产帐户创建托管区域。从那里将子域委派给其他帐户(即dev)。
  2. (不确定):创建一个可重用的委托集。这样可以创建两个托管区域(如果我理解正确的话),一个在DNS帐户中,一个在prod帐户中。他们将共享相同的名称服务器。我不知道这是否适用于跨账户,并且尚未对其进行测试。
  3. (不确定):在prod 中为每个login.example.orgapi.example.orgcdn.example.org. 这将允许从prod帐户内设置子域 APEX 记录。这不是 .apex 记录的解决方案example.org。此外,它还有 3 个额外的托管区域(仅用于完成解决方法)。

我想看看我是否错过了这里的任何基本内容和/或是否有人有类似的情况和替代/更好的解决方案。那个用例不应该太奇特了吧?

MLu*_*MLu 0

选择 1 - 这是最简单的。

或者 4 - 使用跨账户访问将记录从“prod”账户插入到“dns”账户的区域中。

另请注意,别名记录可以指向其他帐户中的资源,但它们不必位于同一个帐户中。

希望有帮助:)