我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
为亚马逊云科技 GovCloud(美国)地区的公共托管区域推出 Amazon Route 53 权威 DNS 服务
我们很高兴地宣布,适用于亚马逊云科技 GovCloud(美国)公共托管区域的 Amazon Route 53 权威域名系统(DNS)服务已正式上线。您现在可以在亚马逊云科技 GovCloud(美国)中创建和管理公共托管区域,以管理面向互联网的应用程序的 DNS,并针对亚马逊云科技 GovCloud(美国)地区的 Amazon API Gateway、Amazon Simple Storage Service(Amazon S3)、Amazon VPC 接口终端节点、Amazon Elastic Beanstalk 和 Amazon Elastic Load Balancing 等亚马逊云科技服务创建别名记录。此功能简化了运营复杂性并解决了合规性挑战,从而使客户能够满足监管要求,同时在相同的亚马逊云科技 GovCloud(美国)管理控制台中提供无缝体验。
美国政府机构和客户在亚马逊云科技 GovCloud(美国)中处理敏感数据和受控非保密信息 (CUI) 时可能需要满足合规性和监管要求。为了满足这些要求,客户使用 Route 53,它提供强大而安全的域名系统 (DNS) 基础架构,为您的关键任务应用程序管理面向互联网的 DNS。在此之前,要使用 Route 53 在亚马逊云科技 GovCloud(美国)中管理应用程序的公有 DNS,您必须为亚马逊云科技商业分区中的公有托管区域使用权威 DNS。这需要维护单独的亚马逊云科技商业账户和亚马逊云科技 GovCloud(美国)账户。默认情况下,来自一个分区的 Amazon Identity and Access Management (IAM) 证书不能用于访问另一个分区中的资源。因此,您需要为每个分区创建和管理单独的 IAM 证书集(用户、角色、访问密钥等)。这需要在不同的控制台之间切换来管理每个分区中的 Route 53 配置和资源,这可能很麻烦且容易出错。这也增加了管理两个不同分区的 DNS 所需的运营工作,这带来了挑战,有可能减缓开发速度,并给管理 DNS 变更带来瓶颈。
在本文中,我们将讨论 Route 53 公共托管区域从亚马逊云科技商用分区迁移到亚马逊云科技 GovCloud(美国)分区。我们还讨论了将公共托管区域和运行状况检查迁移到亚马逊云科技 GovCloud(美国)分区的优秀实践和注意事项。
先决条件
我们假设您熟悉 Amazon Route 53 公共托管区域、DNS 记录类型、路由策略、运行状况检查、域名系统安全扩展 (DNSSEC) 签名以及用于域名注册的 DNSSEC。我们还假设您熟悉 Amazon Virtual Private Cloud (Amazon VPC)、应用程序负载均衡器 (ALB) 和网络负载均衡器 (NLB) 等服务。
基准场景
在许多组织中,DNS 管理分散在中央网络团队和应用程序团队之间,以平衡治理和灵活性。如果您让每个应用程序团队管理自己的子公共托管区域,例如 service1.example.com、service2.example.com,而上级公共托管区域 example.com 由中央团队管理,则将托管区域从商业托管区域迁移到亚马逊云科技 GovCloud(美国)需要进一步的协调,以确保正确的 DNS 委托、最短的停机时间和准确的 DNS 解析。你可以在文章《Amazon Route 53 的 DNS 优秀实践》中阅读有关优秀实践的更多信息。我们建议先迁移子区域,然后再将父区域迁移到亚马逊云科技 GovCloud(美国)的 Route 53 公共托管区域,以确保更顺畅地过渡。在我们深入了解迁移步骤之前,下一节将探讨准备阶段。
准备阶段
将公共托管区域从商业账户迁移到亚马逊云科技 GovCloud(美国)账户需要精心准备。此准备阶段为迁移子区域和父区域创建了蓝图。遵循这些步骤可以为整个 DNS 基础设施建立可重复的迁移流程。您可以使用在亚马逊云科技 GovCloud(美国)商业分区中配置的现有运行状况检查。如果您不打算使用相同的运行状况检查,则必须在亚马逊云科技 GovCloud(美国)分区中重新创建现有的运行状况检查。有关子托管区域和父托管区域常见的详细准备步骤,请参阅 Route 53 迁移中的亚马逊云科技文档。
在尝试任何 DNS 迁移之前,请先使用测试域验证流程。DNS 更改可能会影响应用程序的可用性,因此使用非生产域进行测试有助于确保生产工作负载的平稳过渡。
从商业分区迁移到亚马逊云科技 GovCloud(美国)中的 Route 53 公共托管区域
在本节中,我们将逐步迁移通过 Route 53 域名注册的 example.com 父区域和商业账户内的 service.example.com 子区域。父公共托管区域 example.com 还包含用于为子区域委托子域名的 NS 记录。每个父区域和子区域都启用了 DNSSEC,以确保对 DNS 进行数据源身份验证和数据完整性验证。
在我们的示例中,商业账户中的子区域 service.example.com 包含三条记录:
- 指向 Web 服务器的 A 记录。
- 指向亚马逊云科技 GovCloud West 中 ALB 的主 CNAME 记录,该记录配置了故障转移路由策略。主要记录与商业账户中创建的健康检查相关联。
- 指向亚马逊云科技 GovCloud East 中的 ALB 的次要 CNAME 记录。
图 1 显示了 service.example.com 子公共托管区域中的记录列表。
图 1:商业账户中 service.example.com 公共托管区域中的记录
商业账户中的父区域 example.com 包含五条记录:
- 指向 service.example.com 子区域进行子域名委托的 NS 记录。
- service.example.com 区域的 DS 记录。
- 别名 A 指向 NLB 的记录。
- 别名指向 NLB 的 AAAA 记录。
- 标识有关该域的基本 DNS 信息的 SOA 记录。
图 2 显示了 example.com 父公共托管区域中的记录列表。
图 2:商业账户中 example.com 上级公共托管区域中的记录
根据现有公共托管区域中不频繁或频繁的记录更改,有两种迁移策略。在这篇文章中,我们将重点介绍记录不经常更改的公共托管区域。此迁移是自愿的,您可以继续使用商业分区中的 Route 53 公共托管区域来获取亚马逊云科技 GovCloud(美国)分区中的资源。对于频繁的记录更改,我们建议在迁移期间暂停记录更改,修改您的应用程序以在新旧托管区域中发布记录更改,直到委托转移完成。如果您在迁移记录频繁更改的托管区域时需要更多指导,请联系 Amazon Support 以获得具体的迁移帮助。将公共托管区域从商业账户迁移到记录不经常更改的亚马逊云科技 GovCloud(美国)账户时,请遵循以下推荐步骤。
子公共托管区域迁移演练 service.example.com
以下六个步骤将引导您完成子公共托管区域 service.example.com 的迁移。
第 1 步:在商业账户中为子公共托管区域 service.example.com 禁用 DNSSEC
在迁移启用 DNSSEC 的域名(例如 example.com 和 service.example.com)时,执行这些步骤的顺序对于避免中断信任链至关重要。父区域域注册时的委托签名者 (DS) 记录可确保 DNSSEC 验证在子区域中正常运行。
在商用亚马逊云科技分区中禁用 service.example.com 的 DNSSEC 签名涉及两个操作:
- 从商业账户的父区域 example.com 中删除子区域 service.example.com 的 DS 记录。此步骤可防止子区域迁移到亚马逊云科技 GovCloud(美国)账户时 DNSSEC 验证失败。您必须联系父区域所有者才能删除 DS 记录。
必须留出时间让 DNS 解析器更新其缓存。该等待期通常为两天,在此期间,已删除记录的生存时间 (TTL) 到期。您可以使用 dig 命令确定记录的 TTL,如本文档中的示例所示。尝试在完整的 TTL 到期之前继续操作可能会导致互联网上不可用的 service.example.com。
- TTL 到期后,导航到商业分区中的亚马逊云科技管理控制台,禁用 service.example.com 子区域的 DNSSEC 签名(参见图 3)。
如果您在通过删除 DS 记录关闭 DNSSEC 之前禁用 DNSSEC 签名,则您的域名可能会在互联网上不可用。
图 3:禁用 service.example.com 子区域的 DNSSEC 签名
第 2 步:在亚马逊云科技 GovCloud(美国)账户中为子区域创建公有托管区域
在此步骤中,您将在亚马逊云科技 GovCloud(美国)账户中为子区域 service.example.com 创建一个新的公有托管区域(参见图 4)。创建托管区域后,记下 Route 53 与您的托管区域关联的四个域名服务器。稍后更新该域的域名注册以使用这四个域名服务器。
图 4:在亚马逊云科技 GovCloud(美国)账户中创建公有托管区域
此时,通过配置公有 DNS 查询,开始监控新创建的子公共托管区域,以记录有关公有 DNS 查询的信息。要在主机上获取 Amazon CloudWatch 指标,您必须为该地区选择亚马逊云科技 GovCloud(美国西部)。
第 3 步:迁移运行状况检查
Route 53 运行状况检查服务存在于商业分区和亚马逊云科技 GovCloud(美国)分区。两个运行状况检查分区都可以对亚马逊云科技 GovCloud(美国)中公开的终端节点进行运行状况检查。您可以使用任一分区来创建运行状况检查,但这需要仔细规划,以确定要将运行状况检查与哪些亚马逊云科技服务集成。Route 53 支持在亚马逊云科技 GovCloud(美国)分区中进行所有三种类型的运行状况检查。当您配置运行状况检查以监控亚马逊云科技 GovCloud(美国)中的终端节点时,默认情况下,Route 53 运行状况检查器同时使用亚马逊云科技 GovCloud 西部和东部区域向该终端节点发送运行状况检查请求。您无法在亚马逊云科技 GovCloud(美国)分区中选择运行状况检查器区域来监控您的终端节点。要将运行状况检查从商业账户迁移到亚马逊云科技 GovCloud(美国)账户,您可以按照以下步骤操作:
- 在亚马逊云科技 GovCloud(美国)分区中创建新的运行状况检查
- 确认可以通过亚马逊云科技 GovCloud(美国)检查器 IP 访问终端节点,因为亚马逊云科技 GovCloud(美国)分区的终端节点不同
- 验证运行状况检查是否按预期运行
- 将健康检查与记录相关联
在我们的示例中,您为 ALB 终端节点创建了运行状况检查。将此运行状况检查与下一步中的记录相关联。
第 4 步:在亚马逊云科技 GovCloud(美国)账户的新子区域中创建记录
通过为您的子区域创建新的亚马逊云科技 GovCloud(美国)托管区域,您可以使用控制台或亚马逊云科技 CLI 从商业账户为亚马逊云科技 GovCloud(美国)账户中的 service.example.com 区域创建 DNS 记录。或者,您也可以使用 Amazon CloudFormation 或亚马逊云科技云开发套件 (亚马逊云科技 CDK) 来创建这些记录。如果您之前在准备阶段以编程方式导出记录,则使用导入指令来简化传输。在我们的示例中,您在 service.example.com 区域中手动创建了一条 A 记录和两条 CNAME 记录。必须以 60 秒到 900 秒之间的低 TTL 值创建所有这些记录,因为这样可以在迁移过程中发现任何问题时快速回滚。然后,将运行状况检查 ID(亚马逊云科技 GovCloud(美国)账户中的运行状况检查 ID 不同)与主要记录的步骤 3 关联起来。图 5 显示了亚马逊云科技 GovCloud(美国)账户中这个新创建的子区域中的记录列表。
图 5:亚马逊云科技 GovCloud(美国)账户中 service.example.com 子公有托管区域中的记录
为确认您已成功在新托管区域中创建所有记录,我们建议您在新托管区域中列出记录,并将输出与旧托管区域的记录列表进行比较。您可以使用本文档中的步骤列出和比较托管区域的记录。
第 5 步:更新父区域 example.com,为新的子区域使用域名服务器
要路由 service.example.com 的互联网流量,请更新 example.com 父区域中的 NS 记录,为其指定用于委托的子域 service.example.com 的名称。对于 NS 记录值,请为步骤 2 中的 service.example.com 指定子区域中的域名服务器的名称。图 6 显示了带有子区域名称服务器的父区域中子区域的更新的 NS 记录。
图 6:使用子区域名称服务器更新父区域中子区域的 NS 记录以进行子域委托
您可以使用 CloudWatch 指标和查询日志通过新的亚马逊云科技 GovCloud(美国)域名服务器监控 DNS 解析 service.example.com 区域,使用 CloudWatch 指标和查询日志记录来跟踪性能指标,识别潜在问题并验证所有服务的稳定 DNS 运行情况。您可以通过验证新基础设施是否正确回答查询并确保所有记录类型的正确解析来实时跟踪流量转移。观察亚马逊云科技 GovCloud(美国)账户中的 service.example.com 的新托管区域开始发布 DNS 查询指标,而商业账户中旧托管区域的指标则逐渐减少。此外,您可以查看查询日志,确认您在亚马逊云科技 GovCloud(美国)账户中没有发现任何子区域的 SERVFAIL 或其他错误。
回滚
如果您检测到任何 DNS 解析或应用程序连接问题,请保持从商业账户快速恢复到 service.example.com 的原始域名服务器的能力。在您确认通过新的亚马逊云科技 GovCloud(美国)基础设施稳定运行之前,请保持商业账户中之前的公共托管区域处于活动状态。
步骤 6:迁移后任务
确认您的子区域 service.example.com 已迁移且流量正常流动后,请执行以下操作:
- 将 NS 记录的 TTL 值更改为更典型的值,例如,您在亚马逊云科技 GovCloud(美国)账户中子区域的 DNS 记录与以前一样 172800 秒(两天)。
- 确认扩展 DNS 稳定性后,当您确信不再需要旧的托管区域时,可以选择将其从商业账户中删除。有关说明,请参阅删除公共托管区域。
如果您未在商业账户中使用运行状况检查,则可以删除子区域记录的运行状况检查。
商业账户中父区域 example.com 的迁移指南
迁移 example.com 是一项影响其所有子域名的关键操作。在开始之前,我们必须确保所有子区域,例如 service.example.com,都在亚马逊云科技 GovCloud(美国)账户中运行。在继续进行 example.com 迁移之前,请按照准备步骤进行操作。
第 1 步:在商业账户中为父区域禁用 DNSSEC
当您在商业账户中禁用 example.com 的 DNSSEC 时,必须执行两个步骤:
- 在禁用 example.com 公共托管区域的 DNSSEC 之前,请先删除公钥(参见图 7)。我们建议您最多等待三天再禁用 DNSSEC 父域。这很重要,因为如果为 example.com 域启用了 DNSSEC,并且您在 Route 53 域注册商处禁用 DNSSEC,则支持 DNSSEC 的 DNS 解析器会向客户端返回 SERVFAIL 错误,并且客户端将无法访问与 example.com 关联的终端节点。
当 Route 53 收到注册机构的回复时,我们会向该域名的注册联系人发送一封电子邮件。该电子邮件要么确认公钥已从注册机构的域名中删除,要么解释了为什么无法删除该密钥。
如果您为父域名使用第三方域名注册商而不是 Route 53,请根据您的注册商提供的文档删除 DS 记录。
图 7:为 example.com 禁用 DNSSEC 签名
- 等待两天后,继续禁用 DNSSEC 签名并通过编辑 KSK 并将其状态更改为 "非活动" 来停用密钥签名密钥 (KSK)(参见图 8)。您可以使用 dig 命令确定记录的 TTL,如本文档中的示例所示。
图 8:将 KSK 状态更改为非活动
第 2 步:在亚马逊云科技 GovCloud(美国)账户中为父区域创建公有托管区域
按照步骤 2 中的相同迁移操作:在亚马逊云科技 GovCloud(美国)账户中为子区域创建公有托管区域,与子区域的概述相同,但在商业账户中为 example.com 托管区域创建公有托管区域。
第 3 步:在亚马逊云科技 GovCloud(美国)账户的新父区域中创建记录
遵循相同的步骤 4:按照子区域的概述在亚马逊云科技 GovCloud(美国)账户的新子区域中创建记录,但在 example.com 托管区域的商业账户中创建记录。在我们的示例中,您创建了指向亚马逊云科技 GovCloud(美国)区域中的 NLB 目标的别名 A 和别名 AAAA 记录,但不能在商业区域选择别名目标。图 9 显示了亚马逊云科技 GovCloud(美国)账户中新创建的 example.com 公共托管区域中的记录列表。
图 9:亚马逊云科技 GovCloud(美国)账户中 example.com 父公有托管区域中的记录
第 4 步:在您的 Route 53 注册商中更新亚马逊云科技 GovCloud(美国)域名服务器
接下来,我们更新您的域名注册商中的亚马逊云科技 GovCloud(美国)域名服务器,在我们的示例中为 Route 53。如果您的域名是在其他提供商处注册的,请访问他们的域名管理界面。在我们的示例中,导航到商业账户中的 Route 53 下的注册域名,然后选择 example.com。导航到域名服务器部分,将当前的 NS 记录替换为父区域迁移演练部分第 2 步中用于您的父公有托管区域的新四个亚马逊云科技 GovCloud(美国)域名服务器。
如果您发现任何 DNS 解析或应用程序连接问题,请保持从商业账户快速恢复到原始域名服务器(例如.com)的能力。在您确认通过新的亚马逊云科技 GovCloud(美国)基础设施稳定运行之前,请保持商业账户中之前的公共托管区域处于活动状态。
第 5 步:重新启用 DNSSEC 签名并建立信任链
将父区域 example.com 从您的商业账户迁移到亚马逊云科技 GovCloud(美国)账户后,您可以重新启用 DNSSEC 签名。
- 通过创建新的 KSK 并更新 Route 53 域中的公钥,在亚马逊云科技 GovCloud(美国)托管区域中启用 DNSSEC 签名(例如.com)。
- 配置父域后,启用 DNSSEC 签名并建立父子信任链,为 service.example.com 配置 DNSSEC,以确保完整的域层次结构安全。
我们建议您遵循最初实施 DNSSEC 时使用的相同流程。有关详细的分步说明,请参阅 Amazon Route 53 DNSSEC 文档和使用 Amazon Route 53 配置 DNSSEC 签名和验证这两篇文章。
第 6 步:测试和验证
最后,此阶段确保成功将 example.com 及其子域迁移到亚马逊云科技 GovCloud(美国),以保持服务的连续性和安全性:
- 使用来自不同地理位置的各种 DNS 解析器对 example.com 和 service.example.com 进行 DNS 解析测试。这验证了全球可访问性和正确的授权。
- 当亚马逊云科技 GovCloud(美国)中的新公共父区域全面运行后,您可以删除商业账户中的父区域。如果您已迁移到亚马逊云科技 GovCloud(美国)账户,也可以删除运行状况检查配置。
图 10:显示父区域和子区域的 DNS 性能指标的 CloudWatch 控制面板
注意事项
在亚马逊云科技 GovCloud(美国)区域使用 Route 53 时,与亚马逊云科技商业区域相比有一些重要区别,您应该注意:
- 查看亚马逊云科技 GovCloud(美国)的 Route 53 服务等级协议 (SLA),确保托管区域的预期每月正常运行时间百分比符合贵组织的要求。
- 不支持基于 IP 的路由。
- 交通流量功能不可用。
- 您用于 DNSSEC 签名的客户管理密钥必须在亚马逊云科技 GovCloud(美国西部)中。
- 用于查询日志记录的 CloudWatch Logs 日志组必须位于亚马逊云科技 GovCloud(美国西部)中。
- 目前,我们支持 API 网关、Elastic Beanstalk、应用程序负载均衡器、经典负载均衡器、网络负载均衡器、Amazon S3 网站终端节点和 VPC 终端节点的别名目标。不支持其他别名目标。
结论
在这篇文章中,我们引导您完成了将您的 Amazon Route 53 公共托管区域从商业账户迁移到亚马逊云科技 GovCloud(美国)账户的步骤。此次推出的亚马逊云科技 GovCloud(美国)地区公共托管区域的 Route 53 权威 DNS 使我们的政府和受监管行业客户能够从亚马逊云科技 GovCloud(美国)区域内的位置向您的公有托管区域提供 DNS 查询。此功能简化了运营复杂性并解决了合规性挑战,从而使客户能够满足监管要求,同时在相同的亚马逊云科技 GovCloud(美国)控制台中提供无缝体验。要立即开始,请详细了解如何将您的 Route 53 公有托管区域从商业分区迁移到亚马逊云科技 GovCloud(美国)。
作者简介
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。

