作者:Amit Narang, Anandprasanna Gaitonde 和 Ankush Goyal 2024年8月19日发表于 ,, 分享
在多账户环境中,Amazon Route 53 Profiles 使 DNS 配置管理变得更加简单和高效。本文介绍了如何将 DNS 环境迁移到 Route53 Profiles,并将两种常见的 DNS 设置迁移场景进行了详细探讨。
大型企业通常会有一个集中式网络团队,负责在多账户、多 VPC 环境中配置和管理基本的 DNS 设置。 提供了简化 DNS 配置管理的能力,使得多个 VPC 及 AWS 账户的管理变得更加高效。在此功能推出之前,用户需要进行关联 (PHZ) 和 Route 53
与 VPC,尤其是在跨账户的情况下。因此,客户需要使用 API 自动化构建复杂的过程,以便在组织内部对新创建的账户和 VPC 自动执行 PHZ 和 Route 53 解析器规则的关联。借助 Route 53 Profiles,客户只需管理一个对象,即可将其 DNS 配置分组,并共享至其他账户以及与 VPC 关联。
本文将介绍迁移到 Route 53 Profiles 的方案,以应对不同客户的 DNS 设置场景。
拥有多账户和多 VPC 环境的客户通常会采用两种方式来设置他们的环境。第一种方式是将所有 PHZ保持在一个集中式的网络账户中,第二种方式是每个应用程序所有者在各自的账户中管理其自己的 PHZ。这两种架构均支持在 AWS 环境内以及 AWS和本地资源之间进行 DNS 解析。接下来的部分,我们将详述这两种方法及客户如何迁移到 Route 53 Profiles。
我们从三个应用账户(App1 Dev Account、App2 Dev Account 和 App1 ProdAccount)以及一个网络账户开始,如下图所示。
这两个开发应用程序需要相互交互,以向用户提供功能。在这两种场景中,本地环境通过 AWS 或 AWS 连接到 AWS。一个域为 dc1.onprem.private 的应用程序运行在本地。本地 DNS 服务器更新为将任何针对 *.example.private 的 DNS 查询转发至 Route 53 解析器上传入端点。
![图 1:网络账户中的多账户 AWS删除)
在此设置中,网络管理员为不同的应用程序创建了 PHZ,诸如 dev.app1.example.private (PHZ-1) 和 dev.app2.example.private (PHZ-2) 用于开发应用程序,以及 prod.app1.example.private (PHZ-3) 用于生产应用程序,均位于网络账户中。PHZ-1 和 PHZ-2 分别与 App1 和 App2 Dev Account VPCs 关联,PHZ-3 则与 App1 Prod Account VPC 关联。Route 53 解析器的入站和出站端点被设置在网络账户中的 VPC 中。Route 53解析器规则同样在网络账户中设置,并通过 (AWS RAM) 共享给其他账户。成员账户的 Route 53 解析器规则与各自应用 VPC关联,以便将针对本地的查询通过出站端点发送至外部。这种方法在文章中也有提到。
![图 2:成员账户中的多账户 AWS删除)
在此设置中,网络管理员在网络账户中管理转发规则,并在网络账户的 VPC 中创建 Route 53 解析器端点。然而,每个应用团队在他们的账户中创建自己的 PHZ,并与他们自己的 VPC 及中央账户的 VPC 关联。PHZ dev.app1.example.private (PHZ-1) 在 App1 DevAccount 中创建,dev.app2.example.private (PHZ-2) 在 App2 Dev Account 中创建,而 prod.app1.example.private (PHZ-3) 则在 App1 Prod Account 中创建。为了确保 AWS账户中的应用可以解析本地应用 DNS,设置了 Route 53 解析器规则,以将与 *.dc1.onprem.private 相关的 DNS 查询转发至本地 DNS 服务器。这些规则通过 AWS RAM 与成员账户共享。
这种方法在文章中描述为。
随着新账户和 VPC 的增加,环境不断扩大,管理员需要考虑以下几点:
Route 53 Profiles 旨在简化上述架构中的复杂性。此功能为网络管理员提供了一种方法,以统一管理所有账户和 VPC 的 DNS,如文章中所描述的。Route53 Profiles 可以将 DNS 配置(例如 Route 53 PHZ 关联、Route 53 解析器转发规则和 DNS防火墙规则)分组成一个容器。管理员可以将该配置容器应用于同一 中的多个 VPC。可以通过 AWS RAM 在账户之间共享 Route 53Profiles。一旦 Profile 与 VPC 关联,它将根据 Profile 的设置响应 VPC 的 DNS 查询。如果 PHZ 与 VPC关联,并且包含该 PHZ 的 Profile 也与同一 VPC 关联,则 DNS 查询通过 PHZ的直接关联进行解析。解析器规则也适用同样的逻辑。当针对冲突的域名发起 DNS 查询时,最具体的规则优先。这在文档中有详细描述。在接下来的部分,我们将考察之前讨论的两种架构场景,并展示使用 Route 53 Profiles 的好处及迁移过程。
让我们讨论 PHZ 由网络账户而非成员账户管理的场景。PHZ 在网络账户中创建,并与每个应用账户的 VPC 关联。我们将在图 1中讨论的架构基础上进行迁移步骤。请参考 Route 53 以了解如何创建 Route 53 Profiles 并将其与 PHZ 和 VPC 关联至多账户设置中。
要开始,请按照以下步骤创建基础设置,而无需影响现有的 DNS 解析工作流:
确保 VPC 关联、PHZ 和规则与 Profile 的关联显示为完成状态,再进行下一部分。
![图 3:从网络账户迁移到 Route 53删除)
现在,让我们讨论如何迁移到 Route 53 Profiles 进行 DNS 解析。建议从一个账户开始,然后重复该过程以适应其他账户。
重复这些步骤,移除 App2 Dev Account 和 App1 Prod Account 的 VPC 中的 PHZ 和 Route 53解析器规则关联。
完成创建基础设置并实施使用案例的步骤后,架构应类似于以下图所示。
![图 4:使用 Route 53 Profiles 的多账户 DNS删除)
接下来,让我们讨论 PHZ 由每个应用账户自己管理的场景。在此,PHZ 在每个应用账户中创建,并与中央网络账户的 VPC 关联。我们从图 1中开始并进入以下部分的迁移步骤。请参考 Route 53 以了解如何创建 Route 53 Profiles 并将其与 PHZ 和 VPC 关联至多账户设置中。
要开始,请执行以下步骤以创建基础设置,而无需影响现有的 DNS 解析工作流:
确保 VPC 关联、PHZ 和与 Profile 的规则关联显示为完成状态,再进行下一部分。
![图 5:从成员账户迁移到 Route 53删除)
接下来,让我们讨论如何迁移到 Route 53 Profiles 进行 DNS 解析。建议从一个账户开始,然后重复该过程以适应其他账户。
重复这些步骤,移除 App2 Dev Account 和 App1 Prod Account 的 VPC 中的 PHZ 和 Route 53解析器规则关联。
完成创建基础设置并实施使用案例的步骤后,架构应类似于以下图所示。
![图 6:使用 Route 53 Profiles 的多账户 DNS删除)
一旦完成对 Route 53 Profiles 的迁移,DNS 配置的持续管理将更加简化。
Leave a Reply