将 Amazon Route 53 配置为 DNS 服务
将 Amazon Route 53 配置为 DNS 服务
在本章中,我们说明了如何配置 Route 53 以将互联网流量路由到正确位置。另外,我们会说明在您当前正在使用其它 DNS 服务的情况下,如何将 DNS 服务迁移到 Route 53,以及如何使用 Route 53 作为新域的 DNS 服务。
将 Amazon Route 53 作为现有域的 DNS 服务
此过程取决于您目前是否在使用该域:
- 如果该域目前正在获取流量(例如,如果您的用户正在使用该域名浏览网站或访问 Web 应用程序),请参阅 将 Route 53 作为正在使用的域的 DNS 服务。
- 如果该域没有获取任何流量 (或正在获取非常少的流量),请参阅将 Route 53 作为非活动域的 DNS 服务。
对于这两个选项,您的域都应在整个迁移过程中保持可用。但在极少的情况下,如果出现问题,第一个选项可让您快速回滚迁移。如果使用第二个选项,您的域可能在几天内不可用。
将 Route 53 作为正在使用的域的 DNS 服务
主题
步骤 1:从当前 DNS 服务提供商获取当前 DNS 配置(可选但推荐)
当您将 DNS 服务从另一个提供商迁移至 Route 53 时,您将在 Route 53 中重现当前 DNS 配置。在 Route 53 中,您创建一个与您的域同名的托管区域,并且您在该托管区域中创建记录。每条记录均指示您希望如何针对指定域名或子域名路由流量。例如,有人在 Web 浏览器中输入您的域名时,您是希望将流量路由到您数据中心中的 Web 服务器、Amazon EC2 实例、CloudFront 分配,还是其它某个位置?
您使用的过程取决于当前 DNS 配置的复杂性:
- 在当前 DNS 配置简单的情况下 — 如果您只是将几个子域的互联网流量路由到少数资源(例如,Web 服务器或 Amazon S3 存储桶),则可以在 Route 53 控制台中手动创建几条记录。
- 在当前 DNS 配置更复杂且您只希望重现当前配置的情况下 — 如果您可以从当前 DNS 服务提供商处获取区域文件并将该区域文件导入 Route 53 中,则可简化迁移过程。(并非所有 DNS 服务提供商都提供区域文件。) 在导入区域文件时,Route 53 将通过在您的托管区域中创建相应记录来自动重现现有配置。
请询问您目前的 DNS 服务提供商的客户支持,请教如何获取区域文件 或记录列表。有关所需区域文件格式的信息,请参阅通过导入区域文件来创建记录。 - 在当前 DNS 配置更复杂且您对 Route 53 路由功能感兴趣的情况下 — 查看以下文档以了解您是否需要使用其它 DNS 服务提供商未提供的 Route 53 功能。如果是这样,您可以手动创建记录,也可以导入区域文件,并稍后创建或更新记录:
如果您无法获取区域文件,或者如果您要在 Route 53 中手动创建记录,则您可能要迁移的记录包括:
- A(地址)记录 — 将域名或子域名与相应资源的 IPv4 地址(例如,192.0.2.3)关联
- AAAA(地址)记录 — 将域名或子域名与相应资源的 IPv6 地址(例如,2001:0db8:85a3:0000:0000:abcd:0001:2345)关联
- 邮件服务器 (MX) 记录 — 将流量路由到邮件服务器
- 别名记录 — 将一个域名 (example.net) 的流量重新路由到另一个域名 (example.com)
- 其它支持的 DNS 记录类型的记录 — 有关支持的记录类型的列表,请参阅 支持的 DNS 记录类型。
步骤 2:创建托管区域
为了告知 Amazon Route 53 您希望如何路由您的域的流量,您创建一个与您的域同名的托管区域,然后在该托管区域中创建记录。
您只能为您有权管理的域创建托管区域。通常,这意味着您拥有该域,但您还可以为域的注册商开发应用程序。
创建托管区域时,Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。该 NS 记录标识通过 Route 53 与您的托管区域关联的四个名称服务器。要使 Route 53 成为您的域的 DNS 服务,您需要更新该域的注册以使用这四个名称服务器。
请不要创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录,并且不要删除现有的 NS 和 SOA 记录。
创建托管区域
- 请登录 AWS Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/
。 - 如果您对 Route 53 不熟悉,请选择 DNS management(DNS 管理)项下的 Get started(入门),然后选择 Create hosted zones(创建托管区域)。
如果您已经在使用 Route 53,请在导航窗格中选择 Hosted zones(托管区域),然后选择 Create hosted zones(创建托管区域)。 - 在 Create hosted zone(创建托管区域)窗格中,输入域名,还可以选择输入注释。有关设置的详细信息,请选择打开右侧的帮助面板。
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息,请参阅DNS 域名格式。 - 对于 Type(类别),接受 Public hosted zone(公有托管区域)的默认值。
- 选择 Create Hosted Zone(创建托管区域)。
步骤 3:创建记录
创建一个托管区域后,您可在该托管区域中创建记录,这些记录定义您要将域 (example.com) 或子域 (www.example.com) 的流量路由到的位置。例如,如果您希望将 example.com 和 www.example.com 的流量路由到 Amazon EC2 实例上的 Web 服务器,则可创建两条记录,一条记录名为 example.com,另一条记录名为 www.example.com。在每条记录中,指定您的 EC2 实例的 IP 地址。
您可通过多种方式创建记录:
- 导入区域文件
如果您已在 步骤 1:从当前 DNS 服务提供商获取当前 DNS 配置(可选但推荐) 中从当前 DNS 服务获取区域文件,这将是最轻松的方式。Amazon Route 53 无法预测何时创建别名记录或使用特殊路由类型 (例如,加权或故障转移)。因此,如果您导入区域文件,Route 53 会使用简单路由策略创建标准 DNS 记录。
有关更多信息,请参阅通过导入区域文件来创建记录。
- 在控制台中单独创建记录
如果您没有获取区域文件,并且您只想创建几条具有 Simple 路由策略的记录来开始操作,则可在 Route 53 控制台中创建记录。您可以同时创建别名记录和非别名记录。
有关更多信息,请参阅以下主题:
- 以编程方式创建记录
您可以使用某个 AWS 软件开发工具包、AWS CLI 或 AWS Tools for Windows PowerShell 创建记录。有关更多信息,请参阅 AWS 文档。
如果您正在使用 AWS 未提供软件开发工具包的编程语言,您也可以使用 Route 53 API。有关更多信息,请参阅 Amazon Route 53 API 参考。
步骤 4:减小 TTL 设置
记录的 TTL(生存时间)设置指定您希望 DNS 解析程序缓存记录和使用缓存信息的时间。当 TTL 过期时,解析程序会向域的 DNS 服务提供商发送另一个查询以获取最新信息。
NS 记录的典型 TTL 设置为 172800 秒或两天。NS 记录列出了域名系统 (DNS) 可用来获取有关如何路由域流量的信息的名称服务器。通过为当前 DNS 服务提供商和 Amazon Route 53 减小 NS 记录的 TTL,可在您将 DNS 迁移至 Route 53 的过程中发现问题时缩短域的停机时间。如果您不减小 TTL,则您的域可能会在出现问题时最多两天内在 Internet 上不可用。
我们建议您针对以下 NS 记录更改 TTL:
- 当前 DNS 服务提供商的托管区域中的 NS 记录。(您的当前提供商可能使用不同的术语。)
- 您在步骤 2:创建托管区域中创建的托管区域中的 NS 记录。
减小 Route 53 托管区域中的 NS 记录的 TTL 设置
- 请登录 AWS Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/
。 - 在导航窗格中选择 Hosted Zones。
- 选择托管区域的名称。
- 选择 NS 记录,然后选择 Edit(编辑)。
- 更改 TTL (Seconds) 的值。我们建议您指定一个介于 60 秒和 900 秒 (15 分钟) 之间的值。
- 选择保存更改。
步骤 5:(如果您已配置 DNSSEC)从父区域中删除 DS 记录
如果已为域配置 DNSSEC,请在将域迁移到 Route 53 之前从父区域中删除 Delegation Signer (DS) 记录。
如果父区域通过 Route 53 或其他注册商托管,请联系他们以删除 DS 记录。
由于目前无法在两个提供程序之间启用 DNSSEC 签名,因此必须删除任何 DS 或 DNSKEY 才能停用 DNSSEC。这会临时向 DNS 解析程序发出信号,以禁用 DNSSEC 验证。在步骤 11 中,您可以在完成向 Route 53 的过渡后重新启用 DNSSEC 验证(如果需要)。
有关更多信息,请参阅删除域的公有密钥。
步骤 6:等待旧 TTL 过期
如果您的域正在使用中(例如,如果用户正在使用该域名浏览网站或访问 Web 应用程序),则 DNS 解析程序已缓存当前 DNS 服务提供商所提供的名称服务器的名称。已在几分钟前缓存该信息的 DNS 解析程序会将其保存近两天。
为了确保一次性完成 DNS 服务到 Route 53 的迁移,请在减小 TTL 后等待两天。为期两天的 TTL 过期且解析程序请求您的域的名称服务器后,解析程序将获取当前名称服务器,并且还将获取您在步骤 4:减小 TTL 设置中指定的新 TTL。
步骤 7:更新 NS 记录以使用 Route 53 名称服务器
要开始将 Amazon Route 53 用作域的 DNS 服务,请使用注册商提供的方法,或使用父区域,以将 NS 记录中的当前名称服务器替换为 Route 53 名称服务器。
当您使用当前 DNS 服务提供商更新 NS 记录以使用 Route 53 名称服务器时,您正在更新域的 DNS 配置。(这相当于更新域的某个 Route 53 托管区域中的 NS 记录,只不过您更新设置时使用的是您从中迁出的 DNS 服务。)
在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器
- 在 Route 53 控制台中,获取您的托管区域的名称服务器:
- 使用域的当前 DNS 服务所提供的方法来更新托管区域的 NS 记录。如果此域已向 Route 53 注册,请参阅 为域添加或更改名称服务器和粘附记录。此过程取决于当前 DNS 服务是否允许您删除名称服务器:
如果您可以删除名称服务器
如果您无法删除名称服务器
步骤 8:监控域的流量
监控域的流量,包括网站或应用程序流量,以及电子邮件:
- 在流量慢或停止的情况下 — 请使用上一个 DNS 服务提供的方法,将相应域对应的名称服务器改回之前的名称服务器。这些是您在在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器的步骤 7 中记下的名称服务器。然后,确定出错的位置。
- 在流量未受影响的情况下 — 继续至 步骤 9:将 NS 记录的 TTL 重新改为更高的值。
步骤 9:将 NS 记录的 TTL 重新改为更高的值
在域的 Amazon Route 53 托管区域中,将 NS 记录对应的 TTL 更改为更典型的值,例如,172800 秒 (两天)。这减少用户的延迟,因为他们不必像 DNS 解析程序一样通常需要等待为您的域的名称服务器发送查询。
更改 Route 53 托管区域中的 NS 记录的 TTL
- 请登录 AWS Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/
。 - 在导航窗格中选择 Hosted Zones。
- 选择托管区域的名称。
- 在托管区域的记录列表中,选择 NS 记录。
- 选择 Edit(编辑)。
- 将 TTL (Seconds) 更改为您希望 DNS 解析程序缓存您的域的名称服务器的名称的秒数。我们建议的值为 172800 秒。
- 选择保存更改。
步骤 10:将域注册转移到 Amazon Route 53
现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以选择将域的注册转移到 Route 53。有关更多信息,请参阅将域注册转移到 Amazon Route 53。
步骤 11:重新启用 DNSSEC 签名(如果需要)
现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以重新启用 DNSSEC 签名。
启用 DNSSEC 签名有两个步骤:
- 步骤 1:为 Route 53 启用 DNSSEC 签名,并请求 Route 53 根据客户托管密钥在 AWS Key Management Service (AWS KMS) 中创建密钥签名密钥 (KSK)。
- 步骤 2:通过向父区域添加 Delegation Signer (DS) 记录,为托管区域创建信任链,以便使用受信任的加密签名对 DNS 响应进行身份验证。
有关说明,请参阅启用 DNSSEC 签名并建立信任链。
将 Route 53 作为非活动域的 DNS 服务
主题
步骤 1:从当前 DNS 服务提供商(非活动域)获取当前 DNS 配置
当您将 DNS 服务从另一个提供商迁移至 Route 53 时,您将在 Route 53 中重现当前 DNS 配置。在 Route 53 中,您创建一个与您的域同名的托管区域,并且您在该托管区域中创建记录。每条记录均指示您希望如何针对指定域名或子域名路由流量。例如,有人在 Web 浏览器中输入您的域名时,您是希望将流量路由到您数据中心中的 Web 服务器、Amazon EC2 实例、CloudFront 分配,还是其它某个位置?
您使用的过程取决于当前 DNS 配置的复杂性:
- 在当前 DNS 配置简单的情况下 — 如果您只是将几个子域的互联网流量路由到少数资源(例如,Web 服务器或 Amazon S3 存储桶),则可以在 Route 53 控制台中手动创建几条记录。
- 在当前 DNS 配置更复杂且您只希望重现当前配置的情况下 — 如果您可以从当前 DNS 服务提供商处获取区域文件并将该区域文件导入 Route 53 中,则可简化迁移过程。(并非所有 DNS 服务提供商都提供区域文件。) 在导入区域文件时,Route 53 将通过在您的托管区域中创建相应记录来自动重现现有配置。
请询问您目前的 DNS 服务提供商的客户支持,请教如何获取区域文件 或记录列表。有关所需区域文件格式的信息,请参阅通过导入区域文件来创建记录。 - 在当前 DNS 配置更复杂且您对 Route 53 路由功能感兴趣的情况下 — 查看以下文档以了解您是否需要使用其它 DNS 服务提供商未提供的 Route 53 功能。如果是这样,您可以手动创建记录,也可以导入区域文件,并稍后创建或更新记录:
如果您无法获取区域文件,或者如果您要在 Route 53 中手动创建记录,则您可能要迁移的记录包括:
- A(地址)记录 — 将域名或子域名与相应资源的 IPv4 地址(例如,192.0.2.3)关联
- AAAA(地址)记录 — 将域名或子域名与相应资源的 IPv6 地址(例如,2001:0db8:85a3:0000:0000:abcd:0001:2345)关联
- 邮件服务器 (MX) 记录 — 将流量路由到邮件服务器
- 别名记录 — 将一个域名 (example.net) 的流量重新路由到另一个域名 (example.com)
- 其它支持的 DNS 记录类型的记录 — 有关支持的记录类型的列表,请参阅 支持的 DNS 记录类型。
步骤 2:创建托管区域(非活动域)
为了告知 Amazon Route 53 您希望如何路由您的域的流量,您创建一个与您的域同名的托管区域,然后在该托管区域中创建记录。
您只能为您有权管理的域创建托管区域。通常,这意味着您拥有该域,但您还可以为域的注册商开发应用程序。
创建托管区域时,Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。该 NS 记录标识通过 Route 53 与您的托管区域关联的四个名称服务器。要使 Route 53 成为您的域的 DNS 服务,您需要更新该域的注册以使用这四个名称服务器。
请不要创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录,并且不要删除现有的 NS 和 SOA 记录。
创建托管区域
- 请登录 AWS Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/
。 - 如果您不熟悉 Route 53,请选择入门。
如果您已经在使用 Route 53,请在导航窗格中选择 Hosted zones(托管区域)。 - 选择 Create Hosted Zone(创建托管区域)。
- 在 Create hosted zone(创建托管区域)窗格中,输入域名,还可以选择输入注释。要了解有关某项设置的更多信息,请将鼠标指针暂停在其标签上方以查看其工具提示。
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息,请参阅DNS 域名格式。 - 对于 Record Type(记录类型),接受 Public hosted zone(公有托管区域)的默认值。
- 选择 Create Hosted Zone(创建托管区域)。
步骤 3:创建记录(非活动域)
创建一个托管区域后,您可在该托管区域中创建记录,这些记录定义您要将域 (example.com) 或子域 (www.example.com) 的流量路由到的位置。例如,如果您希望将 example.com 和 www.example.com 的流量路由到 Amazon EC2 实例上的 Web 服务器,则可创建两条记录,一条记录名为 example.com,另一条记录名为 www.example.com。在每条记录中,指定您的 EC2 实例的 IP 地址。
您可通过多种方式创建记录:
- 导入区域文件
如果您已在 步骤 1:从当前 DNS 服务提供商(非活动域)获取当前 DNS 配置 中从当前 DNS 服务获取区域文件,这将是最轻松的方式。Amazon Route 53 无法预测何时创建别名记录或使用特殊路由类型 (例如,加权或故障转移)。因此,如果您导入区域文件,Route 53 会使用简单路由策略创建标准 DNS 记录。
有关更多信息,请参阅通过导入区域文件来创建记录。
- 在控制台中单独创建记录
如果您没有获取区域文件,并且您只想创建几条具有 Simple 路由策略的记录来开始操作,则可在 Route 53 控制台中创建记录。您可以同时创建别名记录和非别名记录。
有关更多信息,请参阅以下主题:
- 以编程方式创建记录
您可以使用某个 AWS 软件开发工具包、AWS CLI 或 AWS Tools for Windows PowerShell 创建记录。有关更多信息,请参阅 AWS 文档。
如果您正在使用 AWS 未提供软件开发工具包的编程语言,您也可以使用 Route 53 API。有关更多信息,请参阅 Amazon Route 53 API 参考。
步骤 4:更新域注册以使用 Amazon Route 53 名称服务器(非活动域)
创建完域的记录后,您可以将您的域的 DNS 服务更改为 Amazon Route 53。执行以下过程可更新域注册商的设置。
更新域的名称服务器
- 在 Route 53 控制台中,获取您的 Route 53 托管区域的名称服务器:
- 使用域注册商提供的方法,将域的名称服务器更改为使用您在此过程的步骤 1 中获取的四个 Route 53 名称服务器。
如果此域已向 Route 53 注册,请参阅 为域添加或更改名称服务器和粘附记录。
为新域配置 DNS 路由
在 Route 53 中注册域时,我们会自动将 Route 53 设置为该域的 DNS 服务。Route 53 会创建一个与该域同名的托管区域,将四个名称服务器分配给托管区域,并更新该域以使用这些名称服务器。
要指定希望 Route 53 如何路由该域的互联网流量,可在该托管区域中创建记录。例如,如果您希望将对 example.com 的请求路由到 Amazon EC2 实例上运行的某个 Web 服务器,可以在 example.com 托管区域中创建一条记录并指定该 EC2 实例的弹性 IP 地址。有关更多信息,请参阅以下主题:
- 有关如何在托管区域中创建记录的信息,请参阅使用记录。
- 有关如何将流量路由到所选 AWS 资源的信息,请参阅 将 Internet 流量路由到您的 AWS 资源。
- 有关 DNS 如何工作的信息,请参阅如何将 Internet 流量路由到您的网站或 Web 应用程序。
将流量路由到您的资源
- 创建一个托管区域。您可以创建公有或私有托管区域:
- 在托管区域中创建记录。记录定义您希望针对每个域名或子域名将流量路由到何处。例如,要将 www.example.com 的流量路由到数据中心的 Web 服务器,您通常会在 example.com 托管区域中创建 www.example.com 记录。
有关更多信息,请参阅以下主题:
路由子域的流量
- 在域的托管区域中创建记录
通常情况下,要路由子域的流量,应在托管区域中创建一条与域同名的记录。例如,要将 acme.example.com 的 Internet 流量路由到数据中心的 Web 服务器,应在 example.com 托管区域中创建一条名为 acme.example.com 的记录。有关更多信息,请参阅主题使用记录及其子主题。
- 为子域创建一个托管区域,并在新的托管区域中创建记录
您还可以为子域创建托管区域。使用单独的托管区域将 Internet 流量路由至子域的做法,有时称为“将子域的责任委托给托管区域”或“将子域委托给其他名称服务器”或类似用语的组合。下面概览了使用方式:
- 您可以创建一个托管区域,其名称与要路由流量的子域相同,例如 acme.example.com。
- 在新的托管区域中创建记录,以定义您要如何路由子域 (acme.example.com) 及其子域(如 backend.acme.example.com)的流量。
- 您可以获取在创建新托管区域时 Route 53 分配给新托管区域的名称服务器。
- 在域 (example.com) 的托管区域中创建新的 NS 记录,并指定您在步骤 3 中得到的四个名称服务器。
使用单独的托管区域为子域路由流量时,您可以使用 IAM 权限来限制对子域的托管区域的访问权限。(您无法使用 IAM 来控制对单个记录的访问权限。) 如果您有多个由不同组管理的子域,则为每个子域创建托管区域,可以显著减少必须对域的托管区域中的记录具有访问权限的人数。
为子域使用单独的托管区域还允许您为域和子域使用不同的 DNS 服务。有关更多信息,请参阅 使用 Amazon Route 53 作为子域的 DNS 服务,但不迁移父域。
对于每个 DNS 解析程序中第一个 DNS 查询,这种配置对性能会有小的影响。解析程序必须先从根域的托管区域获取信息,然后从子域的托管区域获取信息。在子域的第一个 DNS 查询后,解析程序会缓存信息,且不需要再次获取此信息,直到 TTL 到期和其他客户端从该解析程序请求该子域为止。有关更多信息,请参阅TTL(秒)部分中的 在您创建或编辑 Amazon Route 53 记录时指定的值。
- 您可以创建一个托管区域,其名称与要路由流量的子域相同,例如 acme.example.com。
创建另一个托管区域来路由子域的流量
一种路由子域流量的方法是为子域创建一个托管区域,然后在新的托管区域中为子域创建记录。(更常用的选项是在域的托管区域中为子域创建记录。)
虽然我们在此描述了在 Route 53 上创建和委托给子域托管区域的过程,但您也可以在其它名称服务器上创建 DNS 区域,并同样创建名称服务器 (NS) 记录,将责任委派给这些名称服务器。
过程概览:
- 为子域创建托管区域。有关更多信息,请参阅 为子域创建新的托管区域。
- 将记录添加到子域的托管区域。如果域的托管区域包含属于子域的托管区域中的任何记录,则在托管区域中为子域复制这些记录。有关更多信息,请参阅 在子域的托管区域中创建记录
- 在域的托管区域中为子域创建 NS 记录,这会将子域的责任委托给新托管区域中的名称服务器。如果域的托管区域包含属于子域的托管区域中的任何记录,则从域的托管区域中删除记录。(第 2 步中您在托管区域中为子域创建的副本。) 有关更多信息,请参阅 更新域的托管区域。
为子域创建新的托管区域
要使用 Route 53 控制台为子域创建托管区域,请执行以下步骤。
为子域创建托管区域 (控制台)
- 请登录 AWS Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/
。 - 如果您不熟悉 Route 53,请选择入门。
如果您已经在使用 Route 53,请在导航窗格中选择 Hosted zones(托管区域)。 - 选择 Create Hosted Zone(创建托管区域)。
- 在右侧窗格中,输入子域的名称,如 acme.example.com。您也可以根据需要输入注释。
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息,请参阅DNS 域名格式。 - 对于 Type(类型),接受 Public hosted zone(公有托管区域)的默认值。
- 在右窗格的底部,选择 Create hosted zone(创建托管区域)。
在子域的托管区域中创建记录
要定义您希望 Route 53 如何路由子域 (acme.example.com) 及其子域(如 backend.acme.example.com)的流量,请在子域的托管区域中创建记录。
对于在托管区域中为子域创建记录,请注意以下事项:
- 请勿在子域的托管区域中创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录,且请勿删除现有的 NS 和 SOA 记录。
- 在子域的托管区域中创建子域的所有记录。例如,如果您有 example.com 和 acme.example.com 域的托管区域,请在 acme.example.com 托管区域中创建 acme.example.com 子域的所有记录。这包括 backend.acme.example.com 和 beta.backend.acme.example.com 等记录。
- 如果域 (example.com) 的托管区域已包含属于子域 (acme.example.com) 的托管区域中的任何记录,则在托管区域中为子域复制这些记录。在流程的最后一步中,您稍后删除域的托管区域中的重复记录。
有关更多信息,请参阅 使用记录。
更新域的托管区域
当您创建托管区域时,Route 53 会自动为该区域分配四个名称服务器。托管区域的 NS 记录标识响应域或子域的 DNS 查询的名称服务器。要开始使用子域的托管区域中的记录路由 Internet 流量,您应在域 (example.com) 的托管区域中创建新的 NS 记录,用子域 (acme.example.com) 名称为其命名。对于 NS 记录的值,您应从子域的托管区域指定名称服务器的名称。
下面介绍当 Route 53 从子域 acme.example.com 或其子域之一的 DNS 解析程序中收到 DNS 查询时将发生的情况。
- Route 53 在域 (example.com) 的托管区域中进行查找,并找到子域 (acme.example.com) 的 NS 记录。
- Route 53 从域 (example.com) 的托管区域中的 acme.example.com NS 记录获取名称服务器,并将这些名称服务器返回到 DNS 解析程序。
- 解析程序向 acme.example.com 托管区域的名称服务器重新提交针对 acme.example.com 的查询。
- Route 53 使用 acme.example.com 托管区域中的记录响应此查询。
要配置 Route 53 使用子域的托管区域路由子域的流量并从域的托管区域中删除所有重复记录,请执行以下过程:
配置 Route 53 使用子域的托管区域(控制台)
- 在 Route 53 控制台中,获取子域的托管区域的名称服务器:
- 选择域 (example.com,而非子域) 的托管区域的名称。
- 选择创建记录。
- 选择 Simple routing(简单路由),然后选择 Next(下一步)。
- 选择定义简单记录。
- 指定以下值:
- 选择 Define simple record(定义简单记录),然后选择 Create records(创建记录)。
- 如果域的托管区域包含您在子域的托管区域中重新创建的任何记录,则从域的托管区域中删除这些记录。有关更多信息,请参阅 删除记录。
完成后,子域的所有记录应在子域的托管区域中。
为其他级别的子域路由流量
您可以将流量路由到子域的子域 (如 backend.acme.example.com),采用的方式与您将流量路由到子域 (如 acme.example.com) 相同。要么在域的托管区域中创建记录;要么为更低级别的子域创建托管区域,然后在该新的托管区域中创建记录。
如果您选择为低一级子域创建单独的托管区域,请在与域名更近一级的子域的托管区域中为低一级的子域创建 NS 记录。这有助于确保将流量正确路由到您的资源。例如,假设您需要路由以下各子域的流量:
- subdomain1.example.com
- subdomain2.subdomain1.example.com
要使用另一个托管区域来路由 subdomain2.subdomain1.example.com 的流量,您需要执行以下操作:
- 创建名为 subdomain2.subdomain1.example.com 的托管区域。
- 在 subdomain2.subdomain1.example.com 的托管区域中创建记录。有关更多信息,请参阅 在子域的托管区域中创建记录。
- 复制 subdomain2.subdomain1.example.com 托管区域的名称服务器的名称。
- 在 subdomain1.example.com 托管区域中,创建一个名为 subdomain2.subdomain1.example.com 的 NS 记录,并粘贴 subdomain2.subdomain1.example.com 托管区域的名称服务器的名称。
此外,删除 subdomain1.example.com 中的任何重复记录。有关更多信息,请参阅 更新域的托管区域。
创建此 NS 记录后,Route 53 开始使用 subdomain2.subdomain1.example.com 托管区域来路由 subdomain2.subdomain1.example.com 子域的流量。
使用托管区域
托管区域是一个记录容器,记录中包含的信息说明您希望如何路由特定域(如 example.com)及其子域(acme.example.com、zenith.example.com)的流量。托管区域与相应域具有相同的名称。有两种类型的托管区域: